全棧project師的毀與譽

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

本文轉自個人獨立博客: 全棧project師的毀與譽後端

曾經,軟件project師最在乎的是成爲某個領域的專家或者高手;現在。隨着軟件技術的發展以及需求的變化。尤爲是愈來愈多的程序猿出來本身創業,因爲各類條件限制,不少技術上的問題不得不親力親爲地去完畢。所以。很是多程序猿慢慢地就練就了精通多門技術的本領。瀏覽器

full-stack-engineer

這不,就有位程序猿在知乎上提問:「 怎樣成爲全棧project師(Full Stack Developer)?,在OSCON會議上。一名Facebook的project師說他們僅僅聘請「全棧(Full stack)」的程序猿。」此話題一出。引發了你們的熱烈討論。安全

不少經驗豐富的project師紛紛在如下留言。討論成爲全棧project師的價值在哪裏,你們是否需要成爲全棧project師,筆者就知乎上的精彩回答進行了整理,最好仍是一塊兒來看下:性能優化

Cat Chen網絡

既然原文是說,Facebookproject師說Facebook僅僅招Full Stack Engineer,那我就來講說Facebook Engineer都是怎樣的人。架構

我以爲不論什麼一方面的詳細經驗都不重要,重要的是思惟方式和學習能力app

首先說思惟方式,那就是不爲本身設限,不會想着本身是前端project師,因此後端的東西我就一點也不碰。Facebook 的project師,級別越高就需要保持越大的影響力。編輯器

怎樣創造更大的影響力。就是尋找當前槓桿效應最明顯的問題來解決。性能

有些問題你攻克了的話,投入進去的時間每小時能換回來一千美圓;有些問題你攻克了的話,投入進去的時間每小時能換回來一百萬美圓

然而哪些問題更值得解決,這是動態的。每每還存在衰減效應。假設現在性能瓶頸在後端,你作了一個季度兩個季度優化後,瓶頸就已經不在後端了,你再優化下去衰減效應就會愈來愈明顯。

等瓶頸變成前端了,你是否是就說因爲你不懂,因此不肯意碰?那就至關於寄望於公司有個前端很是懂性能優化的人來解決,但假設公司沒有這種人那就沒有人來攻克了。

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

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

各方面的技術,各方面的技術架構。

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

 

假設僅僅侷限在本身的代碼中。就僅僅能是程序猿。

假設僅僅關心client而不關心server,就沒法對技術負責。就僅僅能是一個程序猿。

每個實際問題,都有可能涉及各方面的技術。舉個樣例來講,作格鬥網遊,要作出良好的打擊感,你就不只要關心渲染技巧,還要關心美術特效,還要關心網絡,關心server應該傳送過來哪些數據。還要關心哪些東西是對玩家實用的必須表現出來的東西…當你的關注重心從代碼移到詳細實際的問題的時候,就成爲了一個project師了。繼續努力下去。就很是easy變成全能的project師。

 

匿名用戶

首先我以爲好的開發人員,即便不是全棧。也要融會貫通多種技術。我歷來不以爲一個僅僅專精一種技術的人有可能成爲好的開發人員,即便是C,即便是彙編。(固然事實上反過來看。那些大神們哪一個不會搞點其它的?比方几個作server端開發的大神居然不懂server管理?)

而後從廣度和深度的組合看,我以爲好的開發人員大概有兩種類型:

  1. 手術刀
  2. 代碼專家。

手術刀是業務驅動的,最需要全棧的人;他們的核心價值在於:懂業務。技術全面,都能拿的起來,並且能選擇最合適的技術

代碼專家是技術驅動的,即便不夠全棧也可以用,但是技能樹點的越多固然有優勢。

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

全棧project師不是爲了工做自己,是爲了方便實現本身的夢

 

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


看了上面的回答,你是否知道了怎樣成爲一名全棧project師呢?關於該問題的不少其它討論,歡迎你們訪問知乎討論頁。

隨着工做經驗的逐年增長。程序猿/軟件project師所接觸的技術領域會愈來愈普遍,無形中就會對某個技術有所瞭解,對於上進、想闖出一番天地的程序猿而言。他們很是樂意並且會主動去學習這些技術,這樣。天然而然的就學會了多門技術,精通多種語言

當即就要春節放假了,不少人都在作年終總結和新一年的規劃。不少程序猿都但願本身在新的一年裏能作出更好的產品、學到不少其它知識、進一步提高本身的技能和綜合能力。這也許也是全棧project師成爲熱門的緣由之中的一個。那麼,這是否也說明。要想在軟件開發領域走的更遠。就必須掌握不少其它的技能,成爲一名全棧project師呢,這會成爲將來程序猿的職業趨勢嗎?你們最好仍是一塊兒來討論下。



參考推薦:

全棧project師的毀與譽

全棧project師的悲與歡

中國第一代程序猿列傳

相關文章
相關標籤/搜索