諸葛越:關(guān)于算法工程師職業(yè)發(fā)展的思考

整理 | 吳雪松 校對(duì) | 王大川
我今天的分享不會(huì)給大家指出具體的路徑,因?yàn)槊總€(gè)人和每個(gè)公司都不一樣,但希望通過提出一些具體的問題,引發(fā)算法工程師/研究員群體對(duì)未來職業(yè)發(fā)展的思考,最終找到一條適合自己的職業(yè)發(fā)展路徑。
我今天的分享會(huì)分為三部分:
公司組織架構(gòu)
人才模型
值得思考的問題
很多人可能會(huì)有疑問,聊個(gè)人職業(yè)發(fā)展為什么要先介紹公司的組織架構(gòu)?它和職業(yè)發(fā)展有什么關(guān)系呢?我想說不僅有關(guān)系,關(guān)系還挺大。首先,每個(gè)公司的組織架構(gòu)都不同,不同的架構(gòu)決定了不同的晉升通道,第二,職業(yè)路徑規(guī)劃是為了在職場(chǎng)上走的更高更遠(yuǎn),所以脫離實(shí)際的晉升通道談規(guī)劃是不實(shí)際的。你在做職業(yè)路徑規(guī)劃時(shí),首先就要了解所處公司的架構(gòu)情況,明確可能的職業(yè)路徑有哪些,然后才能確立目標(biāo)并為之計(jì)劃和執(zhí)行。
接下來我就簡(jiǎn)單介紹下三種常見的組織架構(gòu):

第一種是AI LAB。這種模式在大公司很常見,老牌的有以MSRA為代表的外企研究機(jī)構(gòu),國內(nèi)的如百度的深度學(xué)習(xí)研究院、阿里達(dá)摩院、頭條的AI LAB等。AI Lab可以算是工業(yè)界中頂級(jí)的人工智能研究機(jī)構(gòu),匯聚了眾多的業(yè)界大牛和頂尖人才,做出很多根植于工業(yè)界的研究貢獻(xiàn)。在這樣的結(jié)構(gòu)下,你向上走需要具備的技能和產(chǎn)出、能達(dá)到的高度肯定與在研發(fā)線的同學(xué)是不一樣的。

第二種的AI團(tuán)隊(duì)是在研發(fā)線,位于CTO下面,支持不同產(chǎn)品線和公司級(jí)別的AI需求。對(duì)這個(gè)架構(gòu)下的AI團(tuán)隊(duì),公司希望它提供的是一種通用的類似于中臺(tái)的能力。

第三種的AI團(tuán)隊(duì)位于不同的產(chǎn)品線上,這種結(jié)構(gòu)在大公司常見。產(chǎn)品線比較豐富,且用戶量較大,因此需要有專門的AI團(tuán)隊(duì)進(jìn)行支持。比如在現(xiàn)場(chǎng)與我溝通的一個(gè)小朋友,他是騰訊看一看團(tuán)隊(duì)的算法實(shí)習(xí)生,聽他介紹了解到騰訊里面團(tuán)隊(duì)分工很細(xì)致,算法團(tuán)隊(duì)和工程團(tuán)隊(duì)是分開的,算法團(tuán)隊(duì)又分為獨(dú)立的召回團(tuán)隊(duì)和排序團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)在自己的方向上做的很精細(xì)。

以上三種結(jié)構(gòu)是比較普遍的,大家可以對(duì)照想一想你們團(tuán)隊(duì)在哪個(gè)架構(gòu)下面,你又在團(tuán)隊(duì)的什么位置上。兩三年后你肯定是想往上晉升的,那在現(xiàn)有的晉升通道下需要具備什么樣的技能和產(chǎn)出呢?在向上呢,還需要怎么做?繼續(xù)向上又如何呢?這些都是需要大家提前思考的。

