程式設計師成長秘籍:個人編程能力的修鍊之路

學習一門新的程式語言

  • 當熟練了Java之後,再去學習新的程式語言,比如Python,這個時候不僅能夠很快的學習好Python,Java語言能力也在迅速提高
  • 因為語言是相通的,當學習Python的時候,會帶著和Java相比較的心去學,這個時候,不僅學習了Python,也加深了對Java的理解

嘗試獨立完成一個項目

  • 獨立完整地完成一個項目,可以更全面的了解項目的構成

重溫經典書籍

  • 意識到作業系統,電腦網路,編譯原理,數據結構與演算法,資料庫知識的重要性
  • 動物書:
    • O’Reilly出版的系列書
    • 犀牛書
    • 蝴蝶書
  • 圖靈書: 人民郵電大學出版社
  • 黑皮書: 機械工業出版社
  • 非同步圖書
  • 清華大學出版社
  • 《設計模式》

認真研讀源碼

  • 查看源碼一方面可以了解看的東西是如何實現的,用到的演算法,數據結構
  • 學習程式碼的架構

使用Google進行搜索

  • 使用Google可以更加快速的解決開發時遇到的問題
  • 還能翻查Github,Stack Overflow上的部落格

使用英文文檔

  • 最主流,最新鮮,最正確的技術文章都是英文
  • 當開始閱讀英文技術文檔之後:
    • 明顯感覺學的東西都是很多書上沒有的
    • 知識點更加細節也更加系統
    • 編程不應該死記硬背,要善於查閱技術文檔
    • 國外的技術文檔寫的清晰又詳細,都有上手特別容易的QuickStart
    • 有最全面的API,而且很多新特性也能先人一步用起來
  • Stack Overflow
  • Reddit
  • Github

深入學習技術

  • 瘋狂追求技術上的細節
  • 追求更深處的實現細節,理解語言的思想以及應用場景下的解決方案,並養成對方案問為什麼的準備
  • 注重培養自己的技術能力,閱讀並參與到一些開源項目中,進入自己喜歡的技術細節領域
  • 編碼時先思考再寫:
    • 每個需求的思考佔據70%
    • 編碼的時間只要20% – 30%
  • 追求問題的完美解決方案,著重培養自己的工程能力,短時間之內理解新技術並投入使用
  • 理解語言只是解決問題的工具,思考程式語言對場景的適用性,學習和接納新的程式語言並投入使用
  • 遇到問題,學會分析問題源頭並尋找最合適的解決方法,學會階段性的自我總結
  • 注重工程能力的培養,開始注重利用技術開發高穩定可用的完整產品,注重程式碼的結構,設計和規範