程序員:如何成為一個全棧的工程師?

全棧工程師,英文 Full Stack developer,是指那些掌握多種技能,并能利用多種技能獨立完成產品的人。當然,現在「全棧工程師」很吃香,非常吃香!這是因為在移動互聯網時代,IT 系統變得愈加復雜,需要擁有全局思維的工程師來搞定各種「疑難雜癥」。不僅要玩得轉前端,還要搞得定后端,總之各種技術都懂,所以其重要性可見一斑。

近日,移動開發精英俱樂部圍繞「如何成為一個全棧的工程師?」進行了討論,主持人是優才學院的創始人伍星老師,讓我們一起看看大神們的精彩言論吧!(本文系國內 ITOM 管理領軍企業 OneAPM 工程師整理)

程序員眼中的「全棧」

伍星-優才創始人:全棧,最早來自于 Facebook 的「我們只招全棧工程師」,從表面看是指技術棧,是完成一套產品所面要的全部技術和技能。谷歌在它的書中也提出,它們只招創意型人才,其實這是一致的、相通的!

饒培澤:全棧,在我看來是一種態度,無路遇到何種問題都能積極的去解決。全棧,也不是說會什么,而是因為有好奇心與驅動力,所以什么都想搞明白,學習起來自然能快速上手。

iOS小碼哥:全棧,也可以說「我是一塊磚,哪兒需要我,我就往哪兒填。」代表著快速學習的能力和超強的適應能力。

夢航:全棧,在一定程度上能更好的做出架構,減少維護成本。

卓競勁:我支持思想和知識層面的「全棧」,而非刻意技能上的全棧。

饒培澤:其實,能從前端寫到后端的人不少,但是能專職來做嗎?這么說吧,很多公司的后端都能寫前端,但可不敢讓他們寫產品級別的代碼。如果后端人才如果能去了解前端的知識點,合理去進行整合互補,這樣是我們所鼓勵的。

藥交匯:全棧圍繞產品服務,重點是考慮問題的角度、廣度。個人理解也可以看成責任感的一種體現,前端、后端都可以也不代表全棧。只不過是圍繞著問題的解決方案,其根本還是本著對一件事情負責的態度,展開全方面的跟蹤。

伍星-優才創始人:從谷歌對創意型人才的描述可以看出,這更多體現在能夠主動地承擔工作和解決問題。比如谷歌講過一個例子,Adwords 是幾個非相關工程師主動解決了小問題帶來大收益的。

Facebook 的人才培養一開始是不分工的,「新兵營」之后才分工,并且輪崗很多,這中間暗含了:學習能力要相當強,我想學什么,都能學什么,需要我做什么,都能勝任。

所以我們對全棧提出如下見解。首先要技術全面,作為全棧工程師,其技術當然要比較全面。從前端到后端、從運維到優化、從 PC 到移動都難不倒。 但又有自己比較精通的一方面。也就是說,作為全棧工程師既要有「專深」,同樣也要有「廣博」,這樣才能在解決問題時不受局限,才能融會貫通。

第二就是思維和心態。全棧工程師以積極主動的姿態來面對和解決工作中的問題。以全局的觀點來看待自己所從事的項目, 而不只是自己負責的一小部分。以做成產品、做成一件事的觀點來看待整個開發流程,而不僅僅是技術實現。 因為只能這樣的心態和觀點,他才會積極主動地去學習其他技術,用其他技術解決問題

第三是上升能力,全棧工程師并不意味著全能,什么都會。但是全棧工程師有良好的基礎技能。 這個技能,既包括計算機科學的基礎,也包括英語基礎,有了這個基礎, 加上積極的態度,開放的心胸,就能快速地學習所需要的技術,比如像 Swift 語言,那都不是事兒。 并應用在所需要的開發工作中。

第四就是職業價值,像 Facebook 說,他們只喜歡全棧工程師,創業公司也會說,我們需要全棧工程師。無論是在大公司,還是創業公司, 全棧工程師都將成為搶手人才!那是因為,全棧工程師不但技能全面,而且心態積極,學習能力強!

