怎樣成為全棧工程師(Full Stack Developer)?知乎

成為全棧工程師一般的學(xué)習(xí)路徑是怎樣的?

補(bǔ)充一下Full Stack Developer的定義和標(biāo)準(zhǔn):What is a Full Stack developer?,這樣大家討論怎樣成為Full Stack Developer時(shí)不會(huì)偏的太遠(yuǎn)。

Is it reasonable to expect mere morals to have mastery over every facet of the development stack? Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire ‘Full Stack’ developers. Well, what does that mean? To me,a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology...

做這樣一個(gè)簡(jiǎn)單的 app:

一個(gè)天氣應(yīng)用,干凈清爽的界面,天氣信息一目了然。它不僅可以精確預(yù)測(cè)未來 10 天的天氣,還可以顯示某地的歷史天氣信息。它具有自定義提醒功能,支持 web 版本, iOS 版, Android 版。

為什么想要做這樣一個(gè) App ?因?yàn)槟阆矚g旅行,但沒找到一個(gè)天氣 App 可以提供你下個(gè)月或者某個(gè)特定月份的天氣信息;因?yàn)槟銘心銢]有每天看天氣預(yù)報(bào)的習(xí)慣,你想要在第二天溫度達(dá)到 30 度以上或者溫差有 +/-7 度的時(shí)候,獲得溫馨提示;因?yàn)槟阋蔀橐粋€(gè) Full Stack Engineer ,你必須不斷訓(xùn)練每個(gè) stack 的能力。

## Web版

你決定用 MySql 來存儲(chǔ)用戶數(shù)據(jù),用 NoSql 存儲(chǔ)歷史天氣數(shù)據(jù)。你用 Redis 作為 cache ,緩存一些最常請(qǐng)求的天氣數(shù)據(jù)。你用 Python 寫后臺(tái),功能簡(jiǎn)單,后臺(tái)不復(fù)雜,用戶注冊(cè)登錄,抓取返回某城市的天氣數(shù)據(jù),某地的歷史天氣數(shù)據(jù),很快便搞定。

后臺(tái)開發(fā)并測(cè)試好了,接下來是 Web 前端。你十分清楚一個(gè)好的 UI 設(shè)計(jì)對(duì)一個(gè) App 的重要性,你也明白 UI 的設(shè)計(jì)不只是為了美觀,更重要的是提高信息的可讀性和程序的可用性。幸好你平日的積累這次派上用場(chǎng)了。你把之前保存下來的上百個(gè)優(yōu)秀的UI設(shè)計(jì)作品拿來研究,你從書架上拿出Norman 的那本經(jīng)典 - The Design of Everyday Things 重新細(xì)讀。最終你用白紙黑筆敲定了第一個(gè)版本的 UI,簡(jiǎn)潔直觀,沒有任何多余的設(shè)計(jì),所有元素的排列間距 大小顏色都恰到好處。你相信即使天氣不好,但用戶只要使用這個(gè) App 都會(huì)有著愉悅的心情。

那么開始寫前端吧。啊,別急,都忘了還有 Icon 和 Logo ,可是不會(huì) PS ,不會(huì) AI ,不會(huì) Sketch 怎么辦呢,學(xué)吧。你平日喜歡結(jié)交不同領(lǐng)域的朋友,正好幾周前在一個(gè)活動(dòng)上你認(rèn)識(shí)一位朋友做設(shè)計(jì)的。她花一個(gè)下午的時(shí)間教你基本的 Sketch 的使用,并對(duì)你的 UI 設(shè)計(jì)給出了一些意見。你請(qǐng)她吃了頓晚飯表示感謝,然后立即回家根據(jù)她的一些建議重新調(diào)整了 UI ,這次你在 PS 里把 UI 畫了出來,Icons 和 Logo 也順道一起做了。

接下來的一周,你學(xué)習(xí) HTML,CSS,以及 Javascript,并漂亮地把前端搞定。

## 發(fā)布 App

在朋友圈發(fā)了個(gè)狀態(tài),找人幫你做 Beta 測(cè)試。他們都首先問你是什么 App,一開始你簡(jiǎn)單回答一個(gè)天氣的 App。但你發(fā)現(xiàn),這不能提起他們的興趣。你覺得你需要用語(yǔ)言,用故事包裝一下。不光是作為別人「是什么 App」提問的回答,也是成為 Full stack Engineer 道路上的一個(gè)重要技能。

