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

全棧開發(fā)進(jìn)階指南:LuatOS-log庫從入門到實(shí)戰(zhàn)!

解鎖LuatOS-log庫:全棧工程師的日志管理實(shí)戰(zhàn)課!


(仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師



STM32虛擬仿真系統(tǒng):零基礎(chǔ)小白到嵌入式全棧工程師的進(jìn)階秘籍

【嵌入式學(xué)習(xí)利器】STM32全流程虛擬仿真系統(tǒng),零基礎(chǔ)小白到軟硬件全棧工程師的修煉之路

底層開發(fā)與應(yīng)用開發(fā)到底怎么選?

硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實(shí) #YXC晶振 #揚(yáng)興科技

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師


評論