如何評價全棧工程師

下面這篇文章屬於轉載,先給出出處:http://www.csdn.net/article/2014-01-21/2818203-Full-Stack-Engineer


讀過之後,最深刻的感覺是全棧工程師不應該被簡單理解成一種職位,或者說把它只當做IT技術大拿是片面的。全站工程師更多體現的是一種精神,一種做成一件事,實現自己腦海中的那個夢想的時,你全力以赴的衝勁。


所以,應該給自己一些警示:不要因爲工作生活的勞累,而讓自己跟着工作走,相反,應該讓工作成爲我們實現夢想的工具。簡而言之,朝着夢想去努力,而不是朝着找到好工作而努力。


下面給出原文:


全棧工程師會是未來的發展趨勢嗎?

發表於2014-01-21 09:4320451次閱讀| 來源CSDN69 條評論| 作者張紅月
allowtransparency="true" frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2014-01-21%2F2818203-Full-Stack-Engineer&type=3&count=&appkey=&title=%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%8F%AB%E5%85%A8%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%EF%BC%8C%E6%98%AF%E6%9C%80%E8%BF%91%E7%BD%91%E4%B8%8A%E5%BE%88%E6%B5%81%E8%A1%8C%E7%9A%84%E4%B8%80%E4%B8%AA%E8%AF%8D%E8%AF%AD%E3%80%82%E5%A6%82%E4%BB%8A%EF%BC%8C%E9%9A%8F%E7%9D%80%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E7%9A%84%E8%BF%85%E9%80%9F%E5%8F%91%E5%B1%95%E4%BB%A5%E5%8F%8A%E9%9C%80%E6%B1%82%E7%9A%84%E4%B8%8D%E6%96%AD%E5%8F%98%E5%8C%96%EF%BC%8C%E8%B6%8A%E6%9D%A5%E8%B6%8A%E5%A4%9A%E7%9A%84%E5%B7%A5%E7%A8%8B%E5%B8%88%E4%B8%8D%E4%BB%85%E6%98%AF%E6%9F%90%E4%B8%AA%E6%8A%80%E6%9C%AF%E9%A2%86%E5%9F%9F%E7%9A%84%E4%B8%93%E5%AE%B6%EF%BC%8C%E8%BF%98%E7%B2%BE%E9%80%9A%E5%85%B6%E5%AE%83%E9%A2%86%E5%9F%9F%EF%BC%8C%E9%9A%BE%E9%81%93%E8%BF%99%E5%B0%B1%E6%98%AF%E9%AB%98%E6%89%8B%E4%B8%8E%E8%8F%9C%E9%B8%9F%E7%9A%84%E5%8C%BA%E5%88%AB%E5%90%97%EF%BC%9F&pic=&ralateUid=&language=zh_cn&rnd=1432476176608" width="22" height="16">摘要:全棧工程師也可以叫全端工程師,是最近網上很流行的一個詞語。如今,隨着軟件技術的迅速發展以及需求的不斷變化,越來越多的工程師不僅是某個技術領域的專家,還精通其它領域,難道這就是高手與菜鳥的區別嗎?

最近,網上很流行一個詞:全棧(Full Stack)工程師,也可以叫全端工程師,無論是前端知識,還是後端架構你都要了解。甚至有些調皮的程序員這樣理解全棧工程師:全棧工程師=屌絲戰鬥機=系統+網絡+研發+dba+架構+安全=沒女朋友、拿一份工資做三份事情的典型、每個站長都是一個全棧工程師,每個站羣的站長都是超級全棧工程師。

以前,軟件工程師最在意的是成爲某個領域的專家或者高手,如今,隨着軟件技術的發展以及需求的變化,尤其是越來越多的程序員出來自己創業,由於各種條件限制,許多技術上的問題不得不親力親爲地去完成,因此,很多程序員慢慢地就練就了精通多門技術的本領。


該截圖來自 知乎網

這不,就有位程序員在知乎上提問:“ 怎樣成爲全棧工程師(Full Stack Developer)?,在OSCON會議上,一名Facebook的工程師說他們只聘請“全棧(Full stack)”的程序員。”此話題一出,引起了大家的熱烈討論。許多經驗豐富的工程師紛紛在下面留言,討論成爲全棧工程師的價值在哪裏,大家是否需要成爲全棧工程師,筆者就知乎上的精彩回答進行了整理,不妨一起來看下:

Cat Chen 