你去看了所有你喜歡的產(chǎn)品的主頁(yè),從他們的文案上獲得一些靈感啟發(fā);你讀了經(jīng)典的 On Writing Well ,發(fā)現(xiàn)好的文案,好的設(shè)計(jì),其實(shí)和好的代碼很相似,都是重在交流,如何讓他人毫不費(fèi)勁地明白你要表達(dá)的內(nèi)容。你的故事要吸引人,你的產(chǎn)品介紹要在1分鐘內(nèi)解釋清楚,并確保你的父母可以毫無(wú)壓力聽明白。

一切就緒,產(chǎn)品上線了。反響不錯(cuò),用戶持續(xù)增加。很多用戶希望有移動(dòng)版本,于是你立即投入到iOS 版本的開發(fā)上。

## iOS 版 及 后臺(tái)優(yōu)化

你花一周不到時(shí)間學(xué)習(xí)了基本的語(yǔ)法和工具使用便投入到 App 的開發(fā)中。你知道 Learn by Doing 是最好也是最快的。由于之前學(xué)習(xí)了設(shè)計(jì)的基礎(chǔ),UI ,Icons 很快搞定,不久 iOS 版本便發(fā)布了。iOS 的發(fā)布帶來了更多的用戶增長(zhǎng),后臺(tái)服務(wù)器的壓力頗大,你知道是時(shí)候優(yōu)化后臺(tái)了。

你在 AWS 上多開了 2 臺(tái)服務(wù)器,并寫了一個(gè) Script 來自動(dòng)化部署過程。

你改用 uWSGi 協(xié)議,用 uwsgi 作為 Application Server。

你使用 Nginx 來做并發(fā),負(fù)載均衡 ...

......

......

## 成立公司

用戶持續(xù)增長(zhǎng),每天你都會(huì)收到十幾二十封用戶的郵件。你很感激這些愿意花時(shí)間給你寫郵件的用戶,你相信他們是你最重要的用戶,是潛在的付費(fèi)用戶。如果你把他們像上帝一樣對(duì)待,他們同樣也會(huì)把你看作是上帝。所以除了睡覺時(shí)間的發(fā)來的郵件,每一封郵件,你都會(huì)在2小時(shí)內(nèi)給予回復(fù)。

果然這樣的付出是收獲巨大的,他們不僅驚訝且非常感謝你的快速回復(fù),他們會(huì)在app store里給你★★★★★的評(píng)價(jià),他們?cè)谏缃痪W(wǎng)站上分享你的app,他們甚至?xí)鲃?dòng)提出捐款給你。

你從快速的用戶增長(zhǎng)中嗅到了商機(jī),你開始思考如何賺錢。廣告你是堅(jiān)決不能允許的,你認(rèn)為再精確的廣告也會(huì)影響用戶體驗(yàn)。你設(shè)計(jì)了 2 個(gè)不同的付費(fèi)方案,你打算用 A/B 測(cè)試看哪個(gè)方案更好。你分別給 200 個(gè)用戶發(fā)去邀請(qǐng)嘗試付費(fèi)的郵件,郵件內(nèi)容你精心打磨過,并在最后寫上:CEO & Founder. 通過分析 2 種方案的用戶行為,你決定將使用第一種方案。

接下來,你相信差不多是時(shí)候成立個(gè)公司了。為了省時(shí)間,你花 2000 塊錢找了個(gè)園區(qū)掛靠并幫你注冊(cè)公司。公司的名字讓你頭疼了很久,你不想只是簡(jiǎn)單的用這個(gè) App 的名字作為公司名字,你知道公司將來還會(huì)做出其他優(yōu)秀的產(chǎn)品。你希望這個(gè)名字簡(jiǎn)單易記,同時(shí)其含義也是你公司文化的象征。

公司注冊(cè)下來了,但銀行那邊得自己跑。你聯(lián)系了一些媒體編輯,邀請(qǐng)他們來試用你的產(chǎn)品;你重新設(shè)計(jì)了產(chǎn)品主頁(yè),并開始寫產(chǎn)品的 Blog ;你在各大社交網(wǎng)絡(luò)都給 App 注冊(cè)了賬號(hào),即做社區(qū)客服也為宣傳... 這些事大大壓縮你寫代碼的時(shí)間。以往你都是以代碼量作為衡量自己當(dāng)天工作效率的指標(biāo),所以這些天你總感覺沒做啥工作。

這樣的發(fā)展早已超過你的預(yù)期,這個(gè) App 從一個(gè) Side Project 幾乎變成了你生活的全部。你跟你女朋友半個(gè)月才出去約會(huì)一次,她抱怨不斷;你1個(gè)月沒跟朋友出去玩耍喝酒了;你 2 個(gè)月都沒鍛煉過身體... 你意識(shí)到, YOU CAN NOT DO THIS ALONE,你需要幫手,你需要找人一起把這個(gè)做下去。

