寫給開發人員:為什么朝九晚五不適合我們?
今天早上,一位我很尊敬的高級開發人員給我打來電話。他想找個朋友聊聊:因為擔心自己只能得到可憐的 12% 加薪——而他所管理的其他初級開發人員,則有望獲得 40% 的加薪。他還抱怨道,有 85% 的高級開發人員都需要管理 10 名左右的初級開發者。
我不知道該怎么安慰他。我盡自己所能表達善意,聽著這段長達 30 分鐘的傾訴。之后,我突然意識到光是傾聽并沒有太大意義。
在早上,我看到一則關于 Palitana 生產簧風琴簧片的新聞,寶萊塢的藝術家們對這個故事贊不絕口。作為一個印度小鎮,Palitana 的工人師傅們沒怎么受過教育,并且從 1902 年開始就一直在為英國制作這類樂器配件。
在第二次世界大戰之后,他們的命運迎來轉機——當時大部分英國殖民地開始抵制由德國生產的產品,其中也包括簧風琴。最終,Palitana 擁有了自己的品牌,并在 114 年之后的今天仍然在谷歌搜索中成為最重要的“簧風琴簧片”關聯商品。通過亞馬遜,他們的產品得以行銷世界各地。
他們成功的關鍵并不在于自動化,而是對工藝的深刻理解,以及一代代工匠對手工流程的改進。
高超的工藝,也與對行業需求的理解結合起來。
當下,雖然大部分制造業已經實現了自動化,但 Palitana 的簧片仍然需要手工調節才能產生最悅耳的單色——而且至少在未來 50 年內,3D 打印機還無法完美還原其效果。這蘊含著一種重要的啟示——工匠們并不是在即興創作,而是在部件中找到必須優化的部分,確定哪些可以由機器完成,最后利用自己的熱情拿出真正完美的產品。
高級開發者正在消亡(真正的消亡)
在編程領域,這種對工藝的追求也在逐漸消失。高級開發人員正在失去自己的優勢地位:
- 在線 IDE(JSConsole 及其它同類方案)——能夠輕松運行編寫中的代碼。原本只有高級開發人員能夠玩轉的東西,如今已經沒有什么難度。
- 開源 repos 與論壇,龐大的 API 文檔不再需要高級開發人員將其整合在一起。
- 培訓視頻,只有高級開發人員才有耐心認真吃透的陳舊出版物已經不是主流,從業者也不太需要犧牲周末個人時間刻苦學習。
確實,高級開發人員仍然負責為初級開發者提供各種可復用的構建單元,但如今企業的關注重點已經明顯傾向于初級人群。
在我們所處的技術世界當中,經驗只會為產品的生命周期增加價值,而不再直接影響到產品本身。
有經驗的開發人員很清楚要在哪里找資源,哪些資源能夠發揮作用——但也就到這里為止。不是因為他們缺乏熱情,而是因為缺乏必要的獎勵與動機。
這會帶來非常糟糕的負面影響,我這里就甘冒天下之大不韙,說點實話:對于企業而言,高級開發者相當于把石材聚攏成形的框體。
這背后的技術原因在于:
- 互聯網民主化
- 模塊化浪潮帶來的指數級規模效應——軟件之間能夠相互依托與構建
相信大家也一定能看清這背后的商業原因。初創企業雇主往往更傾向于雇用初級開發人員,而非薪酬水平達到前者 1.5 倍到 2 倍的高級開發人員。高級開發人員只在初級開發團隊當中才有存在的理由——而且具體取決于項目規模以及團隊的實際需求。
為了保持自己的高級開發者地位,我們必須:
- 保持流程優化——對大批文件進行 Docker 化。
- 持續挖掘可以優化的點,但并非必須優化的開發成果。
- 繼續在客戶并不需要持續使用的現有產品中,開發通用的功能。
- 打磨軟技能,讓自己的人緣更好一些,同時滿足管理層以及銷售人員的期望。
如今,高級開發人員的薪酬回報預期開始變得難以預測。Stackoverflow 在 2018 年與 2019 年開發者調查報告,已經非常明確地列出目前薪酬水平最高的技術方向。盡管如此,人們還是在不斷猜測哪些技術可能迅速升溫,而且永遠無法預測接下來會有哪種技術成為高級開發者的必備武器。技術淘汰,總是來得太快,就像龍卷風。
當然,目前比較流行的觀點是,我們可以犧牲自己的休息時間以及寶貴的假期來繼續學習新的語言。但是,這還不足以幫助大家鞏固自己的高級開發者地位。
如果 HR 人員腦子不太好使,即使各位擁有長達 8 年的 Java 開發經驗與相對較短的半年 Kotlin 經驗,當下也很容易受到僅有 2 年經驗的 Kotlin 開發者的沖擊。即使是獲得了面試機會,對方開出的薪酬水平恐怕也根本無法達到您的預期。像中國以及印度這樣的國家,堪稱初級開發者的批量制造工廠——他們甚至沒有軟件開發學士學位。更可怕的是,在美國,freecodecamp、codeacademy 以及 hackathon 文化實際上就是在復制這種輕基礎、重應用的經驗。
最終,高級開發者將選擇出逃
這并不是什么古老的智慧,只是一種殘忍的叢林法則。市場不講溫情,如果我們發現市場空間不再適合自己,就必須屈服于冷冰冰的供求關系。
如果我們原有角色不再受到重視,那么接下來要么改變施展才能的平臺,要么改變自己的角色定位。
如今,非技術出身的企業創始人能夠直接購買應用程序模板,并借此從投資者處獲得可觀的資金。對他們來說,高級開發者的主要作用就是拿出更漂亮的 PPT 展示,而非真正能夠工作的開發成果。
兩個選項
高級開發者能夠選擇的去向,從離岸開發合同到 CTO。開出的金額,則一般從 500 美元到 5% 總收益不等(如果項目失敗,后一種可能無法帶來任何收益)。我們將出售自己的專業知識,并從這兩種選擇中做出判斷:立刻就能拿到的 500 美元,還是充滿不確定性的 5%。當然,身為 CTO,您可能會得到應有的待遇,但其可能仍遠遠低于其他高管人士——畢竟我們是支持企業建筑的地基,而非吸引投資者的墻面彩繪。
而且可以想見,入職之后您肯定會認識一些銷售主管,他們拿到的薪酬與股權要遠高于您——畢竟客戶可是人家談下來的。
第三種選擇
接下來我要提出的,是很多朋友可能從未考慮過的第三種選擇。為什么不以競爭對手的身份進軍市場?從技術上講,即使是哈佛大學或者沃頓商學院的高管,也很樂于選擇這樣的道路。這里我們先來了解需要解決的問題:
- 如何進行市場調查
- 如何進行廣告宣傳
- 如何獲取投資
事后看來,這些問題只是管理學教授們的廢話。我們真正需要關注的,其實只有以下兩點:
- 他們想要什么
- 我們能提供什么
身為一名資深開發者,我們更擅長回答第二個問題。回答第一個問題需要真正的研究,但也未必非得報考相關專業。
這里我總結出了一種非常簡單的方法——別看它簡單,但已經得到無數成功企業家的驗證。
另外,大家也不需要在自己的領英資料里添加什么企業家標簽。最重要的,是培養我們自己的創造力;在獲得了良好的熱情與能力組合之后,實現目標將只是時間問題。
我們首先構建自己的解決方案,嘗試將其宣傳給 10 個人;進行版本迭代,再宣傳給另外 10 個人,然后將這些人群歸類為:
- 手握雄厚財力的人,即投資者
- 擁有大量受眾的人,即媒體
由于我們已經擁有 20 位受眾,所以這一切并不像聽起來那么困難。就這么簡單,剛剛我們還是個為了 12% 加薪而氣得不行的員工,現在我們已經踏上了自己的創業之路。
后續補充內容
我在文章中對高級開發者的未來前景很不看好,這也激起不少讀者朋友的熱烈討論,其中當然有一些存在偏見的觀點。我覺得有必要列出一些數據作為補充,也感謝各位的積極回應。
我在這篇文章中傳達的主要觀點,在于一部分有能力的軟件業同行應該在職業生涯當中做出新的探索與進展。其中也包括我自己,我曾經在不少企業擔任核心產品的軟件開發者,后來也嘗試過自由職業者等其他選擇。
我并不是那種極度迷信調查結果的人,但由于缺乏關聯性足夠強的故事,觀察結果很容易被視為“存在偏見”。根據我的個人觀察,我得出了以下結論:
1. 軟件工作的跳槽率最高——理由主要是薪酬水平,或者對管理層不滿意。也有不少做得不錯的從業者最終也進入了管理層,成為自己最討厭的家伙。拜拜,咱再也不是開發人員了。
2. 如果沒有選擇跳槽,那么大多數從業者會變為遠程自由職業者 自由職業早已存在,只是目前變得更加流行。遠程自由職業者的存在感不強,但高級開發者卻希望過得更好。
3. 當個人目標與管理層目標有所偏差時,頂尖開發人員的表現也會快速下滑——這一論斷來自某軟件開發總監的文章,獲得了 4200 個贊。
4. 彭博社表示,軟件工程是個注定消失的職業,從業能力從 35 歲起即快速下降。
這里我會再強調一次,以上只是來自學術研究或者調查的結論,我其實并不怎么在乎。但是,縱覽 reddit 上的相關帖子,我們也能看到整個軟件行業對于“高齡”開發者們的偏見與打壓。
總結:幸福需要一點點運氣,而我也是個有點運氣的人。其中需要改變,改變非常痛苦,但也教會了我很多,包括不少非常實用的技術與技能。如今,我樂于說出這個很多人諱莫如深的觀點,我甚至覺得咱們沒必要為此難過。這就是市場的力量,而從長遠角度來看,這種力量同樣由技術本身所驅動。只是在面對這種必然時,身為當事者的我們多少會心有戚戚。