我又被BAT的算法工程師給拒絕了
今天,我又被BAT的算法工程師給拒絕了,是的,你沒看錯(cuò),是被算法工程師給拒絕了。
或許,更確切的說是被大騰訊的算法工程師給拒絕了,應(yīng)該是第四個(gè)還是第五個(gè)吧。
這也是沒法子的事,在大深圳要找數(shù)據(jù)挖掘的、找做算法的人才,基本除了騰訊這個(gè)算法造血基地,其他廠子也不是說沒有,相對(duì)會(huì)比較少而已。
就跟小高中生表白似得,我都說我“喜歡你”了,然后你說“我認(rèn)真想了下,感覺我們?cè)谝黄鸩皇呛芎线m”,/捂臉,好尷尬呀~~
聽到這里,或許很多小伙伴還是有點(diǎn)小懵逼,我大概描述已下劇情吧。
部門在招數(shù)據(jù)挖掘工程師,當(dāng)然,你也可以看做是算法工程師,然后深圳大廠基本可看的只有大騰訊了,所以,最終過了條件初篩,基本很多都是來自于鵝廠的了(當(dāng)然,也有其他渠道的)。
由于找的是相對(duì)偏中高級(jí)的算法工程師,所以,基本上能滿足以下幾個(gè)條件,基本過的可能性還是蠻大的:
1 三五年工作經(jīng)驗(yàn),意味著他經(jīng)歷的項(xiàng)目足夠多,很多算法、或者說單個(gè)方向都有比較多的累積。
2 出身鵝廠,本身就有背景背書。
3 項(xiàng)目經(jīng)歷與崗位需求相匹配,意味著方向不會(huì)偏離,技能復(fù)用性相對(duì)較高,淌坑填坑也會(huì)比較熟練 。
能滿足以上幾點(diǎn),再加上人品沒問題、思維不死板,性格沒啥毛病,基本過的概率還是蠻大的。
但關(guān)鍵是人家不給過呀。
當(dāng)然,跳槽換坑本身就是一個(gè)雙向選擇,你認(rèn)可了人家的經(jīng)驗(yàn)、技能、人品、性格等一系列屬性,人家也需要認(rèn)可你的條件,包括公司方向、團(tuán)隊(duì)情況、項(xiàng)目情況、薪酬福利等等一系列的東西。
只有“兩情相悅”了,這事才能繼續(xù)整下去。
而我所能保證就是,我們數(shù)據(jù)團(tuán)隊(duì)絕對(duì)是一個(gè)優(yōu)秀的團(tuán)隊(duì),會(huì)有自己的思維、創(chuàng)造力、想象力,并且如果你能加入俺們部門,你所做的事也是有意義的,并且有比較高度的自主性、挑戰(zhàn)性,會(huì)有足夠的空間去釋放你的“小宇宙”。
至于其他,我的可控性確實(shí)會(huì)差點(diǎn),但我依然可以有一些建議。
比如,公司的方向,當(dāng)他們說2017年是內(nèi)容變現(xiàn)的元年時(shí),我司在2016年就已經(jīng)開始在做這個(gè)事了,至于說我認(rèn)不認(rèn)可這個(gè)事,最起碼我還在崗,說明目前還是認(rèn)可的。
而這個(gè)崗位給的薪酬,應(yīng)該說是高于其他崗位的,并且并不會(huì)比行業(yè)水平低(麻蛋,給的比我的還多),再加上中小公司亂七八糟的福利,所以說不上多好,肯定不壞就是啦。
此外就是,據(jù)我所了解到的一些情況,其實(shí)鵝廠給的單月薪酬并不算很高(算一般吧),最起碼在普通工程師級(jí)別(T2-3,T3以上可以達(dá)到leader層級(jí)了)那層,并不是很高,哪怕是做算法方向的,只不過年終獎(jiǎng)給的月份不少,但年終不是個(gè)固定值不是么,而且整體綜合算下來的話,也沒有想象中離譜啦。
至于其他的,好吧,不一一細(xì)說了,因?yàn)?,本文的主題,并不是這個(gè)(不會(huì)被人罵吧,說了半天,竟然告訴別人,主題是其他的,把我嚇得)~~
其實(shí)今天我想說的話題是,作為算法工程師或者說數(shù)據(jù)挖掘工程師崗位,在大廠與中小廠,有什么本質(zhì)的區(qū)別,又或者說從大廠出來的數(shù)據(jù)挖掘工程師,他們追求到底是什么?
或許有人會(huì)說了,屁話,當(dāng)然是金子了。
咱能不能不要這么俗,能不能說點(diǎn)有建設(shè)性的東西,比如追求技術(shù)啊什么的(其實(shí)我也好喜歡金子),追求理想啥的。
我們先來看看大廠的算法工程師一般都會(huì)做些什么工作。
當(dāng)然,我沒有在BAT待過,只是跟很多大廠出來的相關(guān)朋友聊過不少,所以一些情況還是了解一些,然后并且這里所說的算法工程師只是指普通部門普通的算法工程師,比如像騰訊人工智能實(shí)驗(yàn)室那種部門搞算法的,咱就不做討論了,一票子博士。
并且,這也算是我自己的一個(gè)理解吧,沒啥對(duì)不對(duì)的,認(rèn)不認(rèn)可無所謂,所以,如果有朋友要挑這個(gè)刺來噴口水就算啦。
大廠搞算法搞數(shù)據(jù)挖掘的專業(yè)大多對(duì)口,但普遍有“螺絲釘”現(xiàn)象。
注意,這里“螺絲釘”并不是一個(gè)貶義詞,是相對(duì)中性的詞,一方面是說這個(gè)“釘”釘?shù)淖銐蛏?,意味著其專業(yè)性是有保證的;另一方面,也意味著面會(huì)比較窄,就以鵝廠的T2-2/3這類的普通工程師來說,也是有比較明顯這些特點(diǎn)的。
當(dāng)然,凡是都是有特例的,我這里所述的只是我所觀測(cè)到的一般普眾情況。
也當(dāng)然,或許我說的是錯(cuò)的。
別不服,咱以實(shí)例說話。
以用戶畫像這個(gè)話題來說,相信鵝廠很多相關(guān)部門可能都在做,比如數(shù)平、比如廣告部門、比如其他XX部門,甚至有些業(yè)務(wù)部門都有自己的一套模式。
這也是沒有辦法的事,誰讓用戶畫像這個(gè)上層業(yè)務(wù)方向的可擴(kuò)展性這么大呢,只要標(biāo)簽挖掘的準(zhǔn),后續(xù)上層業(yè)務(wù)可做的事太多太多了。
用戶畫像一方面是體系結(jié)構(gòu)的設(shè)計(jì),另一方面其實(shí)就其本質(zhì)了,其實(shí)說白了還是信息標(biāo)簽化嘛,關(guān)鍵如何打上一個(gè)一個(gè)標(biāo)簽,以及不同標(biāo)簽的分層邏輯。
落實(shí)到底層實(shí)現(xiàn),其實(shí)最常用到的就是各種分類算法了,不同是數(shù)據(jù)源不同、處理方式不同、所使用的算法不同等等。
在鵝廠,一般諸如用戶畫像這種研究方向都是幾個(gè)人的小組完成的,那我們就以這個(gè)實(shí)操來簡(jiǎn)單的說一下上面的觀點(diǎn)。
這個(gè)小組他不需要關(guān)注數(shù)據(jù)是從哪里來的,因?yàn)樗麄円步佑|不到,所以他們肯定不會(huì)涉及到這些基礎(chǔ)數(shù)據(jù)的收集、匯總、清洗相關(guān)的工作。
因?yàn)檫@些基礎(chǔ)原始數(shù)據(jù),已經(jīng)有合作部門,或者其他小組處理好提供到了他們那里。
涉及到算法,很多時(shí)候他們并不需要去實(shí)現(xiàn)各種算法,因?yàn)楹芏鄷r(shí)候他們的前輩已經(jīng)封裝好了符合業(yè)務(wù)的算法庫供他們調(diào)用(這里說一下,大廠一般會(huì)更喜歡自己去寫、封裝一些算法庫,以達(dá)到定制、以及高可控的目的),即使沒有,也有其他的小組或者部門專門干這事。
他們寫好的分類器,需要實(shí)際的跑大批量數(shù)據(jù)時(shí),已經(jīng)有現(xiàn)成別人搭建好的平臺(tái),供他們?nèi)フ{(diào)用,實(shí)際的把結(jié)果跑出來。
甚至,他們都不需要去做工程化的事,因?yàn)樗麄児こ袒牧鞒潭家呀?jīng)封裝好,只需要配置好分類器的服務(wù)入口,再配置好處理流程,直接提交任務(wù)即可,他們接觸不到里頭數(shù)據(jù)是具體如何流向的、實(shí)際的工程化過程是怎樣的。
OK,到了這一步,已經(jīng)所有該出來的標(biāo)簽都出來了,畫像也算搞定了,那么然后呢,然后就完了呀。
他們的畫像交付到另外一些小組,或者部門,至于畫像具體怎么進(jìn)一步使用,用在什么場(chǎng)景,怎么做變換,他們是不知道的,或者說是不care的,了不起到時(shí)候會(huì)拿到ABtest的效果,來做進(jìn)一步優(yōu)化指導(dǎo)。
我們來看一下整個(gè)流程,他們會(huì)錯(cuò)過很多東西,比如數(shù)據(jù)源的處理變換、集群平臺(tái)級(jí)的認(rèn)知、工程化的實(shí)際流程、算法解決的實(shí)際業(yè)務(wù)問題等等。
這也就是我所說的,技能點(diǎn)相對(duì)會(huì)比較單一,面會(huì)比較窄的原因。
當(dāng)然,也并非沒有優(yōu)勢(shì),比如,他們接觸到的數(shù)據(jù)量級(jí)會(huì)更大( 不過這點(diǎn)單從畫像這個(gè)方向看,優(yōu)勢(shì)不大,反倒做前期數(shù)據(jù)處理、后期工程化的環(huán)節(jié)更能感受到),其次是會(huì)有更多的時(shí)間來專研算法,在某個(gè)點(diǎn)上更有深度。
就比如我這種半路出身,非藍(lán)翔畢業(yè)的渣渣,是絕對(duì)不敢在他們面前妄談算法理論的,但也不是說沒法談下去了。
比如在實(shí)際問題與算法模型的轉(zhuǎn)換上、在實(shí)際業(yè)務(wù)模型量化上、在整個(gè)數(shù)據(jù)流程的架構(gòu)上,我相信我可以把大部分人秒成渣渣,因?yàn)槲医佑|的足夠多,了解的足夠多,看的足夠多,想的足夠多。
比如,我在一個(gè)鵝長(zhǎng)算法工程師的面試中,就曾于他們廣點(diǎn)通用戶畫像算法工程化這部分質(zhì)疑過。
他們以監(jiān)督式的方式訓(xùn)練好分類器之后,將其部署成一個(gè)分類器服務(wù),只要調(diào)用這個(gè)服務(wù)即可獲得分類結(jié)果。
而他們實(shí)際的算法工程化流程是,HDFS->XX消息隊(duì)列(名字忘了他們自己寫的)->Storm,然后Storm里調(diào)用分類器服務(wù),最終把所有數(shù)據(jù)的結(jié)果處理出來。
我當(dāng)時(shí)就問:你們的數(shù)據(jù)每天都是離線周期性從其他部門導(dǎo)出來的,那為何要設(shè)計(jì)成這種模式,明明是離線的批量數(shù)據(jù),非得走M(jìn)Q加Storm這種流式處理的方式,你們數(shù)據(jù)量這么大何時(shí)才能跑完一天的全量數(shù)據(jù)?
確實(shí)是的,這種模式其實(shí)就是一個(gè)離線批量計(jì)算的過程,在批量計(jì)算的過程中調(diào)用分類器服務(wù),離線跑即可,當(dāng)然,前提是你的分類器服務(wù)需要支撐的其這種并發(fā)量,或者說性能足夠好。
好像有點(diǎn)叉題了,回到之前的話題,不止是用戶畫像這個(gè)例子,很多其他部門也一樣的。
比如一些提供基礎(chǔ)數(shù)據(jù)的部門,他們只負(fù)責(zé)大批量的數(shù)據(jù)清洗規(guī)整,至于說這些數(shù)據(jù)到底后續(xù)怎么被使用,其實(shí)他們是不關(guān)注的。
而平臺(tái)運(yùn)維部門,他們只關(guān)心平臺(tái)有沒有問題,資源夠不夠,也不會(huì)關(guān)心集群中到底跑了什么業(yè)務(wù)。
而偏上層的一些部門,比如就以使用畫像做廣告投放的部門來說,他們不關(guān)注畫像是怎么生成的,只要畫像的精度足夠準(zhǔn),他們只需要關(guān)注上層的投放算法邏輯即可。
所以,你會(huì)發(fā)現(xiàn),每一個(gè)塊都是分離的,你只需要專注某一個(gè)點(diǎn)即可,對(duì)于一般人來說,其目光是難以覆蓋到整個(gè)流程的。
“螺絲釘”雖然“釘”的深,但如果層級(jí)不夠,真的就只是一顆“螺絲釘”而已。
那么,在來看一看,同樣的崗位,在中小公司情況是怎么樣的?
首先,他們需要解決的首要是業(yè)務(wù)問題,以業(yè)務(wù)為驅(qū)動(dòng)導(dǎo)向。
比如,我們依然是需要做廣告的精準(zhǔn)投放,那么,我們需要算法工程師,或者說數(shù)據(jù)挖掘工程師,去拆解這個(gè)業(yè)務(wù)目的,把實(shí)際業(yè)務(wù)問題,轉(zhuǎn)換為模型問題。
廣告的精準(zhǔn)投放,又落實(shí)到標(biāo)簽的匹配問題,以及各種上層的篩選排序相關(guān)的邏輯,往下追溯,標(biāo)簽將落實(shí)到畫像層級(jí),所以,我們又需要解決如何繪制畫像。
繪制畫像,我們不止需要關(guān)心使用的算法問題,還需要關(guān)心如何把數(shù)據(jù)拿過來,如何將數(shù)據(jù)進(jìn)行預(yù)處理,然后如何將算法進(jìn)行工程化,需要考慮數(shù)據(jù)的批量處理問題,需要考慮算法在實(shí)際的工程化中數(shù)據(jù)規(guī)模,并發(fā)等一系列問題。
在這些過程中,由于很難有封裝好的算法庫,或者說也沒有這個(gè)時(shí)間去做算法的封裝,只能上開源的東西了,所以需要你對(duì)外界的信息又有足夠的了解,或者說有快速從外界獲取知識(shí)的能力。
各種封裝性肯定會(huì)差一些,所以,你必然也會(huì)涉及到一些集群的操作,那么,一些底層的linux操作也是繞不開的。
所以,一般中小公司的算法工程師,將會(huì)額外的接觸其他的一些知識(shí),而不是在算法這個(gè)點(diǎn)上做足夠多的研究 ,他需要了解數(shù)據(jù)處理的流程、需要做算法的研究建模、需要了解業(yè)務(wù)、需要快速學(xué)習(xí)、需要學(xué)會(huì)實(shí)際的生產(chǎn)工程化等等。
其實(shí)一直以來,我都潛意識(shí)的把算法工程師和數(shù)據(jù)挖掘工程師分成兩類職業(yè),在我認(rèn)為算法工程師更多的專注于某個(gè)點(diǎn)的研究,即明確的問題如何做的更細(xì)致,這就有點(diǎn)像在大廠搞算法的同志。
而數(shù)據(jù)挖掘工程師,顯然其所接觸東西會(huì)更多,并且以實(shí)際業(yè)務(wù)為導(dǎo)向,結(jié)合算法模型來解決實(shí)際的問題,其中必然會(huì)涉及各種數(shù)據(jù)流程、工程框架,工程化等一系列的問題,算法將只是這其中的一環(huán)而已,這更像是在中小公司使用算法來解決實(shí)際問題的人。
那么,這兩種人哪種會(huì)好點(diǎn)呢?
好吧,其實(shí)這個(gè)問題有點(diǎn)小傻逼,并沒有什么優(yōu)劣之分,一個(gè)更加專注,能夠把問題解決的更徹底;另一種更加的復(fù)合,能夠快速的把實(shí)際問題加以轉(zhuǎn)化,更加的效率。
就比如目前炒的比較火的人工智能來說,他們對(duì)一個(gè)研究方向就是作死的研究(很大一部分時(shí)候,他們并不關(guān)注當(dāng)前的研究是否會(huì)帶來直接的商業(yè)價(jià)值),所以,他們所需求的必然都是那種高度專業(yè)、專注的人才,所以BAT的人工智能實(shí)驗(yàn)室啥的,都是博士集中營(yíng)。
但是,對(duì)于一般的中小企業(yè)來說,他們更多的是以快速解決實(shí)際問題為目的,注意,其中有兩個(gè)關(guān)鍵詞,“快速”、“解決實(shí)際問題”。
那么,他們必然是需要在有限的時(shí)間窗口期,以算法來解決實(shí)際的問題,提升效率。
所以,對(duì)于技能高復(fù)合還是有一定要求的,他們需要的整個(gè)挖掘的項(xiàng)目流程,而不是單個(gè)算法的點(diǎn)。
最后,我們?cè)賮矸治鲎詈笠粋€(gè)問題,對(duì)于諸如鵝廠T2-2/3類似級(jí)別的算法同志來說,從大廠出來,到底是為了什么?或者說能得到什么?
我們知道,鵝廠的T2-3有很多,但是到了T3級(jí)數(shù)目就少了下來,因?yàn)門3是可以當(dāng)leader的了,但狼多肉少,所以出走是一種對(duì)于很多人來說是一種很必然的方式。
其次,在個(gè)人技能加點(diǎn)上,就跟玩游戲似得,你在一個(gè)兩個(gè)技能點(diǎn)上死命的加點(diǎn),對(duì)于特定很多場(chǎng)合可能無往不利。
但是,很多時(shí)候我們所處的環(huán)境是多變的,面對(duì)的事務(wù)也是復(fù)雜多樣的,所以,我們?cè)趯?duì)于某個(gè)領(lǐng)域有足夠多的累積之后,適當(dāng)?shù)亩鄬W(xué)一些技能,提升自己的綜合素質(zhì),提高自己的外界生存能力。
我想,在未來,除了部分專門的一些特殊領(lǐng)域,對(duì)于大部分人來說,在某一方向有深度、其他方面又有廣度的復(fù)合型人才肯定是很受歡迎的。
所以,對(duì)于那些大廠子里要走出來的朋友,是的,外面的世界很精彩,是時(shí)候去看看了。
接觸不同的人,接觸不同的事,重要的尋找一份更有掌控力、成就感的工作,加上自己所缺少的技能點(diǎn),去感受更開放的世界。
【本文為51CTO專欄作者“黃崇遠(yuǎn)”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】