但你不是要成為 Full Stack Engineer 么?你現(xiàn)在是了么?

## Full Stack Engineer

設(shè)計(jì),后臺(tái)開發(fā),前端開發(fā),移動(dòng)開發(fā),運(yùn)營(yíng)維護(hù),PS,文案... 好像都會(huì)了,這算 Full Stack Engineer 了么?

不,這只是踏上成為 Full Stack Engineer 的第一步。你知道目前只是每個(gè) stack 都懂一點(diǎn),離senior 或者 expert 還差得遠(yuǎn),而要每個(gè) stack 都做到極致,需要大量的時(shí)間和精力。精力有限,產(chǎn)品開發(fā)緊迫,力不從心啊,這條道路也太孤獨(dú),因?yàn)槟悴恍枰c任何人進(jìn)行協(xié)作。難道要把一些stack的任務(wù)交給別人做么?這樣算是放棄成為 Full Stack Engineer 么?

不!這不是。

什么是 Engineer?「Engineers are versatile minds who create links between science, technology, and society」。

Engineer 的本質(zhì)工作是設(shè)計(jì),開發(fā)出應(yīng)用于大眾的產(chǎn)品。

一個(gè)真正的 Full Stack Engineer ,他從生活中發(fā)現(xiàn)問題,洞察需求,他設(shè)計(jì)解決方案,并開發(fā)出初始版本的產(chǎn)品。為了達(dá)到目標(biāo),他愿意去學(xué)習(xí)任何領(lǐng)域的技能和知識(shí)。同時(shí)他不追求一個(gè)人完成所有工作,如果有人可以比他在某方面做得更出色,便會(huì)十分熱情的邀請(qǐng)他們加入。

最終他的職位也許不再是 Engineer ,他不再設(shè)計(jì) UI ,不再寫代碼 ... 他的工作不再是 design and building an app or product,因?yàn)樗懈蟾匾娜蝿?wù)要做 - design and building a team or a company which builds great products.

而這時(shí),社會(huì)給了他們另一個(gè)稱呼 - 創(chuàng)業(yè)者。盡管眾人已忘記他們 Engineer 的身份,但在他們骨子里,內(nèi)心深處,自己始終都是一個(gè) Engineer 。當(dāng)他們需要從頭再來時(shí),他們毫不猶豫從設(shè)計(jì)開發(fā)產(chǎn)品做起。Nikola Tesla,F(xiàn)erdinand Porsche,Henry Ford,Jack Dorsey,Mark zuckerberg,Elon Musk ... 細(xì)數(shù)那些改變了或正改變世界的創(chuàng)業(yè)者,他們大多數(shù)是 Engineer 背景,熱衷于設(shè)計(jì)創(chuàng)造。他們學(xué)習(xí)技能和知識(shí),不是為了成為某個(gè)領(lǐng)域的專家;而是因?yàn)槟切?是完成自己目標(biāo)所需要的。

以上,為我認(rèn)可的 Full Stack Engineer

---

Peng

既然原文是說,F(xiàn)acebook 工程師說 Facebook 只招 full stack engineer,那我就來說說 Facebook engineer 都是怎樣的人啦。

我覺得任何一方面的具體經(jīng)驗(yàn)都不重要,重要的是思維方式和學(xué)習(xí)能力。首先說思維方式,那就是不為自己設(shè)限,不會(huì)想著自己是前端工程師,所以后端的東西我就一點(diǎn)也不碰。Facebook 的工程師,級(jí)別越高就需要保持越大的影響力。如何創(chuàng)造更大的影響力,就是尋找當(dāng)前杠桿效應(yīng)最明顯的問題來解決。有些問題你解決了的話,投入進(jìn)去的時(shí)間每小時(shí)能換回來一千美元;有些問題你解決了的話,投入進(jìn)去的時(shí)間每小時(shí)能換回來一百萬(wàn)美元。然而哪些問題更值得解決,這是動(dòng)態(tài)的,往往還存在衰減效應(yīng)。如果現(xiàn)在性能瓶頸在后端,你做了一個(gè)季度兩個(gè)季度優(yōu)化后,瓶頸就已經(jīng)不在后端了,你再優(yōu)化下去衰減效應(yīng)就會(huì)越來越明顯。等瓶頸變成前端了,你是不是就說因?yàn)槟悴欢圆辉敢馀觯磕蔷拖喈?dāng)于寄望于公司有個(gè)前端很懂性能優(yōu)化的人來解決,但如果公司沒有這樣的人那就沒有人來解決了。