接下來給大家介紹一下人才模型,在給定了公司架構(gòu)后,你要怎么做呢?大家可以看這個(gè)圖,一個(gè)大寫的字母“T”。這是我經(jīng)常給Hulu的同事講的,我們要想象我們的技能就像一個(gè)“T-shaped”。也可以比喻為大家熟識(shí)的“wide&deep”算法,就是你要走多寬,你要走多深。

有一類人,尤其是我們今天的受眾,應(yīng)該是傾向于偏深的,從而成為一個(gè)專家型人才。比如有一個(gè)人,他想成為一個(gè)專家,我們對(duì)話如下:
我問:5年之后你想干什么?
他答:我想做一個(gè)專家;
我問:那10年之后呢?
他答:更專的專家。
想成為專家很好,但只說專家是不夠的,假如說要成為Machine Learning的專家,好像有點(diǎn)太泛了。所以接下來還要問自己另外一個(gè)問題,那就是我要“專”什么?對(duì)于技術(shù)同學(xué)來講,大概有三個(gè)維度上的專家:
第一,某一項(xiàng)技術(shù)的專家。比如說我是強(qiáng)化學(xué)習(xí)方向的專家,我對(duì)強(qiáng)化學(xué)習(xí)演進(jìn)的歷史特別清楚,過往的技術(shù)點(diǎn)有哪些,未來可能的研究趨勢(shì)有哪些,更重要的是我還為這項(xiàng)技術(shù)的發(fā)展做出過某些重要的貢獻(xiàn)。那我就算是強(qiáng)化學(xué)習(xí)的專家了,這是一個(gè)很確定的。
第二,某一技術(shù)領(lǐng)域的專家。比如說CV是一個(gè)技術(shù)領(lǐng)域,這個(gè)領(lǐng)域里有很多特定的算法,雖然我不是某一特定算法的專家,但是我都了解,更關(guān)鍵的是我可以利用這些成熟的算法解決特定的業(yè)務(wù)問題,這也是一類專家;例如推薦系統(tǒng)也是一個(gè)領(lǐng)域,也可以成為這個(gè)領(lǐng)域的專家。
第三,某一商業(yè)領(lǐng)域的技術(shù)專家。比如說拿商業(yè)廣告來說,它包含了一整套的技術(shù),例如說怎么優(yōu)化網(wǎng)上廣告的配型,比如說怎么做廣告的個(gè)性化推薦等,你不僅都知道還可以帶領(lǐng)團(tuán)隊(duì)搞定整個(gè)系統(tǒng)的問題,所以你也可以成為這一商業(yè)領(lǐng)域的算法專家。
如果你想成為一個(gè)專家,那到底是你想成為上述三種的哪一種呢?有過思考嗎?

我們接下來說第二類,與專家相對(duì)應(yīng)的是偏寬度,簡(jiǎn)稱為“雜家”吧,也有三個(gè)維度:
第一,全能型算法工程師;這類工程師的學(xué)習(xí)能力特別強(qiáng),給他任何一個(gè)問題,都能通過快速學(xué)習(xí)掌握相關(guān)知識(shí)點(diǎn),然后把問題解決;再拋給他另一個(gè)完全不同的問題,依然可以快速解決。其實(shí)在某些類型的企業(yè)或者某些階段的企業(yè),給算法工程師營造的工作學(xué)習(xí)環(huán)境就是這樣的,你沒有辦法決定精專一個(gè)方向,因?yàn)槊刻於家鎸?duì)各種層出不窮的問題,且都需要你盡快解決。但是大家可以想象在這種環(huán)境長期發(fā)展下去的話,對(duì)算法工程師長期發(fā)展會(huì)造成什么影響;
第二,可能不完全包含算法工程師,在特定的領(lǐng)域內(nèi),你對(duì)數(shù)據(jù)全流程都了解,對(duì)數(shù)據(jù)怎么從頭到尾應(yīng)用到機(jī)器學(xué)習(xí)領(lǐng)域都了解,有點(diǎn)數(shù)據(jù)科學(xué)家的意思。
第三類,在大廠或者大平臺(tái)有過豐富的經(jīng)驗(yàn),用同樣的算法解決不同量級(jí)的問題;相較于其他沒有相關(guān)經(jīng)歷的算法工程師,你知道怎么去處理更大的問題面對(duì)更大的挑戰(zhàn),這是很重要的優(yōu)勢(shì)。
總結(jié)來說,即使說你什么都能干,也要想一想是在一個(gè)什么樣的框架下處理什么樣的問題。

