“全棧開發(fā)工程師(full stack developer)”一詞經(jīng)常出現(xiàn)在企業(yè)招聘的崗位描述中。但Hello Pretty聯(lián)合創(chuàng)始人兼首席技術(shù)官Scott Hadfield在近日發(fā)表的一篇博文中指出,全棧開發(fā)工程師就是一個神話,即使不完全如此,用人單位也很難找到一個這樣的人。
為了進一步闡述這一觀點,他列出了下面這樣一個并不詳盡的“棧”:
用人單位對全棧開發(fā)工程師的預(yù)期遠遠超出一般人的能力。全棧開發(fā)工程師至少需要對棧中的每個組件都有足夠深入的了解,以便能做出明智的選擇及向管理層解釋。上圖所示的技能表每年每層都會增加新的組件,每隔幾年又會增加新的層。因此,Scott認為,在招聘時尋找全棧開發(fā)工程師不僅不合理,簡直就是愚蠢。
不過,Scott也承認,確實有人具備全棧能力。也有許多距離全棧尚遠,但仍然令人驚嘆的開發(fā)人員、設(shè)計人員和項目管理人員。而有些自稱全棧工程師的人也僅能列出上述一半多的組件,就更不用說組件之間的交互了。于是,他寫道:
我看到的幾乎所有使用全棧一詞的情況(尤其是在招聘海報中),用人單位真正的意思只是尋找“令人驚嘆的人”。
另外,Scott指出,全棧開發(fā)工程師或許根本就不應(yīng)該編寫代碼,而應(yīng)該更多地充當系統(tǒng)架構(gòu)師或集成工程師的角色。在使用“全棧開發(fā)工程師”這樣一個流行術(shù)語時,應(yīng)該說明是哪個“棧”,比如是Web棧,還是移動棧。
最后,Scott總結(jié)道:
全棧開發(fā)工程師就是一個神話,不是因為不存在這樣的人,而是因為這個術(shù)語沒意義。
Scott的博文在Hacker News上引發(fā)了激烈的討論。網(wǎng)友andrewstuart對“全棧開發(fā)工程師”的理解在參與討論的網(wǎng)友中具有一定的代表性:
我對全棧開發(fā)工程師的定義是,他們能夠自己構(gòu)建和部署一個完整的、可以工作的應(yīng)用程序,而不需要其他任何人的幫助。那意味著他們能夠編寫前端、后端代碼,能夠配置服務(wù)器,當然還能夠設(shè)計數(shù)據(jù)庫表。
不過,有網(wǎng)友認為運維技術(shù)也應(yīng)該是開發(fā)過程的核心部分。如果花費大量時間構(gòu)建的應(yīng)用程序因為運維細節(jié)無法按計劃部署,那會導(dǎo)致大量的返工。
有許多網(wǎng)友都持有與andrewstuart類似的理解,他們認為全棧開發(fā)工程師并不是一個神話。BadassFractal就是其中一例:
我就做全棧開發(fā),包括Ops(通過各種CM工具配置AWS并向上部署應(yīng)用程序……)、DB(PostgreSQL用了5年……)、后端(獨立構(gòu)建類似Rails的框架……)、前端(可以綜合運行原始DOM、Backbone及React)等所有這一切。
缺點是,我在其中任何一個方面都不是真正的核心專家,因此,其中任何一個領(lǐng)域中的任意一名優(yōu)秀專家都比我強。
BadassFractal的后一部分觀點頗具代表性。jvehent也認為,一個人可以成為全棧開發(fā)工程師,但卻無法成為一名全棧專家。對此,有網(wǎng)友指出,企業(yè)應(yīng)該給這兩種人都留有空間。另有網(wǎng)友表示,如果企業(yè)在招聘時只盯準了前端和后端均是專家級的開發(fā)人員,那非常可惜,因為在一個多人團隊中,他們?nèi)娴哪芰Σ⒉荒艿玫接行У陌l(fā)揮。
-
工程師
+關(guān)注
關(guān)注
59文章
1570瀏覽量
68514
發(fā)布評論請先 登錄
相關(guān)推薦
評論