newsence
來源篩選

Stories from 25 Years of Software Development

Hacker News

This article reflects on 25 years of experience in software development, sharing personal stories and insights gained over a quarter-century in the field.

newsence

軟體開發二十五年的故事

Hacker News
21 天前

AI 生成摘要

這篇文章回顧了二十五年的軟體開發經驗,分享了在這個領域度過四分之一個世紀所獲得的個人故事和見解。

背景

這篇討論源於 Susam Pal 分享其從事軟體開發二十五年的回憶錄,內容涵蓋了從早期撥接上網時代的技術探索,到職業生涯中遇到的各種荒謬企業決策與技術挑戰。文章引發了 Hacker News 社群對於軟體開發歷史、技術債、開發環境配置困境以及程式語言演進的廣泛共鳴。

社群觀點

社群對這篇回憶錄的反響熱烈,許多資深開發者紛紛分享了自己職涯中類似的「戰鬥事蹟」。討論的核心之一圍繞著開發環境配置的崩潰經驗。有留言者指出,即便過了二十多年,軟體界在環境自動化上依然進步有限,許多公司仍依賴充滿錯誤假設的 Python 腳本或缺乏維護的內部工具。一位開發者分享了自己曾因公司缺乏安裝指南、且腳本中充斥硬編碼路徑而無法完成環境設置,最後竟被公司以「無法執行基本環境設定」為由解雇,這引發了關於企業文化與技術領導力缺失的深度討論。另一位開發者則提到,曾有技術長因程式碼無法在其個人筆電上編譯(即便該筆電充滿了特定的本地路徑)而給予員工負面評價,這種「在我的電腦上能跑」的傲慢至今仍是許多開發者的夢魘。

關於程式語言的討論也佔據了不小的篇幅。不少人對 Python 與 JavaScript 等語言在依賴管理與打包上的混亂感到沮喪,甚至有人將其戲稱為「玩具語言」。然而,也有反對意見認為,這些所謂的玩具語言之所以能成為現代基礎設施的骨幹,是因為它們在關鍵時刻「交付了成果」,而那些被視為嚴謹的語言往往在易用性與生態系建立上慢了一步。討論中進一步延伸到共享函式庫(Shared Libraries)的設計缺陷,有觀點認為共享函式庫改變了執行上下文,導致測試與發布環境不一致,現代開發或許應該回歸更精簡的靜態連結或更嚴格的系統調用限制。

此外,社群也對技術傳承與學習心態有所感觸。有人感嘆現在的徵才過程過於僵化,過度依賴 LeetCode 或系統設計考題,而忽略了早期開發者那種「在實戰中快速學習並填補知識鴻溝」的韌性。一位留言者回憶起九零年代末期透過簡易的 HTML 教學書開啟編程之路的純粹快樂,對比現今高度分工(僅限前端或後端)且工具鏈極度複雜的現狀,社群普遍流露出一種對早期技術探索時代的懷舊情懷,同時也對未來 AI 工具是否能解決這些累積數十年的開發痛點抱持觀望態度。

延伸閱讀

  • Tales from the machine room: 由 Davide Bianchi 撰寫,留言者推薦關於運維與開發幕後故事的經典系列。
  • Make Your Own Web Page! A Guide for Kids: 啟發早期開發者的經典入門書籍,反映了九零年代末期的技術啟蒙背景。