我得承認,我有過很長一段時間的 技術社群上癮。
每天上班第一件事,就是打開掘金、Hacker News、InfoQ,把熱門文章刷一遍。通勤的地鐵上,也要用手機看看今天又出了哪個新框架的測評、哪個Vite插件又有了更新。
我生怕錯過了什麼,感覺一天不刷,就會被飛速發展的技術時代拋棄。這種資訊焦慮,我想很多工程師都有。
但大概從去年開始,我刻意地減少了這個儀式。我把每天早上刷文章的一小時,換成了讀一些看起來和編程八竿子打不著的書。比如,心理學、經濟學、歷史、甚至小說。
一開始只是想換換腦子,但慢慢地,我發現,這些非技術書,反而幫我解決了很多工作中遇到的、最棘手的技術問題。
這篇文章,就是想聊聊我這個轉變背後的思考。
工作了五六年後,我遇到了一個很明顯的瓶頸。
我發現,再多學一個JS的新語法、再多會用一個Vite插件,似乎都不能讓我的能力產生質的飛躍。我的技術深度和廣度,足以解決日常工作中99%的技術難題。
但我發現,工作中真正難的,往往不是技術本身。而是:
我意識到,這些問題的答案,在MDN文檔裡、在Stack Overflow上,是找不到的。它們是關於 人、關於系統、關於決策 的複雜問題。而我當時的技術知識庫,對解決這些問題,幾乎毫無幫助。
於是,我開始漫無目的地,從技術之外的領域尋找答案。下面,我想分享幾個對我影響最大的領域和書籍。
作為工程師,我們習慣於和確定性的機器打交道。但我們的工作,卻無時無刻不在和不確定的人打交道——用戶、產品經理、同事、老闆。
心理學,尤其是認知心理學,教會我理解了人性的非理性。
系統思考,教會我最重要的一個概念:世界不是由一條條獨立的因果鏈組成的,而是由一個個相互關聯的反饋回路組成的。
這個思想,徹底改變了我對軟體架構的看法。
歷史,是研究成與敗的宏大案例集。它能讓你跳出眼前的一個個專案,去思考技術浪潮的更迭。
這次的分享,可能有點務虛😁,但它是我近幾年最真實的感受。
程序員的工作,是把一個清晰的需求,翻譯成高品質的程式碼。
而工程師的工作,是把一個模糊的、充滿不確定性的現實世界問題,轉化為一個可靠、可維護的系統。
想從程序員脫變為工程師,需要的遠不止是程式碼能力。
我依然每天寫程式碼,也依然關注技術動態。但我不再焦慮於錯過了哪個新庫。我把更多的信心,放在了那些從非技術書籍裡學來的、更底層的思維模型上。
因為我知道,這些東西,可能比我今天寫的任何一行程式碼,都要保值得多。
你們說是不是?🙌