<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          知乎 | 算法崗和開發(fā)崗有什么區(qū)別?

          共 6116字,需瀏覽 13分鐘

           ·

          2023-07-28 07:06

              
          點擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂
               
          重磅干貨,第一時間送達(dá)
          鏈接:https://www.zhihu.com/question/490150407
          編輯:深度學(xué)習(xí)與計算機視覺
          聲明:僅做學(xué)術(shù)分享,侵刪
          作者:如雪
          https://www.zhihu.com/question/490150407/answer/2164415753
          圍城外的人,可能會以為開發(fā)崗是工地里搬磚的,而算法崗是類似建筑師指導(dǎo)別人搬磚的。但實際上,這種感覺肯定是不對的。互聯(lián)網(wǎng)公司發(fā)展到現(xiàn)在,算法崗和開發(fā)崗本質(zhì)更像是兩種不同型號的螺絲釘,只是處于流水線位置不同而已。并且,很多算法崗需要做的工程量也越發(fā)像開發(fā)崗看齊,已經(jīng)遠(yuǎn)不是當(dāng)個“調(diào)包俠”就能過關(guān)的了。

          先說下開發(fā)崗和算法崗在職責(zé)上的區(qū)別,以一般的推薦/廣告系統(tǒng)為例,有數(shù)據(jù)庫 -> 召回 -> 粗排 -> 精排 -> 混排 -> 前端等上下游模塊。

          • 開發(fā)崗需要做的是根據(jù)具體需求來搭建/維護(hù)對應(yīng)的線上模塊,寫代碼實現(xiàn)線上邏輯。具體而言,開發(fā)崗更像純粹的“工程師”,需要根據(jù)需求來進(jìn)行功能開發(fā)、測試、代碼上線,比如在召回等某個模塊修改個代碼邏輯以推進(jìn)某個業(yè)務(wù)上線。由于每項工作都是目標(biāo)確定,工作量也是可以直觀衡量的,所以工作確定性很強,產(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)上更不好量化,算法崗更多是“心累”。

          在能力上,算法需要了解很多算法領(lǐng)域的知識,但是對工程能力的要求也逐漸與開發(fā)崗看齊。

          • 算法需要熟悉各類機器學(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ā)崗位。

          最后談下這二者面試情況,大體上說算法崗有一定泡沫,內(nèi)卷比較嚴(yán)重,開發(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ā)方向的)以及刷題

          至于未來發(fā)展,個人努力是比不過時代潮流的,碰到好的業(yè)務(wù)好的領(lǐng)導(dǎo)算法能夠很容易帶來業(yè)務(wù)增長,那么個人上升速度也會很快。開發(fā)崗也是同理,選擇一個好的平臺,好的團(tuán)隊比選擇開發(fā)崗還是算法崗更重要。

          上面主要是以互聯(lián)網(wǎng)公司中推薦/廣告算法崗位和開發(fā)崗進(jìn)行比較的,其他還有偏研究類型的cv、nlp等算法崗,這里就不再多說了。


          作者:AI蝸牛車
          https://www.zhihu.com/question/490150407/answer/2173649548
          有這么幾個維度的不同,其中有我個人的總結(jié),以及和周圍一些做開發(fā)的同學(xué)聊的。

          1.薪資待遇

          前幾年的時候算法崗可能要比開發(fā)崗位薪資待遇更多。

          這幾年逐漸趨于平齊,但是還是有很多公司依然是同等級情況下,算法>開發(fā)。
          并且可以參照很多人才計劃,例如阿里星,美團(tuán)北斗,快star,還有騰訊大咖。
          大多數(shù)都是給了算法類,其實也有一些給了所謂的“開發(fā)”,但我個人覺得那些不算開發(fā),應(yīng)該叫研發(fā),就是里面其實有很多高并行,以及調(diào)度算法在,比如分布式存儲方向等等,但是這類方向在學(xué)校很難接觸到(然而是目前企業(yè)稀缺的)

          2. 工作類型

          算法崗有純粹的research,那種就是讀論文,搞模型,寫論文的,偏向高校的學(xué)術(shù)研究。

          這種工作可能和開發(fā)類差距非常之大。
          但是如果是算法“工程師”,其實所謂算法工程師的理解其實就是用算法工程解決問題。
          而開發(fā),一般來說就是用開發(fā)邏輯解決問題。
          本質(zhì)上都是解決問題工程師,然而算法可能算法的環(huán)節(jié),思想更多,開發(fā)亦然。
          可以看看這個回答:
          https://www.zhihu.com/question/485065074/answer/2109345799

          3. 技術(shù)棧

          這個區(qū)別我個人感覺很關(guān)鍵。
          開發(fā)的話本身技術(shù)棧相對來說寬泛,比如只要我后端學(xué)的牛,我可以去面很多核心部門。
          然而對于算法來說,方向偏細(xì)分,比如你想拿到不錯的offer,最好的前提是方向match,match的話可能事半功倍,但是話說回來,這其實是相對來說很難得,比如時空序列,也有氣象背景和交通的,細(xì)節(jié)還是有差距的,比如cv的細(xì)分領(lǐng)域更多了去了,推薦也分文本的,視頻流的等等,所以總體面試可能就較局限(相對開發(fā)來說)

          4. 崗位需求

          開發(fā)無疑是更多的,算法無疑是更少的,并且這兩年早已沒之前那么大泡沫。
          這個其實也能理解,比如做一個app,如果是一個軟件首先你需要把這個開發(fā)系統(tǒng)構(gòu)建起來,就需要很多開發(fā)的人,而算法可能是之后的事情。

          5. 難度

          算法無疑是更難的。
          會發(fā)現(xiàn)周圍在大佬中比率更高的方向都是AI,最終從事算法崗工作的基本上大多數(shù)都是在周圍眼中相對來說優(yōu)秀的,當(dāng)然開發(fā)也有很多大佬,這里只能用相對來說。
          并且各行各業(yè)中的高學(xué)歷(這里指清北),很多學(xué)習(xí)數(shù)學(xué)和經(jīng)管,以及物理專業(yè)的都來從事這個方向,別看他們也是非科班,但是有的學(xué)習(xí)能力足夠強,再加上學(xué)習(xí)AI其實大家都是從頭開始,還不像開發(fā)需要知道那么多計算機基礎(chǔ)知識,只需要英文以及數(shù)學(xué)過關(guān),其他就是看自己的學(xué)習(xí)和理解能力了,所以他們并不會弱勢,反而很多人學(xué)的很牛逼,導(dǎo)致整體占坑多了。

          作者:Ambersky
          https://www.zhihu.com/question/490150407/answer/2158935592
          本人工作title是算法工程師,實際工作中大約是50%的算法+50%的開發(fā),平時也會和朋友討論何謂算法,何謂開發(fā)。

          從我一個入職不到一年的菜雞算法角度來看,算法崗?fù)娴氖?strong>數(shù)學(xué)關(guān)系,開發(fā)崗?fù)娴氖?strong>邏輯關(guān)系。

          開發(fā)崗的職責(zé)是搭建一個產(chǎn)品的所有邏輯,從底層的到頂層的。前端頁面之間的跳轉(zhuǎn)邏輯,后端與數(shù)據(jù)庫之間的交互邏輯,前后端的交互邏輯,這些是開發(fā)崗需要做的。比方說我的產(chǎn)品是某視頻平臺,那么打開呈現(xiàn)的界面,點擊視頻進(jìn)入到播放頁面,注冊賬號修改信息等操作,都是開發(fā)崗?fù)瓿傻摹?/span>

          算法崗的職責(zé),顧名思義就是算法,算法分很多種,機器學(xué)習(xí),數(shù)據(jù)挖掘,NLP,CV,推薦等都是常見的算法領(lǐng)域。算法崗很多情況下是某個產(chǎn)品的核心,在產(chǎn)品中負(fù)責(zé)某個非常細(xì)分的點,或是為某個關(guān)鍵功能提供支持。回到視頻平臺的場景,每次刷新推薦頁都有新的視頻出現(xiàn),如何確定刷新過后推薦給用戶什么視頻,是推薦算法做的事。一個算法會經(jīng)歷很多輪迭代,會有很多算法工程師抓著頭皮想著怎么優(yōu)化,多做些特征工程?參數(shù)再調(diào)優(yōu)一下?換個更合適的模型?等等。這些操作,更多的是數(shù)學(xué)關(guān)系,比方說需要關(guān)注數(shù)據(jù)集的分布情況,相關(guān)性矩陣,模型損失函數(shù)等。

          當(dāng)然也有很多算法是研究方向,我舉的例子不過是一小部分。

          畢業(yè)不久眼界也比較狹隘,如有不準(zhǔn)確之處也望大佬們指正輕噴。

          作者:kuadoh
          https://www.zhihu.com/question/490150407/answer/2164598780
          在目前大環(huán)境下,從收入方面出發(fā),算法和開發(fā)基本沒有啥區(qū)別。(17年前后隨著深度學(xué)習(xí)爆火,起薪上一開始是算法崗更高)

          下面從算法崗的角度談?wù)勛约旱睦斫狻K惴◢徶饕槍Φ氖菬o法通過直接編程進(jìn)行解決的問題(主要是非結(jié)構(gòu)化的輸入,如圖像,語音,文字等的識別。如果通過人為地寫if-else規(guī)則去處理這類輸入,程序?qū)⒆兊梅爆嵢唛L且不一定能夠覆蓋所有情況),需要將它轉(zhuǎn)化為一個數(shù)學(xué)問題進(jìn)行建模后,結(jié)合標(biāo)注的數(shù)據(jù)進(jìn)行該數(shù)學(xué)問題求解,用得到的數(shù)學(xué)模型(某個函數(shù)y=f(x)一般是個概率函數(shù))。

          而開發(fā)崗負(fù)責(zé)的就是能夠結(jié)構(gòu)化的輸入了,需要處理的情況也是相對固定的。以一個人臉識別接口為例,開發(fā)崗負(fù)責(zé)的部分可能會包括,將需要識別餓圖像進(jìn)行壓縮,然后通過網(wǎng)絡(luò)發(fā)送到服務(wù)器上解壓縮,然后將圖像輸入算法模塊得到的結(jié)果通過網(wǎng)絡(luò)傳回客戶端。如何承受短時間大量的人臉圖像輸入同時服務(wù)器不宕機,客戶沒感覺到卡頓,就是常見的后端開發(fā)崗需要解決的問題了。

          像別的答案提到的那樣,開發(fā)崗?fù)巧眢w累,而算法崗是心累。開發(fā)崗面對的問題往往是比較明確的(怎么更快地處理輸入并保持準(zhǔn)確),能通過代碼分析和debug找到問題所在,然后通過扎實的CS基礎(chǔ)知識解決或者堆機器解決,舉個簡單的例子,比如說我有一份幾十pb的數(shù)據(jù)需要找到top100,但是我內(nèi)存放不下,可以通過堆排序的思想進(jìn)行處理;或者有錢的直接使用很多機器進(jìn)行分布式處理快速解決。

          但是對于算法的一些問題,因為目前常用的算法模型是一個黑盒,往往是難以定位和解決的,沒有一套所有情況都適用的方案。比如說一個動物識別程序?qū)⒛持还科孀R別成了狼,這種bad case的原因是沒有一個明確的理論另外分析的,解決的方法一般也只是對這類情況增加更多的訓(xùn)練樣本或者嘗試更先進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)。總結(jié)就是算法面對的不確定性更大。


          作者:關(guān)建淳Arvin
          https://www.zhihu.com/question/490150407/answer/2166902713
          先來說說算法崗,通常涉及到算法的崗位有兩個,分別是算法設(shè)計和算法實現(xiàn),現(xiàn)在有不少團(tuán)隊把這兩個崗位進(jìn)行合并,做算法設(shè)計的同時也要負(fù)責(zé)實現(xiàn)。但是也有一些團(tuán)隊是分開的,做算法設(shè)計的不管實現(xiàn)過程。從工作的復(fù)雜性上來說,算法工程師的工作強度還是比較大的,但是算法工程師的職業(yè)周期也比較長。

          很多算法工程師最終成長為企業(yè)的首席科學(xué)家,或者是首席技術(shù)官等崗位,可以說算法工程師的發(fā)展前景是非常可觀的。

          再來說說開發(fā)崗。其實軟件團(tuán)隊的大部分崗位都是開發(fā)崗位,有前端開發(fā)、后端開發(fā)、移動端開發(fā)等,可以說大部分程序員做的都是開發(fā)崗的工作。與算法崗位不同的是,開發(fā)崗位人數(shù)多,占比大,而且大部分開發(fā)崗位的職業(yè)周期都比較短,一般開發(fā)崗位在做到一定年齡(比如35歲)之后都會轉(zhuǎn)型。

          一部分會轉(zhuǎn)向項目經(jīng)理等管理崗位,一部分會轉(zhuǎn)型做架構(gòu)師,還有一部分轉(zhuǎn)型為行業(yè)咨詢專家等,當(dāng)然,也有一部分開發(fā)人員轉(zhuǎn)型為算法工程師。

          算法崗和開發(fā)崗哪個前景更好?其實只要技術(shù)到位,這兩個崗位未來的發(fā)展前景都不可限量。

          如何成為一名優(yōu)秀的程序員,做好以下兩點非常重要:一方面要立足本職工作,另一方面也要緊跟技術(shù)發(fā)展趨勢,通過崗位提升和自主學(xué)習(xí)不斷完善自身的知識結(jié)構(gòu),從而提升自己的職場競爭力。

              
          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號后臺回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 3351
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  热热色热热色 | 台湾无码精品 | 黄色片网站免费观看 | 日日干日韩 | 影音一区二区三区 |