IT技術(shù)資料庫
輸入機構(gòu)/課程/服務(wù)名稱

工程師與算法工程師的區(qū)別是什么?

2021-12-09 13:38:41
# IT技術(shù) # IT行業(yè)

合格的工程師

工程師在一個團隊中的角色是problem solver,也就是為了達到產(chǎn)品或者系統(tǒng)設(shè)定的目標,去把設(shè)想變成現(xiàn)實的人。除了扎實的專業(yè)能力之外,要進階還有以下幾個我覺得重要的方面:


項目中的全局觀


前面提到工程師在一個大的項目和產(chǎn)品中往往需要和不同角色配合,那么主動思考技術(shù)怎么能貢獻于整體項目目標就尤為重要。以項目目標為指揮棒,而不是自顧自地考慮所謂高大上的技術(shù)方案。用*簡潔的技術(shù)解決問題這恰恰是內(nèi)功的體現(xiàn)。甚至很多時候,由于各種客觀條件限制,沒法去選擇技術(shù)上*合理的方案來執(zhí)行。在此時如何取舍來達成目標,就更考驗工程師的智慧和全局觀了。


定義問題的能力


在工作中,我們遇到的問題會是多種多樣的。不像在學(xué)校,往往解決的是一個定義得非常清晰的通用問題。在工作中,由于產(chǎn)品和項目需求多樣,我們要解決的是一個特定場景中的細分問題或者是一個可能不復(fù)雜但是全新的應(yīng)用。雖有各種公開的論文或者代碼可以參考,但生搬硬套往往都不會是*優(yōu)方案。在解決問題之前,我們要先考慮清楚這個問題的輸入輸出是什么?和已有的通用問題區(qū)別是什么?有什么樣的先驗知識可以利用優(yōu)化問題或者簡化問題?來自產(chǎn)品的問題是怎樣抽象成一個嚴謹?shù)拿枋?準確地想清楚要做什么事情項目就已經(jīng)成功了大半。


獨立解決問題的能力


在解決問題的基礎(chǔ)之上,還有重要二字:獨立。學(xué)生時代以上課學(xué)習(xí)為主,非博士的同學(xué)可能很少能有獨當一面來解決問題的機會,過程中往往也多有指導(dǎo)。工作中,要解決的問題可大可小,但切記做一個讓同事和領(lǐng)導(dǎo)放心的靠譜的人。我們經(jīng)常會談到一個詞,管理成本。這并不是指一位同學(xué)具體解決問題的技術(shù)能力如何,而是在解決問題的過程中,你的leader和同事需要花費多少精力。管理成本越低的同學(xué),在解決問題過程中需要的指導(dǎo)精力越少。理想狀況下只需要leader交代清楚要解決的問題,便可在解決問題的過程中獨立規(guī)劃,自主溝通。如有困難,也可以整理好并及時主動提出需求。要達到這一點,其實是需要綜合以上所有的能力。


合格的算法工程師

最后的最后才會到算法工程師,這畢竟是*細分的環(huán)節(jié)。每個公司對算法工程師的定義不盡相同,所以就不談具體的技術(shù)細節(jié)了,只能從個人角度談?wù)?。有以下覺得比較重要的三個點:


優(yōu)秀的實現(xiàn)能力


這一點其實已經(jīng)老生常談了,算法工程師哪怕是算法科學(xué)家都需要有能力把想法變成runnable code。根據(jù)團隊分工和項目不同,有的需求是只需要證明想法可行,有的是需要一個prototype,有的也可能需要直接推到產(chǎn)品或者上線系統(tǒng)中去。無論是哪種情形,有優(yōu)秀動手實現(xiàn)能力的同學(xué)都會占有巨大的優(yōu)勢,哪怕就算是算法不可行,實現(xiàn)能力強的同學(xué)也可以快速試錯快速迭代。這樣的能力無論何時在何團隊都會是寶貴的。


除此之外,實現(xiàn)能力不僅僅局限于寫出來,寫的快,還應(yīng)該包括寫得好,寫得美。把代碼寫得簡潔易于維護,可能并不會直接幫助到算法研發(fā),但是從長期來說,這是在一個周期較長的項目中保持效率很重要的一點。


對前沿進展保持追蹤


算法工程師不同于其他職位的工程師,*起碼在現(xiàn)在這個階段技術(shù)迭代的速度是以月為單位的。所以保持前沿的追蹤是非常有必要的。但不同于做科研,算法工程師了解前沿的目的不一定是要在此基礎(chǔ)上繼續(xù)開拓創(chuàng)新,而是能對已有的技術(shù)深入理解,去偽存真,以便更好地在業(yè)務(wù)中為我所用。當然對待新技術(shù)也不應(yīng)該盲從,而應(yīng)該看清想清之后再動手。*好能有同事朋友針對paper進行討論和critique。


扎實的計算機原理基礎(chǔ)


不了解算法部署的平臺談研發(fā)高效的算法就像是空中樓閣。雖然這可能在初級算法的研發(fā)中并不明顯,但是會成為很多同學(xué)進階中的一道坎。這一點對于非科班轉(zhuǎn)行來做算法的同學(xué)尤甚。相比于應(yīng)試教育式的學(xué)習(xí),更重要的是理解系統(tǒng)為什么被設(shè)計成了現(xiàn)在這個樣子,在這樣的過程中做了什么樣的取舍,以及作為上層用戶這樣的取舍對算法設(shè)計意味著什么。所以不用擔(dān)心,補習(xí)工作中所需要的知識,這個工作量是遠比學(xué)習(xí)一遍本科計算機專業(yè)課要小很多的。

查看剩余內(nèi)容
loading
Hi,我是教育寶平臺顧問 添加我的微信,在查找或下載資料時,有任何問題,我會隨時為您解決~
loading
掃描二維碼 添加顧問微信

點贊

收藏

資深學(xué)習(xí)規(guī)劃師,免費幫您答疑解惑,定制學(xué)習(xí)方案
限時免費咨詢
教育寶IT技術(shù)頻道
教育寶致力于打造中國最專業(yè)的IT技術(shù)學(xué)習(xí)平臺,為IT技術(shù)學(xué)員、教育機構(gòu)、從業(yè)者和上下游搭建連接、互動、交流和賦能平臺。