再說第三類,還有些人在特定階段要走向管理,轉(zhuǎn)向管理需要具備的技能與前兩類又不一樣。
其實(shí)當(dāng)你已經(jīng)是一個(gè)領(lǐng)域的專家后,大家都會(huì)在繼續(xù)走專家線還是走向管理線間有過思考和搖擺。但是不管你最終走向何方,一定要知道適合的才是最好的。怎么判斷自己更適合哪個(gè)呢?那就需要把專家線和管理線對(duì)人才模型的要求搞清楚。專家線前面已經(jīng)說過,我們?cè)诮榻B下管理人才需要具備的技能。
第一點(diǎn),“學(xué)而優(yōu)則仕”。怎么理解呢?只有那些已經(jīng)成為技術(shù)專家的人,才有選擇的機(jī)會(huì)。轉(zhuǎn)管理是有門檻的,發(fā)展路徑會(huì)一般是技術(shù)專家-技術(shù)leader-管理。;
第二點(diǎn),需要學(xué)習(xí)相應(yīng)的軟技能。這個(gè)涵蓋的范圍還挺大,簡(jiǎn)單列舉些:如何招人、如何用人、如何保人,領(lǐng)導(dǎo)力,溝通能力,項(xiàng)目管理能等等。
如果你未來想要走向管理崗,在技術(shù)上一定要有建樹,還要提前學(xué)習(xí)和儲(chǔ)備相應(yīng)的軟技能,而不是轉(zhuǎn)過之后在補(bǔ)充。
03
1. Deep and wide, which domain?
這個(gè)問題在之前討論過,大家可以回顧下。希望你在平時(shí)對(duì)這個(gè)問題就有深入的思考,不要到三五年之后被問到的時(shí)候回答“我還沒有想好”。找不到方向時(shí),往哪個(gè)方向走都是錯(cuò)誤的。
2. How much do i want to work with people? And how good am i?
大部分人都有轉(zhuǎn)管理的想法,但是你一定要清楚做研發(fā)與做管理是很不一樣的。簡(jiǎn)單提醒幾點(diǎn):
第一,何時(shí)選擇轉(zhuǎn)管理?如何從技術(shù)專家過渡到管理崗位?這是需要面對(duì)的第一個(gè)問題;
第二,如何獲取團(tuán)隊(duì)的信任?是不是只要你的技術(shù)足夠強(qiáng),就可以獲取團(tuán)隊(duì)成員的認(rèn)可和尊敬,就可以把老板交代的任務(wù)都干好。是不是真的是這樣子的?
第三,如何盡快進(jìn)入管理角色?你要充分意識(shí)到管理工作更多是和人打交道,包括上級(jí)老板、一起配合的兄弟團(tuán)隊(duì)以及你所帶領(lǐng)的團(tuán)隊(duì)成員,涉及到很多與人溝通的細(xì)節(jié),你該如何應(yīng)對(duì)。
3. How to balance engineering skills vs research skills?
這個(gè)問題是算法工程師群體們普遍都會(huì)遇到的,算法研究能力or工程能力。您在其中一個(gè)方向上成為專家是沒有問題,企業(yè)都會(huì)有合適的位置給到你。但如果你想走到更高的職級(jí),就需要不斷拓寬與現(xiàn)有工作相關(guān)的技術(shù)棧。大家可以回到開頭講的團(tuán)隊(duì)架構(gòu)圖,你會(huì)發(fā)現(xiàn)在組織的特定層級(jí)的特定位置,算法研究和工程能力會(huì)結(jié)合起來,這就要求位于這個(gè)位置的人必須兼顧兩個(gè)方向,兩個(gè)方向都要通,否則很難做到把兩個(gè)方向的團(tuán)隊(duì)帶好。
隨著近兩年算法崗位的成熟,有一種說法重新被大家認(rèn)同,那就是“算法工程師首先是一名工程師”,可見對(duì)算法工程師工程能力的重視已經(jīng)是普遍的觀點(diǎn)了。
4. How to balance working on the real problems vs exploring advanced tech?
對(duì)于這點(diǎn),它不是一邊好于另外一邊的問題,更多的是環(huán)境塑造或者個(gè)人偏好。尤其近幾年,企業(yè)對(duì)算法應(yīng)用的需求激增,但偏偏人才供給短期內(nèi)又很難被滿足,導(dǎo)致很多算法同學(xué)一個(gè)項(xiàng)目接一個(gè)項(xiàng)目的做下去,解決了一個(gè)又一個(gè)的實(shí)際問題,在這個(gè)過程中自然積攢了大量的實(shí)際經(jīng)驗(yàn);但是另外一些身在Ai Lab的算法同學(xué)就不一樣了,頂會(huì)paper一篇接一篇的發(fā),保持著對(duì)新技術(shù)新發(fā)現(xiàn)的持續(xù)跟進(jìn)。你很難說一個(gè)好過另外一個(gè),需要認(rèn)清個(gè)人更喜歡哪類工作,以及在特定的環(huán)境下做符合預(yù)期的事情。
5. How to develop methodology over time so you can solve larger and more complex problems?
最后是關(guān)于發(fā)展個(gè)人方法論的問題,這個(gè)問題我在內(nèi)部也經(jīng)常提起。拿我們團(tuán)隊(duì)舉例子,你是團(tuán)隊(duì)的一個(gè)reasearcher,業(yè)界一些前沿的技術(shù)成果都跟上了,那你如何才能在此基礎(chǔ)上做的更好呢?
大家可以思考這樣一個(gè)問題,工作經(jīng)驗(yàn)分別為1年、5年、10年的三個(gè)工程師在解決同一個(gè)問題時(shí)的差別是什么呢?結(jié)果可能都一樣,那就是問題都被解決了,但真正的差別在于大家看問題的角度和維度不一樣。作為工作經(jīng)驗(yàn)久的工程師,你看到的不應(yīng)該僅僅是問題的表面,更要看到問題的前因后果,以及其他與此相關(guān)的事情。為什么會(huì)這樣呢?因?yàn)橥ㄟ^多年的工作積累,資深的工程師已經(jīng)有了解決問題的框架,可以把問題放在框架下拆解分析,最后找到解決問題的方法。
隨著工作年限的增加,大家一定要總結(jié)并提煉出與工齡相匹配的方法論,否則你是無法對(duì)“后浪”形成競(jìng)爭(zhēng)優(yōu)勢(shì)。形成了自己的方法論后,不僅可以更高效的應(yīng)對(duì)老問題,還能從容的面對(duì)新問題。為什么會(huì)呢?因?yàn)槔蠁栴}可以直接套用現(xiàn)有解決方案,效率肯定提高;面對(duì)新問題時(shí),將問題放在現(xiàn)有的方法論下進(jìn)行拆解,很快也會(huì)找到方案。你一定要知道,隨著職級(jí)增加的不僅是收入,還有需要處理問題的數(shù)量。如果沒有積累,你在應(yīng)付激增的問題時(shí)會(huì)顯得很吃力。
今天的分享就到這里,希望通過這些問題引發(fā)你對(duì)職業(yè)發(fā)展的思考,早日找到適合自己的發(fā)展路徑,謝謝大家~
--end--
掃描下方二維碼
添加好友,備注【交流】 可私聊交流,也可進(jìn)資源豐富學(xué)習(xí)群
