Clint Shank
我們活在有趣的時代#
隨著開發工作分佈到全球各地,你會發現有很多人都有能力做你的工作。你必須**持續學習(continuous learning)**來保持自己的市場競爭力。否則你會變成恐龍——一直待在同一個職位上,直到有一天不再被需要,或者工作被外包給更便宜的人力。
有些雇主很慷慨,願意提供訓練來拓展你的技能。但也有些雇主不願投入時間或金錢。為了保險起見,你需要為自己的教育負責。
持續學習的方法#
以下是保持學習的方法清單,其中許多都可以在網路上免費取得:
- 閱讀書籍、雜誌、部落格、Twitter 動態和網站。如果想深入某個主題,考慮加入郵件列表或新聞群組
- 動手寫程式——如果你真的想深入了解一項技術,最好的方式就是親自動手
- 尋找導師(mentor)——盡量和導師一起工作。當頂尖的人可能會阻礙你的學習,雖然你可以從任何人身上學到東西,但從比你更聰明或更有經驗的人身上能學到更多。如果找不到導師,考慮換個環境
- 找虛擬導師——在網路上找到你欣賞的作者和開發者,訂閱他們的部落格,閱讀他們寫的所有東西
- 了解你使用的框架和函式庫——知道事物如何運作能讓你更好地使用它們。如果是開源的,用除錯器逐步瀏覽程式碼,看看底層發生了什麼
- 搞清楚錯誤——每當犯錯、修 bug 或遇到問題時,試著真正理解發生了什麼。別人很可能遇過同樣的問題並發布在網路上
- 教學相長——教導或演講是學習的好方法。當別人要聽你說並提問時,你會更有動力學習
- 加入讀書會或使用者群組——參加關於你感興趣的語言、技術或學科的學習小組
- 參加研討會——如果無法親自到場,許多研討會都會將演講免費放到網路上
- 通勤時間善加利用——聽 Podcast
- 使用靜態分析工具——在程式碼庫上運行靜態分析工具或查看 IDE 中的警告,了解它們報告了什麼以及為什麼
- 學習新語言或工具——遵循 Pragmatic Programmers 的建議,每年至少學一門新語言或工具。嘗試不同的技術棧能帶來新的想法
- 學習不限於技術——了解你工作所在的領域,這樣你能更好地理解需求並解決業務問題。學習如何更有生產力、如何更好地工作也是好選擇
- 回到學校
你不需要把每個清醒的時刻都花在學習上。每週花一點時間——比如每天一小段時間——就比什麼都不做好得多。工作之外還有(或應該有)生活。
技術變化很快,不要被拋在後面。