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





