Facebook 的眾多海報(bào)當(dāng)中,有一張寫的是「任何一個(gè) Facebook 的問題,都不是別人的問題」。有問題,你就需要去評(píng)估是否值得解決。如果值得解決,你就應(yīng)該著手去解決,而不是假設(shè)公司內(nèi)會(huì)有另外一個(gè)人比你更合適解決這個(gè)問題。這時(shí)候很可能你就需要去做你從來沒有做過的事情,需要學(xué)習(xí)你原本可能完全不懂的技術(shù)。如果你是個(gè)專門做數(shù)學(xué)模型的博士,加入 Facebook 原本是打算做搜索結(jié)果優(yōu)化的,結(jié)果發(fā)現(xiàn)這不是最急需解決的問題,JavaScript 性能才是最需要解決的問題,你怎么辦?如果你以為 Facebook 需要的是你做數(shù)學(xué)模型的經(jīng)驗(yàn),那你就錯(cuò)了。Facebook 需要的是你完成博士學(xué)位的學(xué)習(xí)能力。你從來沒做過 JavaScript 并且覺得 JavaScript 很惡心?正確的做法是立即在網(wǎng)上買幾本 JavaScript 入門的書連夜看完,然后著手分析性能瓶頸并且解決。在你完成手動(dòng)優(yōu)化后,你還可以思考一下能否把這做成自動(dòng)化,例如說在代碼提交時(shí)分析 JavaScript 語(yǔ)法樹并且指出可能成為性能瓶頸的地方,又或者說從用戶瀏覽器那里收集性能數(shù)據(jù)扔到 Hive 然后再?gòu)闹蟹治霎a(chǎn)生瓶頸的特征。這些都可能涉及到一些你沒有做過也沒有學(xué)過的東西,但問題擺在那里你就需要去解決,而無(wú)論這要求你去鉆研什么。這就是我所說的學(xué)習(xí)能力。

這是高級(jí)工程師和初級(jí)工程師的主要差距。盡管在高級(jí)到初級(jí)這一維度上,美國(guó)工程師和中國(guó)工程師是有重疊的,但美國(guó)的教育體系和行業(yè)傳統(tǒng)使得美國(guó)應(yīng)屆生比一般中國(guó)工程師更偏向于高級(jí)那一端。美國(guó)學(xué)生的優(yōu)勢(shì)在于,他們的教育體系讓他們習(xí)慣面對(duì)開放性問題。一家公司萬(wàn)千問題當(dāng)中,此時(shí)此刻哪一個(gè)最值得解決?這不是中國(guó)工程師擅長(zhǎng)的問題,因?yàn)閷?shí)在是太開放了。中國(guó)教育讓人擅長(zhǎng)在給定條件下解決問題,太開放反而不知道從何入手。此外因?yàn)榻^大多數(shù)文獻(xiàn)都是英文的,所以要鉆研什么對(duì)于能讀懂英文的人來說都可以非常成體系的學(xué)習(xí),這對(duì)于很多拒絕閱讀英文的中國(guó)工程師來說很不利。拒絕閱讀英文意味著永遠(yuǎn)只能接受別人的二手資料,對(duì)于很多概念的理解只能停留在技師的層面,而無(wú)法上升到工程師或者科學(xué)家的層面。

現(xiàn)有的答案已經(jīng)說明了,以一個(gè)正常人的精力和學(xué)習(xí)速度來說,想在 full stack 的每一個(gè)層面都達(dá)到頂級(jí)的精通顯然是很困難的事情。但是做不到這一點(diǎn)就算不上 full stack developer (FSD) 了嗎?其實(shí)我希望大家留意題主引用的那段英文的最后一句:a genuine interest in all software technology. (對(duì)所有的軟件技術(shù)抱有一種真摯的興趣)。

我覺得對(duì)于 FSD ,尤其是對(duì)于想成為 FSD 的人來說,這個(gè)態(tài)度才是最重要的事情。即使都是 FSD,每一個(gè)人各自的技能加點(diǎn)也肯定會(huì)不一樣,有人在前端更擅長(zhǎng)一些,有人在服務(wù)器層面更有經(jīng)驗(yàn)... 但其實(shí)沒有什么硬性的門檻,需要的是解決任何問題的能力和意愿。你要做到的就是不固步自封在一個(gè)領(lǐng)域。遇到問題,就去研究,不因?yàn)閱栴}不在你的 comfort zone 就放棄或者推給別人。即使一開始的解決方案很笨拙也無(wú)所謂,just learn whatever it takes to make it work.比如說我要做一個(gè)網(wǎng)站,我有一些東西沒碰過,但我有足夠的興趣和動(dòng)力去搞個(gè)八九不離十。(這里自學(xué)能力很重要,有好的 mentor 也會(huì)幫助很大)當(dāng)你經(jīng)歷過一次這個(gè)過程以后,你就會(huì)有信心去弄明白更復(fù)雜的東西,在之前的基礎(chǔ)上進(jìn)一步去消化、改進(jìn)、學(xué)更多的東西。