伍星-優才創始人:所以全棧不是一種技能,而是一種能力。學習能力,開放心態是優先的!

李睿君:其實后面有段時間覺得全棧需要一方面熟悉自己本身專業的領域,另一方面需要關注另一段的技術,這樣在需要另一端技術,或是溝通時都能有幫助

著建彬:對感興趣的東西不要當成「工作」來做,其實興趣才是最大的動力。我覺得全棧應該是由「興趣」驅動的。

伍星-優才創始人:即使是領域專家,他對別的也會有了解和研究的。優秀的技術人員,對所有的技術應該有一種天然的好奇心和折騰勁

藥交匯:我前端和后端都經歷過,其實,在前期人員不全的情況下,結合業務并外出調研梳理了產品線框圖、PRD、流程圖,到制定了設計規范,到協調資源,然后制定研發周期,最后到輸出...... 曾一度以為這就是全棧,但是后來思考,這些只不過是本著對事情負責的態度,才驅動做了很多研發之外的事。就算一個人的技術全棧精通也要服務于根本產品。

伍星-優才創始人:項目進度和管理,比全棧本身要難。因為技術還是死的,人是活的,而且多種多樣的。就像業務架構師,本身曾經技術應該不錯,即使學新技術,應該也是有特殊長處和見解的,不過不學不寫罷了。這種人是標準的技術 leader ,技術能力并不一定是以某特定語言的寫碼能力而界定。

一般而言,全棧工程師在產品和溝通這塊都有優勢,由于技術全面,他能和各方溝通的比較愉快 。甚至和產品經理也溝通好。我也算是一個全棧,此前和各個產品經理溝通都很愉快。因為他不理解的地方,我會和他講清楚,分析清楚,為什么這個不能做,為什么那樣做不好,那樣做更好,有理有據,其實,產品經理也是講道理的,不像我們在網絡上經常「吐槽」的那樣。如果再加上本身的技術聲望和良好溝通的方式,程序員和產品經理相處其實會很和諧的。

如果成為一個全棧工程師?

王威:我的理解是,不僅自己領域的精通,然后其他部分也應該快速學習。在我看來,如果想成為全棧的話,還得靠上項目了。在普通公司的話,一般每個人只關注自己的領域,對跨領域的項目一般不會碰,可以自己利用業余時間來寫,比如原本做APP的,有空可以寫一下后端的東西,其實開始那一步比較困難。

張洋:全棧不只是技術,還需要心態、責任等方方面面。

江月:我覺得 facebook 要求全棧,并不是希望程序員技術全面但不精通。而是至少有一個領域精通,而且可以快速研究另外一個領域的技術點。

伍星-優才創始人:能成為全棧,意味著技術能達到一定高度,而高度,肯定是以長處見知的。我個人更傾向于認為,一專多能。

王威:成為全棧的話,還得靠上項目了。。。在普通公司的話,一般每個人只關注自己的領域,對跨領域的項目一般不會碰,自己私下來寫,比如原本做 APP 的,自己私下寫后端的東西,其實開始那一步比較困難。

藥交匯:關鍵是責任感的轉變,由「被動」到「主動」,才能實現自我超越。

拯救與逍遙:我個人看法,不是先有了「我要成為全棧」的目標,而是對技術的好奇和追求,以及積極應對當前業務發展的不斷挑戰,最終才能鍛煉出了全棧。

薄建業:我覺得,最好的方法就是項目驅動;從另一方面也說明,說為全棧,在一定程度上,也是被逼出來的。

王威:我比較贊成項目驅動型。比如 APP 端的,例如做個類似于云筆記的軟件,那么后端數據該怎么保存,接口該怎么定,該用哪種語言來實現后端,在分析你想要的目標的時候就能找到該用哪種技術該學哪種技術。比如后端用 PhP 寫,這時候就會推動自己去學 PHP,比如自己是做安卓,那么語言銜接上,有可能選擇 JAVA 做后端,這時候就學 J2EE 的東西,圍繞這個需求來實現,然后學數據庫......其實說到底還是得有」目標項目」來進行推動。