既然原文是說,Facebook工程師說Facebook只招Full Stack Engineer,那我就來說說Facebook Engineer都是怎樣的人。 

我覺得任何一方面的具體經驗都不重要,重要的是思維方式和學習能力。首先說思維方式,那就是不爲自己設限,不會想着自己是前端工程師,所以後端的東西我就一點也不碰。Facebook 的工程師,級別越高就需要保持越大的影響力。如何創造更大的影響力,就是尋找當前槓桿效應最明顯的問題來解決。有些問題你解決了的話,投入進去的時間每小時能換回來一千美元;有些問題你解決了的話,投入進去的時間每小時能換回來一百萬美元。然而哪些問題更值得解決,這是動態的,往往還存在衰減效應。如果現在性能瓶頸在後端,你做了一個季度兩個季度優化後,瓶頸就已經不在後端了,你再優化下去衰減效應就會越來越明顯。等瓶頸變成前端了,你是不是就說因爲你不懂,所以不願意碰?那就相當於寄望於公司有個前端很懂性能優化的人來解決,但如果公司沒有這樣的人那就沒有人來解決了。 

Facebook的衆多海報當中,有一張寫的是「任何一個Facebook 的問題,都不是別人的問題」。有問題,你就需要去評估是否值得解決。如果值得解決,你就應該着手去解決,而不是假設公司內會有另外一個人比你更合適解決這個問題。這時候很可能你就需要去做你從來沒有做過的事情,需要學習你原本可能完全不懂的技術。如果你是個專門做數學模型的博士,加入Facebook 原本是打算做搜索結果優化的,結果發現這不是最急需解決的問題,JavaScript 性能纔是最需要解決的問題,你怎麼辦?如果你以爲 Facebook 需要的是你做數學模型的經驗,那你就錯了。Facebook 需要的是你完成博士學位的學習能力。你從來沒做過JavaScript並且覺得JavaScript很噁心?正確的做法是立即在網上買幾本JavaScript入門的書連夜看完,然後着手分析性能瓶頸並且解決。在你完成手動優化後,你還可以思考一下能否把這做成自動化,例如說在代碼提交時分析JavaScript語法樹並且指出可能成爲性能瓶頸的地方,又或者說從用戶瀏覽器那裏收集性能數據扔到Hive然後再從中分析產生瓶頸的特徵。這些都可能涉及到一些你沒有做過也沒有學過的東西,但問題擺在那裏你就需要去解決,而無論這要求你去鑽研什麼。這就是我所說的學習能力。 

顧鵬


設計、後臺開發、前端開發、移動開發、運營維護、PS、文案... 好像都會了,這算Full Stack Engineer了麼? 

不,這只是踏上成爲Full Stack Engineer的第一步。你知道目前只是每個stack都懂一點,離senior或者expert還差得遠,而要每個stack都做到極致,需要大量的時間和精力。精力有限,產品開發緊迫,力不從心啊,這條道路也太孤獨,因爲你不需要與任何人進行協作。難道要把一些stack的任務交給別人做麼?這樣算是放棄成爲Full Stack Engineer麼?

不!這不是。什麼是Engineer?Engineer的本質工作是設計,開發出應用於大衆的產品。

一個真正的Full Stack Engineer,他從生活中發現問題,洞察需求,他設計解決方案,並開發出初始版本的產品。爲了達到目標,他願意去學習任何領域的技能和知識。同時他不追求一個人完成所有工作,如果有人可以比他在某方面做得更出色,便會十分熱情的邀請他們加入。 

最終他的職位也許不再是Engineer,他不再設計UI,不再寫代碼... 他的工作不再是設計/開發一款應用/產品,因爲他有更大更重要的任務要做——design and building a team or a company which builds great products。 

而這時,社會給了他們另一個稱呼——創業者。儘管衆人已忘記他們engineer的身份,但在他們骨子裏,內心深處,自己始終都是一個engineer。當他們需要從頭再來時,他們毫不猶豫從設計開發產品做起。Nikola Tesla,Ferdinand Porsche,Henry Ford,Jack Dorsey,Mark zuckerberg,Elon Musk... 細數那些改變了或正改變世界的創業者,他們大多數是engineer背景,熱衷於設計創造。他們學習技能和知識,不是爲了成爲某個領域的專家;而是因爲那些 是完成自己目標所需要的。 

李楠