另外,我個(gè)人覺得這個(gè)過程應(yīng)該是由實(shí)際問題驅(qū)動(dòng)的,而不是漫無(wú)目的看到什么東西流行了或者覺得很NB就去學(xué)。@莊生的答案里提到絕大部分的網(wǎng)站都活不到或者永遠(yuǎn)也達(dá)不到10k用戶在線的水平,那種情況下去看 high scalability 的東西有什么意義?學(xué)的東西用來解決或是改進(jìn)實(shí)際遇到的問題,這樣你的整個(gè)知識(shí)體系覆蓋面和側(cè)重點(diǎn)會(huì)比較合理。打個(gè)比方就是你的技能點(diǎn)有限,所以加點(diǎn)方案得有一個(gè)主題,到處亂點(diǎn)的話就廢了。

現(xiàn)有的答案已經(jīng)說明了,以一個(gè)正常人的精力和學(xué)習(xí)速度來說,想在 full stack 的每一個(gè)層面都達(dá)到頂級(jí)的精通顯然是很困難的事情。但是做不到這一點(diǎn)就算不上 full stack developer (FSD) 了嗎?其實(shí)我希望大家留意題主引用的那段英文的最后一句:a genuine interest in all software technology. (對(duì)所有的軟件技術(shù)抱有一種真摯的興趣)。

我覺得對(duì)于 FSD ,尤其是對(duì)于想成為 FSD 的人來說,這個(gè)態(tài)度才是最重要的事情。即使都是 FSD,每一個(gè)人各自的技能加點(diǎn)也肯定會(huì)不一樣,有人在前端更擅長(zhǎng)一些,有人在服務(wù)器層面更有經(jīng)驗(yàn)... 但其實(shí)沒有什么硬性的門檻,需要的是解決任何問題的能力和意愿。你要做到的就是不固步自封在一個(gè)領(lǐng)域。遇到問題,就去研究,不因?yàn)閱栴}不在你的 comfort zone 就放棄或者推給別人。即使一開始的解決方案很笨拙也無(wú)所謂,just learn whatever it takes to make it work.比如說我要做一個(gè)網(wǎng)站,我有一些東西沒碰過,但我有足夠的興趣和動(dòng)力去搞個(gè)八九不離十。(這里自學(xué)能力很重要,有好的 mentor 也會(huì)幫助很大)當(dāng)你經(jīng)歷過一次這個(gè)過程以后,你就會(huì)有信心去弄明白更復(fù)雜的東西,在之前的基礎(chǔ)上進(jìn)一步去消化、改進(jìn)、學(xué)更多的東西。

另外,我個(gè)人覺得這個(gè)過程應(yīng)該是由實(shí)際問題驅(qū)動(dòng)的,而不是漫無(wú)目的看到什么東西流行了或者覺得很NB就去學(xué)。@莊生的答案里提到絕大部分的網(wǎng)站都活不到或者永遠(yuǎn)也達(dá)不到10k用戶在線的水平,那種情況下去看 high scalability 的東西有什么意義?學(xué)的東西用來解決或是改進(jìn)實(shí)際遇到的問題,這樣你的整個(gè)知識(shí)體系覆蓋面和側(cè)重點(diǎn)會(huì)比較合理。打個(gè)比方就是你的技能點(diǎn)有限,所以加點(diǎn)方案得有一個(gè)主題,到處亂點(diǎn)的話就廢了。

從全棧工程師到全棧員工,軟件吞噬世界的步伐又進(jìn)了一步。以下是 Chris Messina的文章

在我離開 Google快兩年之后,我開始意識(shí)到職業(yè)環(huán)境正在發(fā)生的變化。傳統(tǒng)的管理紀(jì)律正在漸漸瓦解。要想在職場(chǎng)上成功,需要的技能比以往更加多樣而難以定義。如今,要想在職場(chǎng)上有所成就,你必須成為一個(gè)真正的博學(xué)者,成為一名全能全棧員工。

什么是全棧員工(full-stack employee)?

