推薦給學(xué)徒期程序員的一本小書:《軟件開發(fā)者路線圖》
適合閱讀這本書的人:想要轉(zhuǎn)行做軟件開發(fā)的人、即將走入職場的IT專業(yè)大學(xué)生、實習(xí)階段的程序員、學(xué)徒程序員、想要進(jìn)一步提高自己技術(shù)水平的程序員。

本文來自豆瓣用戶:Melanocyte
原文地址:https://book.douban.com/review/13345956/
讀者可以帶著相當(dāng)輕松的心態(tài)閱讀這本書,這并不是一本關(guān)于如何設(shè)計、如何開發(fā)軟件的技術(shù)類書籍,這是一本關(guān)于規(guī)劃軟件開發(fā)職業(yè)生涯的開端,并幫助你在未來技術(shù)道路上追求卓越的書。 除去前言和總結(jié),本書一共有五個章節(jié)(“第二章 空杯心態(tài)”、“第三章 走過漫漫長路”、 “第四章 準(zhǔn)確的自我評估”、“第五章 恒久學(xué)習(xí)”、 “第六章 安排你的課程“ )共35個”Patterns”。每個Pattern就像一張小卡片,包含著“情景分析”、“問題描述”、“解決方法”等等。如果你不著急像我一樣匆匆“讀完”然后把這本書還給圖書館,那么完全可以把這本書當(dāng)成職業(yè)發(fā)展道路上的一本工具書,在遇到具體問題的時候來查閱對應(yīng)的Pattern和可采用的解決方法。
我最喜歡的十個 "Patterns":
空杯心態(tài):
1. 入門語言
在學(xué)習(xí)第一門語言的過程中,可以找一些實際的問題來解決,動手做一個項目或?qū)懸粋€小游戲。
學(xué)習(xí)語言最好的方法就是和導(dǎo)師們一起工作??孔约阂部梢詫W(xué)習(xí)一門語言,但除非與專家交流,否則你可能需要更長時間來領(lǐng)會語言的精神。
幾年之內(nèi),第一門語言就是你學(xué)習(xí)其他語言的框架。第一門語言學(xué)得越好,下一門語言學(xué)起來就越容易。
2. 具體技能
學(xué)會并熟練掌握一些具體的技能(比如JavaScript、基本的網(wǎng)頁設(shè)計技能等等),這可以讓團(tuán)隊相信你可以做出貢獻(xiàn)。
可以養(yǎng)成習(xí)慣定期將自己的履歷審查一遍,把具體技能列到一份單獨的列表中。(定期更新LinkedIn profile的技能)
3. 暴露無知
“明天的我要讓自己看起來更傻一些,而對此的感覺要更好一些。那種保持沉默并猜測到底發(fā)生了什么的作法是行不通的?!?/p>
可以寫下跟工作相關(guān),而自己不太明白的五件事。
走過漫漫長路:
4. 培養(yǎng)激情
當(dāng)自己感到疲憊的時候,需要做些什么來保護(hù)對于軟件開發(fā)工藝的興趣。
做點自己喜歡的事情,例如做一些自己感興趣的項目,構(gòu)造質(zhì)脆玩具。
鉆研名著,讓自己沉浸到軟件開發(fā)領(lǐng)域的杰出作品中。
準(zhǔn)確的自我評估
5. 找人指導(dǎo)
當(dāng)需要幫助和指導(dǎo)時,努力向?qū)焸兒妥咴谇邦^的人學(xué)習(xí)。
尋找指導(dǎo)者,并且將自己從指導(dǎo)者那里學(xué)到的東西傳遞下去。
恒久學(xué)習(xí):
6. 提高帶寬
有時必須開發(fā)一些必要的方法和技巧來高效的獲取,理解,維持并應(yīng)用新的知識。
從多個維度去尋求新的知識和經(jīng)驗:比如關(guān)注在線教程、與作者聯(lián)系交流、參加技術(shù)交流會議等等。
7. 質(zhì)脆玩具
設(shè)計并構(gòu)建一套玩具系統(tǒng),用相對私有的空間尋求失敗。(安全的地方來犯錯誤)
讓玩具系統(tǒng)跟你的學(xué)徒生活相關(guān)且有用(如wiki,日程表或者地址簿)
好習(xí)慣:每學(xué)習(xí)一門新語言,就用它來編寫一個游戲。
8. 記錄所學(xué)
使用博客來記錄所學(xué)到的經(jīng)驗。
維護(hù)記錄的工具也是重要的質(zhì)脆玩具(比如Tech blog!)
9. 分享所學(xué)
在學(xué)徒期的早期就養(yǎng)成定期分享所學(xué)經(jīng)驗的習(xí)慣。(寫博客,開buddy catch-up等等)
教別人是一種非常強(qiáng)大的學(xué)習(xí)方法。(“一個人教的時候,兩個人在學(xué)?!保?/p>
安排你的課程:
10. 閱讀列表
維護(hù)一張“閱讀列表”,跟蹤打算讀的書,記錄讀過的書。
可以把這張列表保存在blog,并保持文件更新。