林曦:后端概念太泛了,不同業務需求和規模需要的技術支撐完全不同。

王威:比如做高并發,可以 NodeJs 、 Golang 、 Erlang ,或者干脆用 Java、PHP 等等。其實做項目的第一步,后端寫出業務服務接口,在業務量上來之后考慮比如性能優化,比如負載均衡,或者再比如后端架構分層等等。

文彥峰:其實,接入也有很多要做的,一般要和終端一起做,路由、負載、流量控制、安全、監控、旁路、優化 TCP 協議棧、內核參數再到硬件的支持等等。做業務,比如網關、鑒權、微服務框架、服務治理、緩存、消息中間件;存儲,單機房如何保證數據不丟,多機房是單向同步,雙向同步,出了異常怎么通過日志恢復,數據的檢查,靜態檢查點的選擇。怎么做分片,怎么擴容不影響原來的分片?

王威:所以說到底還是得有這個項目需求,圍繞著需求來分析需要的技術,然后再研究技術了。感覺純按照興趣來學新的技術,作為對這一個技術有個優缺點簡要了解,在需要的時候能快速學習。我個人還是覺得,想成為一個「全棧」,就找一個想法并實現它。

周淵:比如,你覺得 NBA 好看,想要做一個 APP 能提醒比賽,那么每天下班后,沒事寫幾個小時代碼,三個月后,你就會發現做成了。

林曦:我覺得做個「入門型」的全棧比較容易,真正能做到都有一定深入的了解很難,融會貫通更難。

拯救與逍遙:先自學基礎入門,進階的話,可以隨公司項目,初期不能直接參與,但是我們可以主動思考技術方案,然后參照其他同事最后落地的方案,對比總結。能力慢慢提升,真正上手的機會總會有的!

周淵:最重要就是,Just Do It !

林曦:不過大公司相對有一個好處,就是能遇到「牛人」的概率也比較高,所以開發過程中,某一個部分遇到瓶頸的時候想要找人討論或者請教,找他們也是比較好找的。

周淵:高人點撥,確實重要,但是建立在你入門的基礎上。

拯救與逍遙:很多時候,我們不能做最想做的事情,而且要停下來推動一下,阻礙我們繼續前行的事情。但是,有些坑,有些歷練是必須的,別人說一萬遍,我們還是得自己歷練。而且很多技術選型,都是在真正落地之后,才暴露出問題。

王威:采坑是必然的!運氣好的話,采坑的代價低,運氣不好的話,采坑代價可能毀掉整個項目。不過有些坑,有可能是在技術選型的時候就會暗含的,這個時候確實不好找。

王威:我們業務在往圖數據遷移的時候也踩了很多坑,因為我們是社交軟件,所以很多需求是基于用戶關系的,比如喜歡、不喜歡、好友等等。。。最開始覺得 neo4j 挺方便的,導入數據的時候發現,免費版就是個坑爹的玩具。。。收費版貌似5千刀一個月還說多少,巨貴。。。

王威:創業有這個好處就是人少,一個人當多個人用,這個時候就有很多機會去摸新的東西,不過缺點就是沒人帶,自己摸石頭采坑。。。

王威:不過對于我來說收益大于采坑風險。。。所以還是得圍繞這個需求,一圈一圈的挖掘更好的解決方式,這個是一種學習的過程。尤其是在風險可控范圍內,絕對鼓勵大家嘗試新的東西。

到最后你的選擇很多時候依賴你團隊的水平,怎么把這些人水平帶起來,你這些才能做細

最好的成長就是在業務中成長

林曦:架構也是活的,需要不斷生長,不斷修改。不過,前期埋的坑也只有后期加班吞了,沒有一勞永逸的架構!

