文字從程序員技術練級攻略http://coolshell.cn/articles/4990.html整理而來,因此要感謝酷殼網作者貢獻此貼。
以此作爲走在技術路上近三年已然迷茫的我接下來的路上的指導方案。這裏只是把文中的部分概要和相關書籍抽出來,力圖在一張紙上列出來,對自己起一個思維導圖的作用,具體細節(包括任務目標)還得再參照作者原博文。
總體學習路線:
一、入門
1,學習一門腳本語言python
2,掌握一個程序員級編輯器vi/vim/emacs
3,熟悉linux shell常用命令
4,學習Web基礎(HTML/CSS/JS) + 服務器端技術 (LAMP)
Web基礎參考 http://www.w3school.com.cn/
閱讀書籍:HTTP: The Definitive Guide,Dynamic HTML: The Definitive Reference, 3rd Edition,
補充閱讀:JavaScript & DHTML Cookbook,
二、進階加深
1,C語言和操作系統調用
- 學習(麻省理工免費課程)計算機科學和編程導論
- 學習(麻省理工免費課程)C語言內存管理
- 學習Unix/Linux系統調用(Unix高級環境編程)
- 學習Windows SDK編程(Windows 程序設計 ,MFC程序設計)
補充經典書籍: 《c陷阱與缺陷》《c專家編程》《c指針》《the c programming language》《征服C指針》
閱讀書籍 《Java 核心技術編程》和《Java編程思想》《Agile Java Crafting Code with Test-Driven Development》(補充)
3,學習關係數據庫mysql
補充:《高性能mysql》
4,數學學習
補充相關書籍:《具體數學:計算機科學基礎》《程序員的數學》(暫列於此)
5,補充必讀:內功修煉系列
《代碼大全》《重構》《代碼整潔之道》《卓有成效的程序員》《測試驅動開發》《程序員的職業素養》
6,補充選讀:軟件方法學
三、高階深入
1、C++ / Java 和麪向對象
閱讀書籍 《設計模式》必需一讀,兩遍以上(也推薦《深入淺出設計模式》)《Effective Java》 and 《Java解惑》《深入淺出MFC》(發現有些人回頭說專門讀這本書存在問題)
2、加強系統瞭解
閱讀書籍 《Unix編程藝術》《Unix網絡編程卷1,套接字》《TCP/IP詳解 卷1:協議》(非常神奇的三本書)
《Unix網絡編程卷2,進程間通信》《Windows核心編程》
3,系統架構
負載均衡,cdn, hadoop, nosql(都是我還沒接觸過的技術)
上面基本上是博文原作者推薦的程序員職業不同階段必讀的經典技術書籍,本人補充的部分加了‘補充’二字。
除了以上所列書籍之外,通過豆瓣讀書查看任一標籤比如程序設計、軟件開發可以看到相關的全部書籍,包括最經典的和不同層次的。以上推薦書籍基本上都在豆瓣讀書最經典書籍之列,還有一些評價很高的書籍未出現作者推薦之列。如果以上推薦書籍讀完了,可以直接到華章圖書、豆瓣讀書查看相關標籤下查看哪些評價高的圖書在這裏漏了推薦,然後下載再讀(百度搜索一下都能找得到電子書下載鏈接)。對我而言,決定要不要讀某本專業書籍,華章與豆瓣上的書籍評論與評分通常來說具有很大程度的參考作用。
主要相關書籍標籤:
華章圖書 軟件與程序設計 軟件工程及軟件方法學
以上所有書籍的電子書基本上都可以在新浪共享資料庫中下載到。
本來是想直接從英語原版書學技術的,既可學計算機,又可學英語,後來發現實踐起來不太現實且太費時間了。一天看不了一兩頁,因爲英文不好,一頁來回讀幾遍才明白大概意思。這樣既已經遠離了學習技術的本意,甚至都把學習新技術的興致都給消耗怠盡了。現在終於想明白了,有中文版 的先看中文版,中文版 讀明白了,再讀英文版也成。事有輕重緩急,首先需要學的是技術,其次纔是英文!何況還是專業書籍,都是專業術語,翻譯人員一般都是有計算機背景的英語比較不錯的人,大多數中文版的翻譯水平是沒有問題的。直接讀他們翻譯的,會爲這樣英語不好但想要快速掌握這些技術的我們來說節約不少時間的。魚和熊掌無法兼得!
對於自己以後發現的比較好的相關書籍,在以後讀到時再陸續追加。
走出去期望工作崗位:高級java工程師?
按當前工作相關與走出去期望職位相關的緩急程度(優先級)選擇當下優先讀哪本書,以及在工作完成之餘做一些因興趣與實用驅動的小項目開發,對於走出去邁向更專業更高級別的崗位都具有直接意義!
作者文中所說有人兩年就讀完了相關書籍,本人就爭取三年讀個大概(雖天資平平,難道不可能嗎?)。