就像“全棧工程師(full-stack engineer)”和“全棧創(chuàng)業(yè)(full-stack startup)”一樣,全棧員工(full-stack employee)擁有超強(qiáng)的綜合技能,有著無(wú)法估量的價(jià)值。他們可以在快速演進(jìn)、變革的技術(shù)浪潮中如魚得水。他們可以在事實(shí)稀缺、觀點(diǎn)橫飛的過剩信息中憑直覺做決定。全棧員工能夠熟練運(yùn)用設(shè)計(jì)語(yǔ)言,明白使用卡通字體無(wú)異于犯罪行為,輕車熟路地嘲弄Keynote、Sketch抑或是Skitch。他們清楚用戶界面(UI)和用戶體驗(yàn)(UX)的區(qū)別。

他們可以和人討論工程問題,能搞清楚算法、編程,也能理解前端的等級(jí)和后端的等級(jí)根本不是一回事。雖然他們可能并不親自編程,但他們知道GitHub、StackOverflow都是做什么的。如果必要,他們會(huì)暴力破解一段“復(fù)制粘貼”的腳本,在CSV文件中進(jìn)行基礎(chǔ)分析。

他們是最新銳的社交應(yīng)用的用戶,深諳自我推廣 之道。他們既可以在聽眾面前循循善誘地耐心講故事,也可以在看了3分鐘kickstarter視頻后就能指出:亮明要點(diǎn)的時(shí)間不能長(zhǎng)于一段Instagram、Vine短視頻。注意力就是這個(gè)時(shí)代的硬通貨。

全棧員工對(duì)新的想法、最棒的實(shí)現(xiàn)路徑、提升生產(chǎn)力和與愉悅度的事情有著“貪得無(wú)厭”的胃口。他們對(duì)世界及其運(yùn)轉(zhuǎn)規(guī)則充滿好奇心,想知道如何留下自己的印記。正是這一點(diǎn)使他們與過去時(shí)代的人們區(qū)分開來。開始一份工作時(shí),全棧員工不會(huì)戴上“眼罩”埋頭苦干,而是始終與行業(yè)的發(fā)展保持同步,因?yàn)樗麄兦宄鹤兏锿霈F(xiàn)在邊緣地帶,不能只盯著腳下的一畝三分地。

一名全棧員工是什么樣子的?

有了24小時(shí)在線的移動(dòng)設(shè)備,工作和非工作之間的界限正在模糊,既然工作正在變得碎片化,全棧員工要清楚地意識(shí)到自己的生活方式也要隨之變化,比如使用整體式單色衣柜、功能明確的廚具。

成為全棧員工意味著要在兩極之間來回切換。他們既要適應(yīng)單兵作戰(zhàn),自給自足(比如自己安排時(shí)間,使用自己的設(shè)備工作),也要能和團(tuán)隊(duì)高效協(xié)作。過去,在大型團(tuán)隊(duì)中,往往需要有一名 IT經(jīng)理來決定使用何種技術(shù)。如今,隨著人們?cè)絹碓蕉嗟厥褂脗€(gè)人設(shè)備工作,員工需要自己來搞定跨設(shè)備、跨平臺(tái)溝通等問題。就拿企業(yè)協(xié)作工具來說。Slack可以整合所有東西,而微軟卻只對(duì)自己平臺(tái)上的工具開放特權(quán)。如果你不能接入其他人的 API,你已經(jīng)落后于時(shí)代了。全棧員工也是如此——他們至少應(yīng)該熟知所有最新的應(yīng)用,這樣才不會(huì)落伍出局。

全棧員工必須要在自己的領(lǐng)域有深刻的洞見,同時(shí)也要機(jī)動(dòng)地應(yīng)對(duì)優(yōu)先事項(xiàng)的轉(zhuǎn)換,勝任不同的安排。組織的扁平化已經(jīng)不是新現(xiàn)象,變革的動(dòng)力可能來自頂層,也可能來自底層,有時(shí)候需要個(gè)體來決定事情的優(yōu)先級(jí)。現(xiàn)場(chǎng)服務(wù)工程師(FSE,F(xiàn)ield Service Engineer)應(yīng)該遍布組織內(nèi)部,卻又不能分布的過于稀疏。即使不用監(jiān)控每一位員工,他們也應(yīng)該知道每一個(gè)人在做什么,保證他們?cè)诓皇煜さ氖虑樯喜粫?huì)手足無(wú)措。

