大約在 2013 年,“全棧開發(fā)”這個詞開始出現(xiàn)在招聘描述和博文之中。很多公司也意識到,雇用一個僅僅精通一種語言的開發(fā)者已經(jīng)不能滿足需求了。一個能處理各種任務(wù)和環(huán)境的 Web 開發(fā)者相當有用,這也開始成為了(公司人才招聘)的規(guī)范。
盡管如此,網(wǎng)絡(luò)架構(gòu)知識并未普及。很多開發(fā)人員雖然做過網(wǎng)站建設(shè),卻對“幕后”知識并沒有很好地領(lǐng)會,(比如)Web 表單、高速緩存、HTTP 協(xié)議、Apache 等。這些(知識)都是次要掌握的。
在線學(xué)習(xí)對就業(yè)市場的影響
大概是受幾年前開始興起的在線學(xué)習(xí)的影響,自學(xué)的 web 開發(fā)人員對于底層技術(shù)的了解少的驚人。面向編程語言的課程不能全面覆蓋 web 的知識,導(dǎo)致學(xué)生完全不知道 htaccess 文件是做什么的,或者怎樣去重啟 Unix 的守護進程,或者不同類型的 POST 編碼是如何 工作的。
那么,一個全棧開發(fā)人員都應(yīng)該知道一些什么(知識)呢?在工作描述中提及的通常是前端和后端技術(shù)的結(jié)合,像是JavaScript 和 Node、PHP 和 jQuery、Angular 和 Spring 等等。其實,在這個范圍以外,還有相當多的信息可以提升個人建站的能力。那些固步自封,僅憑單一技術(shù)就能做出一番事業(yè)的日子已經(jīng)一去不復(fù)返了。
如果只堅守你(所掌握的技術(shù))已經(jīng)不再能滿足需求,那我們要怎么辦呢,我們?nèi)绾尾拍芨?web 庫以指數(shù)形式在增長的速度?如今,已推出的軟件實在太多了,導(dǎo)致了技術(shù)間組合的可能性也在急速增加。這種組合的爆發(fā)將會把軟件開發(fā)推向一個特別的領(lǐng)域。你所了解的使用技術(shù) Y 和 Z 來解決問題 X 的幾率在逐漸減小,而且 Google 可以為你提供的幫助也在以同等速率降低。這些做法很快就要行不通了。
被譽為“編程界的搖滾明星”的 John Carmack 的文章中介紹了這個非常有趣的概念(反脆弱性)。我節(jié)選了《反脆弱性(Antifragile)》這本書中的一段,它是這樣描述的:
“就像人的骨頭在施以壓力時會變得更加強壯,流言和騷亂越是試圖掩蓋反而越會加劇一樣,生活中的很多事會得益于壓力,失序,波動和混亂。 塔雷伯所稱的“反脆弱性(antifragile)”的意思就是,不但要從混亂中有所收獲,而且還需要(依靠)它來生存和繁榮”。(譯注:塔雷伯,知名思想家,經(jīng)驗主義者,金融業(yè)人士,風(fēng)險工程學(xué)教授、哲學(xué)隨筆作家,以《黑天鵝效應(yīng)》一書聞名于世。來源:維基百科)
這個想法反映了曾被叫做“黑客”的這樣一些人的態(tài)度。現(xiàn)如今,這個詞有了負面含義,但是在早些時候,它指的是對科技抱有某種態(tài)度的一類人。正如在行話中定義的那樣,黑客是“享受探索可編程系統(tǒng)的細枝末節(jié)和不斷延伸自己能力的一類人,他們與大多數(shù)只按照最低需求來學(xué)習(xí)的用戶完全相反?!?/p>
曾經(jīng)有一段時間,當你有問題的時候去 Stack Overflow 查找是找不到解決辦法的,很多軟件即使有文檔也都不可讀。我記得小時候曾試圖修復(fù)一個聲卡,當我閱讀這個聲卡的手冊時,只找到了匯編代碼和中斷代碼。這是黑客蓬勃發(fā)展的環(huán)境,這也是我們遲早要回歸的(環(huán)境)。當你想解決一個涉及到多種技術(shù)的復(fù)雜問題,你的第一反應(yīng)是去 Google 搜索,那你就應(yīng)該重新考慮一下你的工作習(xí)慣了。
確實,很多時候好奇心太盛會把你指向錯誤的道路上去,尤其是在這種時間永遠不夠的企業(yè)環(huán)境中。比如,在學(xué)習(xí)一個新的庫的時候,用它來寫一些基本用例會使你大有啟發(fā)。但是想要討老板歡心的程序員會選擇更實在的途徑,即從文檔中直接復(fù)制實例,其實完全不知道它(這個庫)的工作原理。作為開發(fā)人員來提供(自身)價值,需要一定的時間管理和期望設(shè)置的技能,為的是讓你可以探索你需要的知識,從長遠上節(jié)約公司的成本。
重新思考黑客這一角色
如何去找到黑客?你需要尋找這樣一些人,他們有我所描述的特定的心態(tài),獨特的好奇心和堅持(的品質(zhì))。無關(guān)分析能力,也無關(guān)是否能記住一系列特定的學(xué)術(shù)算法,所以,在白板上徒手寫算法的這種考察方式是行不通的,考察其費米估算的能力似乎也不是那么行之有效(也不能合理猜測出這個人是否是一個黑客)。(你可以)問一個候選人他在空閑時間都喜歡做什么,或是他會把什么有趣的項目作為愛好,你可能會有所發(fā)現(xiàn)。我見過很多程序員,他們在業(yè)余時間不喜歡寫代碼,這已經(jīng)非??煽康仫@示出他們是水平欠佳(低于平均水平)的程序員。
如果你是一個開發(fā)人員,你可能會擔(dān)心自己沒有那種動力或好奇心,那么對此你能做些什么呢?
這里有一些指引:
每當你需要 Google 一些錯誤信息或問題,請閱讀完所有答案,獲取與問題相關(guān)的盡可能多的信息,不要只是滿足于找到一個解決方法。
了解一項技術(shù),也要知道在它的設(shè)計和開發(fā)之中所做的權(quán)衡。
捫心自問,如果你想成為一個「全面」的開發(fā)者,你需要什么(技能),寫下你達成目標所需要走的路徑。
做其他人不愿去做的事,去其他人不想去的地方,你終將從這些經(jīng)歷中獲得啟發(fā)。
軟件開發(fā)領(lǐng)域正在飛速發(fā)展,學(xué)習(xí)編程也變得前所未有的容易。我們將會生活在一個適者生存的環(huán)境之中。但最后的成功者不會是第一個學(xué)會(使用)酷炫的新框架的人,而是那個思考這個框架新在哪里,(與從前的框架)有什么不同之處的那個人。如果你想跟上技術(shù)棧的更新的步伐,那就要停止對不能跟上時代的擔(dān)心,開始像黑客一樣去探索吧。
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
71069
發(fā)布評論請先 登錄
什么是BSP工程師
硬件工程師:這才是真正的大學(xué)生就業(yè)指導(dǎo) #電子 #硬件工程師 #電子愛好者 #晶振 #揚興科技
想成為硬件工程師?我教你?。∧愕孟葘W(xué)會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
新編電氣工程師手冊
全棧工程師的定義
評論