Full Stack Developer在國內不被接受的一個主要原因是公司缺乏穩定的T線(技術職位晉升路線)。很多有才華的人寫了幾年代碼後去做了管理。今天的網絡相關技術,聰明又能持續學習的人,在三年之內可以在一個領域做到很高的水準。那麼如果你做五年,十年甚至十五年呢?我認爲成爲Full Stack Developer是很自然的選擇,而且可以跟隨最頂尖的技術。

Full Stack Developer的核心並非否定團隊和協作,而是更多的體現在架構設計,快速原型和TroubleShooting方面。隨着今天的分層越來越清晰,平臺和語言越來越有特點,更加全面的技術人員可以根據不同的語言搭建整個架構。

Full Stack Developer並非雜而全——Facebook也不會僱庸手。他要求的是一種更加全面的深入。 一方面,他是技術人員不斷學習的結果。另一方面,他也是對自己事業的一種責任。

kubisoft


既然叫工程師,就是應該負責技術的,而不只是寫代碼。

各方面的技術,各方面的技術架構。比如,關卡編輯器裏面的圖層該怎麼搭,如何定義?美工PS出來的圖片應該是什麼規格?這些都是技術架構,都是工程師要去做的。工程師應該幫美術做好圖,做好動畫;幫策劃做好關卡,填好數據;這纔是工程師。所有跟技術相關的東西,包括Photoshop的使用細節,3dmax的使用細節,都是工程師需要去搞定的。美術只是在工程師做好的基礎上讓它更漂亮更好看,策劃讓它更好玩。

如果只侷限在自己的代碼中,就只能是程序員。如果只關心客戶端而不關心服務器,就無法對技術負責,就只能是一個程序員。每一個實際問題,都有可能涉及各方面的技術。舉個例子來說,做格鬥網遊,要做出良好的打擊感,你就不僅要關心渲染技巧,還要關心美術特效,還要關心網絡,關心服務器應該傳送過來哪些數據,還要關心哪些東西是對玩家有用的必須表現出來的東西...當你的關注重心從代碼轉移到具體實際的問題的時候,就成爲了一個工程師了,繼續努力下去,就很容易變成全能的工程師。

知乎上的匿名用戶:


首先我覺得好的開發者,即使不是全棧,也要融會貫通多種技術。我從來不認爲一個只專精一種技術的人有可能成爲好的開發者,即使是C,即使是彙編。(當然其實反過來看,那些大神們哪個不會搞點其他的?比如幾個做服務器端開發的大神居然不懂服務器管理?) 

然後從廣度和深度的組合看,我認爲好的開發者大概有兩種類型: 

  1. 手術刀
  2. 代碼專家。
(來自《人月神話》) 

手術刀是業務驅動的,最需要全棧的人;他們的核心價值在於:懂業務,技術全面,都能拿的起來,而且能選擇最合適的技術。代碼專家是技術驅動的,即使不夠全棧也可以用,但是技能樹點的越多當然有好處。 

下面要講的是創業逼出來的全棧,對於創業團隊而言,手術刀更加重要,代碼專家要依靠各種開源組織的貢獻,或者臨時聘請。創業的最大需求技能是整合資源的能力,找合適的人做事的能力。 
所以我說的,是說對於我,種子期,天使期,最重要的都是我自己作爲手術刀,而不是資源整合者。

全棧工程師不是爲了工作本身,是爲了方便實現自己的夢。 

如果不是創業,我的價值可能也就是個2w 多工資的架構師或者技術經理,這個價格遠遠對不起我這13年的付出。一個真正的全棧工程師,目標只有一個:創業。 


看了上面的回答,你是否知道了如何成爲一名全棧工程師呢?關於該問題的更多討論,歡迎大家訪問知乎討論頁。(以上內容來自知乎網

隨着工作經驗的逐年增加,程序員/軟件工程師所接觸的技術領域會越來越廣泛,無形中就會對某個技術有所瞭解,對於上進、想闖出一番天地的程序員而言,他們非常樂意並且會主動去學習這些技術,這樣,自然而然的就學會了多門技術,精通多種語言。

馬上就要春節放假了,許多人都在做年終總結和新一年的規劃,許多程序員都希望自己在新的一年裏能做出更好的產品、學到更多知識、進一步提升自己的技能和綜合能力,這或許也是全棧工程師成爲熱門的原因之一。那麼,這是否也說明,要想在軟件開發領域走的更遠,就必須掌握更多的技能,成爲一名全棧工程師呢,這會成爲未來程序員的職業趨勢嗎?大家不妨一起來討論下。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章