要成為一名全棧員工不是一件容易的事,回報(bào)卻也很豐厚。首先,他們可以更自由地按照自己的方式、在自己喜歡的地方(Teleport等服務(wù)可以幫助他們找到價(jià)廉的工作地點(diǎn))、喜歡的時(shí)間工作。他們可以使用最新的工具,自給自足,自我管理。由于他們的工作涉及多領(lǐng)域、多學(xué)科之間的協(xié)作,會(huì)帶來更寬廣的視野,更豐富多彩的經(jīng)歷。在組織內(nèi)部,他們的影響力也會(huì)不斷上升,對(duì)組織的成敗也將擔(dān)負(fù)起更大的責(zé)任,團(tuán)隊(duì)的成功與否更加休戚相關(guān)。

這對(duì)雇主和管理者意味著什么?

對(duì)于企業(yè)和管理者來說,在人力市場(chǎng)上爭(zhēng)奪全棧員工意味著很多準(zhǔn)備工作。首先,你們做好準(zhǔn)備來吸引、留住這些人才了嗎?其次,你們團(tuán)隊(duì)的工作風(fēng)格是否明確,你們對(duì)遠(yuǎn)程辦公的支持如何?再次,你們?cè)试S的工作時(shí)間,支持員工自主安排工作計(jì)劃嗎?最后,你們會(huì)給他們留出健身、養(yǎng)生、陪伴家人的時(shí)間嗎?

Google雖然充分考慮到了員工的健康、精神需求,但反過來也要求員工高度負(fù)責(zé)。 Google的員工可以以任何方式在任何時(shí)間、任何地點(diǎn)工作,只要能最大程度發(fā)揮創(chuàng)造力。但它同時(shí)希望員工能夠隨時(shí)參加一場(chǎng)臨時(shí)安排的快速議事會(huì)。你的團(tuán)隊(duì)準(zhǔn)備好了嗎?

如果你還沒有嘗試過,不妨一試,來感受下”全棧員工“的工作環(huán)境是什么樣子的。不同背景的人們?cè)谝粋€(gè)公共空間內(nèi)彼此協(xié)作。他們一直在線,通過Slack等協(xié)作對(duì)話平臺(tái)交流。大多數(shù)全員協(xié)作空間都是臨時(shí)搭建,多種實(shí)體、虛擬的工具混合使用(白板、投影儀、會(huì)議室、視頻會(huì)議設(shè)備等)。

