經(jīng)驗貼 | 大廠里的算法崗和開發(fā)崗有什么區(qū)別
開發(fā)崗需要做的是根據(jù)具體需求來搭建/維護(hù)對應(yīng)的線上模塊,寫代碼實現(xiàn)線上邏輯。具體而言,開發(fā)崗更像純粹的“工程師”,需要根據(jù)需求來進(jìn)行功能開發(fā)、測試、代碼上線,比如在召回等某個模塊修改個代碼邏輯以推進(jìn)某個業(yè)務(wù)上線。由于每項工作都是目標(biāo)確定,工作量也是可以直觀衡量的,所以工作確定性很強(qiáng),產(chǎn)出也比較確定。一旦需求比較多時,就會堆時間加班解決,而加班多工作量肯定會更多,成績一般也更突出。所以,開發(fā)崗更多是“身體累”。 算法崗的目標(biāo)主要是通過各種手段提升對應(yīng)指標(biāo),比如推薦系統(tǒng)的點擊率、轉(zhuǎn)化率、用戶停留時長等。舉上面例子來說,是通過優(yōu)化召回、粗排、精排等策略/模型結(jié)構(gòu),優(yōu)化模型訓(xùn)練數(shù)據(jù),對接新業(yè)務(wù)優(yōu)化業(yè)務(wù)指標(biāo)等各種不同方式來提升指標(biāo)。到了現(xiàn)在算法已經(jīng)接近瓶頸時,算法會過得非常難受,每個優(yōu)化點不一定會有用(大多是無效的),需要反復(fù)提出新方案、優(yōu)化、排查指標(biāo)、再提出新方案不斷循環(huán)直到拿到某個收益點。有時改幾行代碼結(jié)果帶來收益,有時又投入巨大工作量也沒收益,所以,這方面工作量和工作目標(biāo)上更不好量化,算法崗更多是“心累”。
算法需要熟悉各類機(jī)器學(xué)習(xí)/深度學(xué)習(xí)算法知識、各類策略、比較前沿的新算法/模型,除此之外,現(xiàn)在對算法的工程能力要求也是越來越高,基本的架構(gòu)(比如上面說的公司內(nèi)部推薦/廣告算法各個模塊的代碼)、架構(gòu)開發(fā)基礎(chǔ)(C++,Java等)、數(shù)據(jù)開發(fā)(spark等、flink)。主要原因一方面是簡單的模型優(yōu)化已經(jīng)很難拿到收益了,新開發(fā)的算法逐漸更復(fù)雜,想要讓模型更合乎預(yù)期就需要對架構(gòu)很熟悉方便模型設(shè)計、指標(biāo)排查、提出新方案等,另一方面,也是為了快速迭代,開發(fā)同學(xué)需求太多做不完的時候,算法崗不可能干等著別人開發(fā),自己動手完成一部分簡單開發(fā)能夠保證工作正常推進(jìn)。 開發(fā)崗則需要對架構(gòu)知識、開發(fā)基礎(chǔ)等各種知識比算法同學(xué)更深入,具體哪部分技術(shù)重要取決于具體的開發(fā)崗位。
由于前幾年ai太火,各個專業(yè)都往“算法”上轉(zhuǎn),當(dāng)年削尖腦袋進(jìn)算法各方向的學(xué)生這兩年也開始批量畢業(yè)。因此,顯而易見的是算法崗面試會更內(nèi)卷一些,尤其是cv、nlp等偏研究性質(zhì)且落地場景不多的算法崗位。目前推薦/廣告算法還不算卷,主要原因是沒有平臺導(dǎo)致很少學(xué)校會專門研究這兩個方向。面試上主要還是看以往的算法項目經(jīng)驗及對算法本身的理解、算法基礎(chǔ)知識、刷題等。 開發(fā)崗種類比較多,比如后端、前端等,而且根據(jù)不同業(yè)務(wù)可能又會使用不同的技術(shù)棧(比如一些用C++,另一些用go等)。開發(fā)崗是硬需求,每個公司都需要且數(shù)量不少,所以內(nèi)卷程度會比算法輕。面試上,也都大同小異,主要也是問過往項目,基礎(chǔ)知識(對應(yīng)開發(fā)方向的)以及刷題。
https://www.zhihu.com/question/490150407/answer/2173649548
https://www.zhihu.com/question/490150407/answer/2158935592
https://www.zhihu.com/question/490150407/answer/2164598780
https://www.zhihu.com/question/490150407/answer/2166902713
評論
圖片
表情