董飛:我覺得重要的還是分享,別人幫你填了坑,你也可以幫別人填坑。而媒介就是博客,大家可以互幫互助。

王威:說到寫博客,我覺得可以把思維給規范化,把想法記錄下來的同時還能注意到以前沒注意到得細節,絕對是學習新姿勢最必要的補充。

伍星-優才創始人:曾經,我就主動地提出來幫公司承擔一些的運維方面的事情。然后就自己學習,請教,后來很自然地就成為全棧了。當然,全棧并不意味著上班學別的,我們上班時間把公司的事情做好,這才是成為全棧的前提。

伍星-優才創始人:還有一點,就是我們在寫代碼的過程中,要考慮怎么優化,怎么寫得更快更好,而不是像「搬磚」似的,簡單的重復。「搬磚」工作很快就會被淘汰掉,積累核心競爭力才是發展的根本 。

王威:比如做APP,在寫從服務端拉取數據的時候,就可以考慮一下他們為什么要提供這樣的數據結構?這樣的接口如何進行實現的?有這些疑問的時候,就會促進自己去看看去了解一下相關的知識,這樣才能不斷通向全棧之路。

當然,完成是一碼事兒,完成好是另一碼事兒。全棧的意義不是全都泛泛地去做,而是在做深自己的領域同時,也能借鑒其他的技術,至少在團隊開發時候溝通成本會減少很多。

趙建彬:其實,產品并不會關心你代碼怎么寫,關鍵自己要寫出讓自己覺得滿意的、高質量的代碼。

薄建業:全站人才可以站在更高的視角,提供「一攬子」的解決方案,避免踩深坑!

文彥峰:熱衷于技術,成全棧是早晚的事兒,技術全面某方面又比較深入,自然能解決別人解決不了的問題,能做別人做不了的事情,團隊中的影響力,行業中的影響力,也自然就有了,形成正向循環,還是挺不錯的!

伍星-優才創始人:就像羅輯思維跨年公開課說的那樣,核心競爭力,就是你的不可替代性。我們不能單純地說「全棧」好,很多初學者會被誤導,是因為他們不了解什么是全棧,怎么才能成為全棧。就像武功也有練「走火入魔」的。

其實,加入一個快速成長的團隊創業。是成為全棧的最快捷途徑。這個團隊,也可能是大公司內部創業團隊。也可能是大家都把工作當作創業的團隊。而沒有好奇心,沒有折騰勁,沒有學習能力,沒有開放心態,是不可能成為全棧的!

http://quanzhan.ucai.cn/intro (本文是優才學院創始人伍星對全棧的理解,發布后2014年4月份,到現在也沒有改變,歡迎大家閱讀。)

本文系國內 ITOM 行業領軍企業 OneAPM 工程師編譯整理。我們致力于幫助企業用戶提供全棧式的性能管理以及 IT 運維管理服務,通過一個探針就能夠完成日志分析、安全防護、APM 基礎組件監控、集成報警以及大數據分析等功能。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客
本文轉自 OneAPM 官方博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,659評論 25 708
  • 全棧工程師,也叫全端工程師,英文Full Stack developer,是指掌握多種技能,并能利用多種技能獨立完...
    醉馬當前闖閱讀 1,978評論 0 11
  • 第一章:三十歲焦慮綜合癥 1、三十歲怎么了? 看看現在的社會,城鎮化進程在快速地推進;且不說北上廣深這些一線城市了...
    呂不凡閱讀 423評論 0 0
  • 6月,7月,到8月,我今天翻去看跑步軟件上的記錄,全是6月份的記錄,每天都是跑8公里左右,時間真的好近,但是我缺感...
    我大磊閱讀 231評論 0 0
  • 1.我受夠了借高利貸的生活; 2.我受夠被人打電話逼債的生活; 3.我受夠了在我最需要錢的時候我到處打電話借錢的日...
    張藝凡58閱讀 1,624評論 0 0