這是一個 42 歲的開發者所寫經驗分享文章.並且列出一些他 18 年多身為軟體開發者的經驗談.許多部分看完後都會希望自己當時就能夠了解,所以很推薦不論是新手或是老手都要好好閱讀這一篇文章
建議如下:
1. Forget The Hype (忘記各種程式語言與架構的炒作與熱潮)
不少的新的語言與技術來來去去,作者不是要你不要去學習新事物.而是不要因為有太多的新事物而恐慌或是自我放棄.持續鑽研你目前在學習的,並且可以每年挑一些你有興趣的項目深入了解.
2. Choose Your Galaxy Wisely (慎選你的星系)
為了維持原文,我還是使用星系這個字.這邊指的是你學習跟從事的技術要慎選.舉例而言微軟星系(泛指: .Net, C# ….) 或是 Apple 星系 (Objective C++ , Swift …) .慎選你喜歡的星系,因為那會影響你未來的發展.
3. Learn About Software History (了解各種軟體的歷史)
作者認為如果你喜歡一種程式語言,一種架構你就需要好好的了解他的由來與故事.
4. Keep on Learning (持續學習!!)
不論你喜歡哪些新的技術或是新的程式語言.你都應該持續的學習.裡面並且建議:
每年學習一個新的程式語言.
每年讀六本書. (作者推薦 Peopleware , The Psychology of Software Programming, Facts and Fallacies of Software Engineering, Agile!: The Good, the Hype and the Ugly, Rework 跟 Geekonomics 都是好書)
5. Teach (指導其他人)
這邊指的不是一定要開堂授課,你可以是寫一篇部落格來講解你學習的新事物.因為教導是最好的學習方式.
6. Workplaces Suck (工作場所糟糕透了)
不要去期望軟體公司會給你任何職涯的規劃,相反的不少公司會將你認為是另外一種的勞工只會將你放在你擅長的位子,所以也有軟體公司變成血汗工廠的相關文章. 作者同時也認為開放性座位對於需要高度腦力工作的軟體工作者是一種最不好的設計(使用 “cancer” 這個詞). 而對於工作上的指派,作者也建議大家應該要好好了解每個任務的內容.有任何疑問應該要提出來討論,對於不了解的事物盲從是最不好的選擇. 甚至不惜抗拒權威或是離職才是正確的選擇,不要讓這樣的工作風氣扼殺了你的熱情.
7. Know Your Worth (了解自我的市場價值)
這篇是要大家充分的瞭解自己的市場行情(也就是薪水),根據這篇文章通常一個軟體工程師應該要能創造出他自己薪水等級的十倍價值.事實上可能遠遠不止如此,所以作者建議我們要勇敢地去爭取更多的薪水.甚至你可以公開你的薪水等級,讓更多人知道你是否被低估(或是高估)任何(自認為)有妳相同能力的人,都應該拿到一樣的待遇.
8. Send The Elevator Down (虛心地接受任何意見)
這邊我的解讀可能跟作者原先的不同.他有提到膚色與種族的優勢,但是我想到的卻是你的職位,你可能會聽到許多來自於部下或是後輩的建議(或是批評).不要快速地想要反駁或是抵制,充分的瞭解過後或許可以坦誠自己的見解或許是有盲點的.必要時甚至可以道歉並且快速修正. 如同許多書上有提到的 : “你雇用一個員工,一定是要比你還強的.這樣你才能將事情交給他辦,你自己做更需要更大視野的任務”
9. LLVM (LLVM)
作者認為 LLVM 會是下一個重要的資訊頁的星系 (Galaxy) ,目前已經有許多的程式語言支援 LLVM 了.所以作者建議我們可以花一些時間去了解,或許去學習相關的程式語言.
10. Follow Your Gut (相信你的直覺)
作者在 2000 年就覺得 .NET 會引領接下來的幾年,在 2007 年 iPhone 的發表會就了解他的相關技術會是緊接著幾年的發展趨勢.
當然,這是作者的直覺.但是,你也應該充分地相信你的直覺.你也應該相信你的直覺,並且努力的去追求與學習.
11. APIs Are King (API 是王道)
這邊很推從好的 API 設計是很重要的.不僅僅影響 server 與 client 的溝通,更會影響到好的軟體品質. 也提出 chunky is better than chatty (簡單的說:就是不要將 API 拆的太精簡,使得 API call 需要往來相當的多次)
同時作者也建議不要太依賴 REST ,不仿看看 socket.io, ZeroMQ, RabbitMQ, 或是 Erlang. 並且也應該開始架設自己的機器人.
12. Fight Complexity (將複雜的事情簡單化)
永遠要秉持著 KISS 原則 (“Keep it short and simple”) 來處理任何事情. 面對困難或是負責的事情,有著不少工具可以幫助你將設計簡單化.
Conclusion (結論)
“年齡永遠不會是一個問題,只要你的心不斷催促你持續寫程式,持續製造新的東西.你永遠都會是年輕的”
這是作者給我們的結論,他也希望我們能夠保持一顆年輕的心.不斷學習. 2016 是一個嶄新的一年,有著許多新奇的事件發生 (微軟擁抱 Ubuntu,並且讓 SQL Server 在 Linux 上執行,機器人 (AlphaGo) 的大反攻 ) .我們不會知道有什麼會發生,但是他希望我們都記住這些精神,並且微笑向前.
完整導讀: http://www.evanlin.com/developer-after-40/
建議如下:
1. Forget The Hype (忘記各種程式語言與架構的炒作與熱潮)
不少的新的語言與技術來來去去,作者不是要你不要去學習新事物.而是不要因為有太多的新事物而恐慌或是自我放棄.持續鑽研你目前在學習的,並且可以每年挑一些你有興趣的項目深入了解.
2. Choose Your Galaxy Wisely (慎選你的星系)
為了維持原文,我還是使用星系這個字.這邊指的是你學習跟從事的技術要慎選.舉例而言微軟星系(泛指: .Net, C# ….) 或是 Apple 星系 (Objective C++ , Swift …) .慎選你喜歡的星系,因為那會影響你未來的發展.
3. Learn About Software History (了解各種軟體的歷史)
作者認為如果你喜歡一種程式語言,一種架構你就需要好好的了解他的由來與故事.
4. Keep on Learning (持續學習!!)
不論你喜歡哪些新的技術或是新的程式語言.你都應該持續的學習.裡面並且建議:
每年學習一個新的程式語言.
每年讀六本書. (作者推薦 Peopleware , The Psychology of Software Programming, Facts and Fallacies of Software Engineering, Agile!: The Good, the Hype and the Ugly, Rework 跟 Geekonomics 都是好書)
5. Teach (指導其他人)
這邊指的不是一定要開堂授課,你可以是寫一篇部落格來講解你學習的新事物.因為教導是最好的學習方式.
6. Workplaces Suck (工作場所糟糕透了)
不要去期望軟體公司會給你任何職涯的規劃,相反的不少公司會將你認為是另外一種的勞工只會將你放在你擅長的位子,所以也有軟體公司變成血汗工廠的相關文章. 作者同時也認為開放性座位對於需要高度腦力工作的軟體工作者是一種最不好的設計(使用 “cancer” 這個詞). 而對於工作上的指派,作者也建議大家應該要好好了解每個任務的內容.有任何疑問應該要提出來討論,對於不了解的事物盲從是最不好的選擇. 甚至不惜抗拒權威或是離職才是正確的選擇,不要讓這樣的工作風氣扼殺了你的熱情.
7. Know Your Worth (了解自我的市場價值)
這篇是要大家充分的瞭解自己的市場行情(也就是薪水),根據這篇文章通常一個軟體工程師應該要能創造出他自己薪水等級的十倍價值.事實上可能遠遠不止如此,所以作者建議我們要勇敢地去爭取更多的薪水.甚至你可以公開你的薪水等級,讓更多人知道你是否被低估(或是高估)任何(自認為)有妳相同能力的人,都應該拿到一樣的待遇.
8. Send The Elevator Down (虛心地接受任何意見)
這邊我的解讀可能跟作者原先的不同.他有提到膚色與種族的優勢,但是我想到的卻是你的職位,你可能會聽到許多來自於部下或是後輩的建議(或是批評).不要快速地想要反駁或是抵制,充分的瞭解過後或許可以坦誠自己的見解或許是有盲點的.必要時甚至可以道歉並且快速修正. 如同許多書上有提到的 : “你雇用一個員工,一定是要比你還強的.這樣你才能將事情交給他辦,你自己做更需要更大視野的任務”
9. LLVM (LLVM)
作者認為 LLVM 會是下一個重要的資訊頁的星系 (Galaxy) ,目前已經有許多的程式語言支援 LLVM 了.所以作者建議我們可以花一些時間去了解,或許去學習相關的程式語言.
10. Follow Your Gut (相信你的直覺)
作者在 2000 年就覺得 .NET 會引領接下來的幾年,在 2007 年 iPhone 的發表會就了解他的相關技術會是緊接著幾年的發展趨勢.
當然,這是作者的直覺.但是,你也應該充分地相信你的直覺.你也應該相信你的直覺,並且努力的去追求與學習.
11. APIs Are King (API 是王道)
這邊很推從好的 API 設計是很重要的.不僅僅影響 server 與 client 的溝通,更會影響到好的軟體品質. 也提出 chunky is better than chatty (簡單的說:就是不要將 API 拆的太精簡,使得 API call 需要往來相當的多次)
同時作者也建議不要太依賴 REST ,不仿看看 socket.io, ZeroMQ, RabbitMQ, 或是 Erlang. 並且也應該開始架設自己的機器人.
12. Fight Complexity (將複雜的事情簡單化)
永遠要秉持著 KISS 原則 (“Keep it short and simple”) 來處理任何事情. 面對困難或是負責的事情,有著不少工具可以幫助你將設計簡單化.
Conclusion (結論)
“年齡永遠不會是一個問題,只要你的心不斷催促你持續寫程式,持續製造新的東西.你永遠都會是年輕的”
這是作者給我們的結論,他也希望我們能夠保持一顆年輕的心.不斷學習. 2016 是一個嶄新的一年,有著許多新奇的事件發生 (微軟擁抱 Ubuntu,並且讓 SQL Server 在 Linux 上執行,機器人 (AlphaGo) 的大反攻 ) .我們不會知道有什麼會發生,但是他希望我們都記住這些精神,並且微笑向前.
完整導讀: http://www.evanlin.com/developer-after-40/
留言