現(xiàn)在越來越多的創(chuàng)業(yè)公司都想找全棧工程師,因此市場上就出現(xiàn)了很多偽全棧工程師,特別是學會了Node的前端工程師,前端工程師會Node就全棧了?這嚴重不符合我對全棧工程師的理解,這篇文章我主要是說下我對全棧工程師的個人看法。在我眼里,全棧工程師是下能玩硬件和驅動,上能寫網(wǎng)頁和js,中間能玩轉服務器和數(shù)據(jù)庫,沒事還能自己做個安卓或iOS App, 對IT系統(tǒng)有著全面深刻的理解,熟悉所負責項目的整體技術棧。
我認為全棧工程師的特質應該有以下幾個:強大的解決問題能力;廣博的知識面,快速學習能力,不給自己設限,主動學習新技術;熟悉多種編程語言,熟悉整個系統(tǒng)從上到下的技術實現(xiàn)。
強大的解決問題能力
我覺得強大的解決問題能力是全棧工程師最重要的素質,也是全棧工程師的核心能力。
全棧工程師的解決問題能力,應該不局限于軟件研發(fā)中碰到的技術問題,范圍可以擴展到工程和科學相關的問題。這一點我們要向國外的極客大神們學習,國外很多極客具備硬件,軟件,網(wǎng)絡和人工智能等領域的全方位能力,例如無人機領域的大神拉菲羅·安德烈。亞馬遜運營中心里酷炫的、數(shù)以萬計的Kiva機器人,就出自他手。公司被亞馬遜收購后,這位“瘋狂”的科技極客把注意力投向了無人機領域,三年時間研制出全球首個全向無人機。2015年獲得“電子工程領域的諾貝爾獎”的IEEE機器人和自動化國際會議大獎,被人稱為成為無人機之父。
在軟件開發(fā)過程中所遇到的問題,真正的技術問題只占一部分,很多問題可能是工程或管理方面的問題。全棧工程師善于用全領域的知識積累從更本質的層面上找到解決問題的辦法,而不是局限于某一種技術上尋求解決方案。例如前段時間遇到的HTML5 Hybrid App在某些安卓手機上兼容問題,最終的解決方案就是修改js代碼,而是直接把Cordova的webview內(nèi)核換成了騰訊X5內(nèi)核,這個如果沒有全棧技術能力是不可能做到的。
快速學習能力,不給自己設限,主動學習新技術
全棧工程師應該時刻保持開放的心態(tài),主動學習新技術,能夠快速進入新技術領域。廣博的知識面有助于通過類比和知識遷移的方式,提高學習掌握新技術的速度。
例如做Java Web后端可以去熟悉前端開發(fā)的技術。做安卓開發(fā)的可以去學習iOS開發(fā)。做iOS的可以去學習下HTML5移動開發(fā),研究下js。
我們現(xiàn)在計算機體系其實都是相通的,不同的編程語言體系,不同的操作系統(tǒng)平臺,同樣的任務或技術架構的處理方式可能是類似的,因此全棧工程師
現(xiàn)在我們已經(jīng)進入了移動互聯(lián)網(wǎng)的下半場,未來的大趨勢是人工智能,全棧工程師對于人工智能,機器學習,深度學習等領域也要盡早準備學習了。
熟悉多種編程語言,熟悉整個系統(tǒng)從上到下的技術實現(xiàn)
我個人認為全棧工程師至少要熟悉5種編程語言,工作中不能只用一種特定編程語言。
現(xiàn)在TIOBE排行榜上主流的編程語言Java, C/C++, C#, Python, Javascript, PHP,Ruby,OC等都應該熟悉,Groovy,Scala,Go,Swift,Kotlin等相對比較新的編程語言也應該熟悉或了解幾種。這樣就可以根據(jù)具體情況(項目特質和團隊情況)選擇合適的技術棧,而不是整個系統(tǒng)只能用一種語言完成。當然了,大的項目具體的代碼肯定應該由團隊分工合作完成,但全棧工程師還是應該對項目整個技術棧具備一定的掌控力。
做Java Web應用的全棧工程師,應該熟悉Java,Javascipt,CSS,HTML,SQL,XML等常用語言,并且熟悉常用的前后端技術框架,例如Spring,JPA,Mybatis,Jquery,AngularJs,React等。用PHP,Python,Ruby,微軟.net等技術棧做Web應用的應該也類似。
做移動互聯(lián)網(wǎng)應用的全棧工程師,應該熟悉Android,iOS開發(fā)或微信開發(fā),以及服務器端接口的開發(fā),這樣才能做到溝通無障礙。
全棧工程師的錢景和前景
成為一名真正的全棧工程師需要經(jīng)過長期的持續(xù)學習和不斷折騰,其中的甘苦只有自己知道。但和數(shù)年堅持一個領域的專家型人才相比,在薪酬方面全棧工程師可能并沒有優(yōu)勢,這是可以理解的,因為在就業(yè)市場上,特別是像BAT這些比較大的公司,傾向于給行業(yè)頂級水平的人才很高的報酬,這符合贏者通吃的社會法則。而全棧工程師,由于關注和學習的領域太多,有限的精力必然被分散,導致在某個特定領域會比不上領域專家,因此在職業(yè)生涯早期和中期并不容易拿到足夠高的收入。
從長期回報看,全棧工程師在架構師,CTO,技術合伙人等高端技術職務上會比領域技術專家更有優(yōu)勢,全面的技術背景有助于做出更加全面客觀的技術架構和決策,從而對所在組織產(chǎn)生很大的正面影響。
對于創(chuàng)業(yè)公司,全棧工程師發(fā)揮空間會更大,多面手的特長可以幫助團隊快速完成早期技術產(chǎn)品,成為公司創(chuàng)始人或技術合伙人,發(fā)展前景會很大。每一個全棧工程師,都有過一個創(chuàng)業(yè)夢。能否創(chuàng)業(yè)成功,在于是否有足夠的勇氣,綜合能力和機遇。
真正的全棧工程師,對新技術有著強烈的好奇心,敢于不斷地走出自己的舒適區(qū),勇敢進入新的技術領域!
-
工程師
+關注
關注
59文章
1571瀏覽量
68562
發(fā)布評論請先 登錄
相關推薦
評論