對(duì)于職員和管理者來說,最需要培養(yǎng)的是”同理心“——員工和管理者都要對(duì)彼此有一種“同情的理解”,在彼此溝通、協(xié)作、要求時(shí)能夠提出具體的需求。因?yàn)槲磥淼墓ぷ餍枰叨鹊撵`活性和自主性,但這并不意味著每個(gè)人給自己下達(dá)工作命令、工作指標(biāo)。管理者的角色依然是必要的。

未來的工作是什么樣子的?

說未來的職場(chǎng)將由全棧員工引領(lǐng),無(wú)疑有些夸張,但這是一個(gè)顯而易見的趨勢(shì)。毫無(wú)疑問,工作的定義正在發(fā)生變化,員工的最大價(jià)值是應(yīng)對(duì)不確定性,能夠從海量的信息中提煉出有效的戰(zhàn)略、戰(zhàn)術(shù)。

而且,在工作機(jī)器人大規(guī)模“入侵”之前,我們只有10年的時(shí)間。他們正在取代體育新聞、駕駛、快遞等重復(fù)性工作,人們要重新思考適合自己的角色。感知和綜合的能力將是第一位的,而語(yǔ)言、辨析力和同感力在進(jìn)行復(fù)雜、敏感的任務(wù)是都是必備技能。全棧員工將幫助我們向未來過渡,將成為新的混合經(jīng)濟(jì)中的關(guān)鍵角色。

編輯于 2015-04-164 條評(píng)論?作者保留權(quán)利

auxten面向工資編程

馮嘉偉陳龍李駿健等人贊同

高中的時(shí)候喜歡踢球,班上有一個(gè)特別厲害的前鋒,用我們對(duì)手的話就是:“擋也擋不住,跑也跑不過,絆都絆不倒”。

嗯,我認(rèn)為的一個(gè)“全棧工程師”,不是僅僅能從匯編寫到JavaScript,從PHP寫到Objective-C。更是從代碼到PhotoShop,從產(chǎn)品設(shè)計(jì)到地推樣樣行,樣樣懂。

從小了說,給他安排個(gè)你自己都沒想太明白的任務(wù),他給你一個(gè)驚喜。

從大了說,就是既能當(dāng)CTO,又能當(dāng)COO,沒有各種CXO,自己也能當(dāng)CEO。

==============分割線==============

說一個(gè)我一個(gè)朋友@程一仕的故事吧,我是在大三認(rèn)識(shí)他的。當(dāng)時(shí)我是學(xué)校論壇的系統(tǒng)管理員,正在招人接替我畢業(yè)后在學(xué)校的工作。招了好久沒有入得了我法眼的,這時(shí)我?guī)煾嫡f找到一個(gè)不錯(cuò)的。

說實(shí)話,第一次見面我對(duì)他沒啥好印象,因?yàn)檫@貨抽煙,完全不像是一個(gè)搞技術(shù)的。后來一起通宵修理服務(wù)器,研究技術(shù),慢慢發(fā)現(xiàn)這貨是個(gè)挺有意思的人。

以后的日子里我?guī)е黄饘慞ython,寫C,寫JS。。。我發(fā)現(xiàn)他就是那種能不斷給我驚喜的工程師。。。

我們工作室的傳統(tǒng)是,每年暑假大家都在學(xué)校做封閉開發(fā),當(dāng)時(shí)我找了個(gè)去IBM實(shí)習(xí)的機(jī)會(huì),想讓他替我留校。最后一聊,這貨沒空,暑假要騎自行車去西藏。。。我才發(fā)現(xiàn)他還是個(gè)文藝青年(當(dāng)時(shí)還不是那么貶義)

后來,他到了大三,去的支付寶實(shí)習(xí),做運(yùn)維開發(fā)。

再后來跟我一樣去了百度,不到三年時(shí)間,就升到了T6。。。

有一天無(wú)意發(fā)現(xiàn)這貨豆瓣竟然有上萬(wàn)的粉絲,一問才知道,有一天他閑得無(wú)聊,寫了篇罵豆瓣的產(chǎn)品的帖子,由于字字鞭辟入里,連豆瓣的產(chǎn)品同學(xué)都直呼罵得好(抖m的既視感),不斷邀請(qǐng)他來豆瓣做產(chǎn)品,直到他亮出T6的身份,對(duì)方才作罷。

此人還對(duì)人文歷史政治總有很多見解。每每覺得無(wú)聊,第一個(gè)想到拉他出來吃吃飯,每次都有新收獲。

幾個(gè)月前,他跟我說他前幾天被一伙人拉著去融資了,那伙人是想搞云存儲(chǔ)的,發(fā)現(xiàn)他對(duì)分布式存儲(chǔ)很有研究,就生生拉上他去壯大陣容。。。

我就問,他們?cè)趺粗滥銓?duì)這個(gè)有研究呢?這貨拿起手中的加冰可樂,33.3°仰望天花板:“因?yàn)镸ooseFS有部分代碼是我寫的”。

后來才知道,這貨已經(jīng)是百度分布式存儲(chǔ)&緩存Topic的負(fù)責(zé)人了。。。。

就在我為他要在技術(shù)的道路上超越我而惶惶不可終日的時(shí)候,有一天,他問我有沒有興趣回成都。。。

原來,這段時(shí)間他拉著幾個(gè)學(xué)弟搞了個(gè)無(wú)節(jié)操(約XX)的叫“誰(shuí)有空”的APP(嘖嘖,這名字。。),拿了幾百萬(wàn)的融資,開始出任CEO,走向人生巔峰了。。。

他也教會(huì)我一件事,遇到比自己厲害的學(xué)弟,不要嫉妒,不要嘗試去壓制,因?yàn)椤坝行B注定是不會(huì)被關(guān)在籠子里的,它們的每一片羽毛都閃耀著自由的光輝”。可能有一天你就要去他公司打工呢。

所以,過了這么久,我最喜歡的一個(gè)身份還是

曾經(jīng)這個(gè)全棧工程師的“師傅”。

編輯于 2015-05-2733 條評(píng)論?作者保留權(quán)利

知乎用戶,喜歡玩IT

飛什么驍楠HSU Appinn等人贊同

突然就想起這個(gè)表格了http://static.icybear.net/[CN]Programmer%20competency%20matrix.htm

如果說要想全部達(dá)到level3,沒有三四十年怕是不行吧,到時(shí)候還會(huì)有新的知識(shí),永遠(yuǎn)達(dá)不到的。

所謂的全棧都是資本家們根據(jù)他們的業(yè)務(wù)自我衡量的,騷年們還是從基礎(chǔ)好好打起吧。基礎(chǔ)好,學(xué)習(xí)就快,所謂陽(yáng)光下沒有新鮮事嘛,學(xué)計(jì)算機(jī)你懂得的。

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

推薦閱讀更多精彩內(nèi)容