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