程序員老實、愛學習,也是最有危機感的群體之一,他們每天在GitHub、各大技術論壇上如饑似渴地汲取對自己最有幫助的技術知識,同時怕時間精力跟不上高強度的程序員工作。
為此,我們基于華為云各個產品線技術專家多年工作經驗和心得體會,再經過層層篩選整理,推出了這份程序員進階必讀書單。
無論是1年小白、5年資深還是10年技術專家,或者更高階的CTO,都可以在書單中找到適合自己目前階段的書,清晰化未來要走的方向,讓路越走越寬,財富累、技能累積、經驗累積也會愈發順利。
第一階段:初級程序員(0-3年)
初級程序員工作經驗在3年以下,處于打基礎、定方向的階段,這時候建議主要精力用于夯實基礎,規范編程上,將會終身受益。
了解自己所在的領域,對吃飯的工具有清晰的認知
《編碼:隱匿在計算機軟硬件背后的語言》
豆瓣評分:9.2分
這本書常年排在程序員必讀書單TOP5內,作者用豐富的想象將看似繁雜的計算機工作原理闡述得通俗易懂。比如讀的時候,你會驚訝地發現把電線、電燈泡、觸發器這些常見的零件拼拼接接,最后居然可以建造一臺電子計算機,在這個過程中,還順便學了數理邏輯、布爾代數、組合數學、集合、物理、化學和電子學。
代碼是一個程序員的靈魂,每個優秀的程序員都應該認真對待親手寫出的代碼
《代碼整潔之道》
豆瓣評分:8.6分
閱讀這本書有兩種原因:第一,你是個程序員;第二,你想成為更好的程序員。
作者Bob大叔給出了一系列整潔代碼操作實踐,并用實際項目的正、反案例,說明只要遵循這些規則,就能編寫出干凈的代碼,從而有效提升代碼質量。而干凈的代碼,既容易理解、質量可靠,而且讓項目更容易啟動和延續,也為后期維護、升級奠定了良好基礎。
從實際問題出發,讓自己的編程語言和思維更上一層樓
《編程珠璣》
豆瓣評分:9.1分
作者Jon Bentley可以說是計算機科學大家培養專業戶,Java之父James Gosling就是他的學生。他選取了典型的復雜編程和算法問題,生動描繪大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。比如和Bob Martin討論密西西比河一天流出多少水,用這樣一個小問題引出粗略估算的技巧。
多學點算法和數據結構,提高編程水平
《數據結構和算法分析(套書)》
豆瓣均分:8.7分
國內外很多大學都拿它當作教材,這套書非常系統、全面、嚴謹,適合對數據結構和算法有些基本了解,并且掌握了至少一門編程語言的程序員。而且,作者用了CC++Java三種語言分別寫了三個版本。被眾多程序員選為最好的算法入門書,看完了這本書再看其它算法書,會很有底氣。
初級程序員必備軟技能,學習職業規劃、自我營銷
《軟技能—代碼之外的生存指南》
豆瓣評分:8.0分
概括了軟件行業從業人員所需的“軟技能”,從揭秘面試的流程到精耕細作出一份殺手級簡歷,從創建大受歡迎的博客到打造個人IP,從提高自己工作效率到與如何與“拖延癥”做斗爭,甚至包括如何投資不動產,如何關注自己的健康,堪稱程序員的生活百科全書。
這個階段的程序員童鞋,有的想深入學習某一門主流開發語言,例如Java,則可以進行由淺到深的學習、實訓,熟練使用Java進行面向對象設計(查看JAVA學習路線)。如果想對于自己所學做一個初步應用,可嘗試從最初級的網站建設開始(查看學習路線),從0學起,從HTML、CSS基礎課程開始,到頁面腳本、頁面框架等,可以輕松上手網站搭建。
第二階段:中高級程序員(3-5年)
從部門新人變為老人后,需要對自己的職業規劃有明確方向,如果選擇專攻技術,必然要多學習,進一步提高業務能力和技術能力,積累優質的項目經驗。
例如對底層基礎建設感興趣,可以進行數據庫的系統學習(查看學習路線)數據庫一站式學習平臺 ,涵蓋數據庫理論基礎、優質課程、案例實踐。。
“代碼有很多種壞味道,重復是最壞的一種”
《重構:改善既有代碼的設計》
豆瓣評分:9.0分
重構,就是在不改變外部行為的前提下,有條不紊地改善代碼。本書凝聚了軟件開發社區專家多年實踐經驗,解釋重構的原理和最佳實踐方式,并指出何時何地應該開始挖掘你代碼以求改善。
整本書第三章“代碼壞味”,寫的很有用。什么是代碼的壞味道,如何消除這些壞味道,這是一本關于代碼美學的一本書,培養碼農那高貴的code taste的不二選擇。
總有不合理的軟件項目存在,如何避免犯一些經典錯誤
《快速軟件開發》
豆瓣評分:8.4分
軟件開發處處都是陷阱,作者告訴你前人都踩了哪些坑。本書總結了以微軟為代表的美國軟件業的項目實踐經驗,并列出了可以提高項目開發速度的方法和技巧。比如,過緊或不合理的進度計劃可能是軟件開發唯一最具破壞力的殺手,所以開發人員要提高談判能力,合理規劃項目進度。
技術能力之外,提高工作效率很重要
《高效程序員的45個習慣》
豆瓣評分:8.2分
總結高效程序員在開發過程中的45個個人習慣、思想觀念和方法,有助于開發人員在開發進程、編碼工作、開發者態度、項目和團隊管理,以及持續學習等方面積極修煉。養成這些好的習慣,可以極大地提升自己的編程實力,更快速、更可靠地交付更高質量的軟件,從而成為真正的高效程序員。
程序員職業生涯到了一定階段,系統地思考職業發展】
《軟技能2:軟件開發者職業生涯指南》
豆瓣評分:9.0分
了解軟件開發從業者需要具備的各種“軟技能”,包括如何選擇工作崗位、如何選擇技術方向、如何拓展技術技能、如何與團隊和領導融洽相處等等。
培養專業的軟件開發素養,具備良好的編程實踐
《程序員修煉之道:通向務實的最高境界(第2版)》
豆瓣評分:9.2
理解身為一名程序員到底意味著什么,本書通過許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟件開發的最佳實踐和重大陷阱。書中有一章的標題是“我的源碼被貓吃了”,其實說的是當你發現問題時,重要的是解決它,而不是把錯誤推給“貓”。華為云資深架構師董老師在“云享讀書會”領讀過這本書,拆解書中精華知識,學練結合,拒絕紙上談兵。
這一階段的程序員可以拓寬邊界,學習新的技術和知識,為下一步的職業進階未雨綢繆,此時找準熱門領域很重要。
第三階段:全棧工程師/軟件設計師
(5-10年)
這個時期的程序員,或多或少要開始思考職業拐點:是繼續做一名底層碼農,還是往前走兩步,成為一個優秀的全棧工程師或者軟件設計師。
無論是前后端技術一把手的全棧工程師,還是有程序設計能力的軟件設計師,都得精通多門編程語言,有系統性的技術能力。前幾年打好技術基礎后,此時更要注重技術之外的軟件開發細節,讓自己的工作更勝一籌。
全棧工程師必備技能之協調客戶、管理好項目
《人月神話》
豆瓣評分:8.4分
軟件領域的圣經,內容源于作者在IBM公司System/360家族和OS/360中的項目管理經驗。書名中的“人月”指的是一個人在一個月內完成的工作,“神話”指通過人手來縮短項目實踐是神話。
雖然書里很多概念、例子、技術都屬于上古時期的遺跡了,但是書里介紹的軟件開發的困難、管理的思路,仍然可以在今天的軟件開發中找到對應的場景。
全棧工程師培養可用性思維
《點石成金 : 訪客至上的Web和移動可用性設計秘笈》
豆瓣評分:8.2分
一本關于Web設計原則而不是Web設計技術的書,作者用幽默的語言揭示Web設計中重要但卻容易被忽視的問題,只需幾個小時,便能對照書中講授的設計原則找到網站設計的癥結所在,常看常新。
軟件設計模式領域的里程碑著作
《設計模式》
豆瓣評分:9.1分
設計模式不是語法規定,而是一套用來提高代碼可復用性、可維護性、可讀性以及安全性的解決方案,一般的大型項目開發或者框架設計,都會用設計模式來組織代碼。
本書從面向對象的設計中精選出23個設計模式,面向對象開發必讀,雖然隨著動態語言的發展,很多模式都已經融入到語言當中,但是作為一個好的開發者,這本書講的不是模式本身,而是模式的軌跡。
轉變一下程序員的思維,認識交互設計的重要性
《交互設計之路》
豆瓣評分:7.9分
雖然書中不乏“黑”程序員的橋段,但卻是程序員很好的交互設計啟蒙書。作者通過列舉真實案例,討論由于產品設計中存在“認知摩擦”引起的“難用”問題,講述如何創建更好的、高客戶忠誠度的軟件產品和基于軟件的高科技產品。
面對漫長的職業生涯,靜下心來追求“良質”
《禪與摩托車維修藝術》
豆瓣評分:8.3分
一本非典型的適合程序員閱讀的哲學書,霍金、喬布斯都曾推薦過。書中講述作者和兒子 騎摩托車旅游路途所悟到的“禪”,其中最關鍵的就是“良質”。
舉個例子,寫程序跟維修摩托車一樣,有時候會枯燥、機械且乏味,但如果用“良質”的境界用心去對待這件事,找到內心的平衡,最好能達到“物我兩忘”的境界,最終的結果就是另一番局面了。
從初級程序員進階為全能手,需要持之以恒的學習吸收各種技術知識。全棧工程師是個不錯的選擇,感興趣的童鞋可以通過華為云的學習體驗中心了解:JAVA開發全棧成長計劃、WEB前端全棧成長計劃、IoT物聯網全棧成長計劃、AI人工智能全棧成長計劃,幫助你度過技術轉型過渡期,成為一個優秀的全棧工程師。
第四階段:架構師、CTO(10年以上)
恭喜你,已經進階到程序員的金字塔頂端了!入行有10多年經驗的你,有過項目開發經歷,精通多門編程語言且熟悉數據庫,對行業、技術、產品都有了深層次的認識,帶好團隊成為更關鍵的業務能力。
為解決架構設計模式中的“疑難雜癥”打開思路
《企業應用架構模式》
豆瓣評分:8.3分
將40多種常見的解決方案轉化成模式,每個模式都給出使用方法和實現信息,并配以詳細的Java代碼或C#代碼示例。
雖然書中有些內容放在現在有點過時,但如網友所言,在今天的開發思想環境下,也許再也不會出來這樣一本重量級的企業架構模式的書,甚至其中的很多模式會被覺得太重,太Java/.NET,但這才是真正的大型軟件項目應有的架構模式,值得每一個程序員細細品味。
跟著國外技術大佬學團隊管理
《極客與團隊》
豆瓣評分:8.3分
程序員辦公室政治指南,谷歌技術大佬以自身的經歷為基礎,闡明了團隊合作的重要性,提出了加強合作的具體方法,并輔以實例進行了深入分析。全文主要從三個角度介紹了團隊合作的方法:如何處理團隊中有關人的方面;如何在良好或不佳的公司中工作;如何與用戶合作創造更出眾的產品。
帶領團隊完成敏捷轉型
《敏捷轉型:打造VUCA時代的高效能組織》
豆瓣評分:9.2分
為了幫助更多期待轉型或者處于轉型過程中的企業走出誤區、突破阻礙,本書重點闡述了敏捷轉型的步驟、方法和策略,用大量真實的案例,生動還原敏捷轉型容易走入的誤區,以及企業在轉型過程中常見的疑惑。
從技術人員轉型為領導者,系統提高技術領導力
《成為技術領導者》
豆瓣評分:8.3分
很多技術人員固有思維會阻礙真正的交流,甚至忽略真正的問題,這本書能夠清晰的指出這些事情。
作為一名成功領導者所必須掌握的領導方法與技巧——創新、激勵和組織(MOI模型)。本書提出了一些方法,供技術人員分析自己在這三個方面的領導技巧,并提供了開發這些技巧所需的實踐步驟。
架構師也好,CTO也罷,管理團隊有時候比技術能力更重要
《人件》
豆瓣評分:8.2分
從管理人力資源、創建健康的辦公環境、雇用并留用正確的人、高效團隊形成、改造企業文化和快樂工作等多個角度,闡釋了如何思考和管理軟件開發的最大問題——人(而不是技術),以得到高效的項目和團隊。
本書的一個基本出發點就是,管理者不應該把員工看作冷冰冰的機器或可隨時替換的零件,而應尊重他們的生物、社會屬性,當成有血有肉的“人件”來管理。
結語:
關于程序員是否吃青春飯,一直是火熱討論的話題,無論哪一行,多思考多總結,“拓寬舒適圈”就會比“跳出舒適圈”更容易達到。
對于多數程序員來說,40歲之前賺到別人60歲的錢是普遍目標,不過職業的進階也印證著人生的進階,所以何時開始思考未來的職業規劃,都不算早。
以上列舉的20本書,雖然不能做到面面俱到,但可以從“術”的層面,為想要擺脫焦慮、走上技術進階之路的程序員指點迷津,鉆研出職業進階的“道”。歡迎大家收藏本書單,閱讀計劃安排起來!
原文標題:盤點程序員實用書單,你修煉到了第幾層?
文章出處:【微信公眾號:華為開發者社區】歡迎添加關注!文章轉載請注明出處。
-
開發
+關注
關注
0文章
378瀏覽量
42144 -
程序員
+關注
關注
4文章
956瀏覽量
30940
原文標題:盤點程序員實用書單,你修煉到了第幾層?
文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
芯盾時代SDP助力企業應對核心機密泄露危機
程序員最常見謊言
【書籍評測活動NO.67】成為硬核Linux開發者:《Linux 設備驅動開發(第 2 版)》
軟通國際亮相2025沙中開源與AI科技峰會
奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官
開鴻智谷“以賽促學、以賽選才”|1024程序員節暨開源鴻蒙構建大會圓滿落幕!
keil調試階段無法進行仿真,能進到仿真界面,但是無法執行程序怎么解決?
程序設計與數據結構
如何使用EZUSB-CX3實現雙階段引導加載程序?
如何在 樹莓派 上編寫和運行 C 語言程序?
零基礎入門:如何在樹莓派上編寫和運行Python程序?
Gemini Vision + Raspberry Pi 化身“數字導盲犬”?
不同階段程序員的書籍推薦
評論