35歲以上的程式設計師們,後來都幹什麼去了?
摘要:對於多數程式設計師來說,40歲之前賺到別人60歲的錢是普遍目標,不過職業的進階也印證著人生的進階,所以何時開始思考未來的職業規劃,都不算早。
知乎上有個話題叫做“程式設計師的悲哀是什麼?”,有個高贊回覆直戳大多數程式設計師的命門:“最大的悲哀就是以為自己掙到了很多錢,其實根本不懂怎麼掙錢,隨著年齡的增長,工作瓶頸越來越多,越來越容易受到歧視,卻不知道怎麼走下去!”
程式設計師老實、愛學習,也是最有危機感的群體之一,他們每天在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進行物件導向設計()。
如果想對於自己所學做一個初步應用,可嘗試從最初級的開始(),從0學起,從HTML、CSS基礎課程開始,到頁面指令碼、頁面框架等,可以輕鬆上手網站搭建。
程式設計師的第二階段:中高階程式設計師(3-5年)
從部門新人變為老人後,需要對自己的職業規劃有明確方向,如果選擇專攻技術,必然要多學習,進一步提高業務能力和技術能力,積累優質的專案經驗。
例如對底層基礎建設感興趣,可以進行資料庫的系統學習()資料庫一站式學習平臺 ,涵蓋資料庫理論基礎、優質課程、案例實踐。
如果對移動端的開發感興趣,可以嘗試移動開發學習路線()。移動開發一站式學習平臺 ,涵蓋Android基礎核心、優質課程、案例實踐。從入門到精通,精準學習。
一、“程式碼有很多種壞味道,重複是最壞的一種”,先讓你的程式碼更優雅
《重構:改善既有程式碼的設計》 豆瓣評分:9.0分
重構,就是在不改變外部行為的前提下,有條不紊地改善程式碼。本書凝聚了軟體開發社群專家多年實踐經驗,解釋重構的原理和最佳實踐方式,並指出何時何地應該開始挖掘你程式碼以求改善。
整本書第三章“程式碼壞味”,寫的很有用。什麼是程式碼的壞味道,如何消除這些壞味道,這是一本關於程式碼美學的一本書,培養碼農那高貴的code taste的不二選擇。
二、總有不合理的軟體專案存在,如何避免犯一些經典錯誤
《快速軟體開發》 豆瓣評分:8.4分
軟體開發處處都是陷阱,作者告訴你前人都踩了哪些坑。本書總結了以微軟為代表的美國軟體業的專案實踐經驗,並列出了可以提高專案開發速度的方法和技巧。
比如,過緊或不合理的進度計劃可能是軟體開發唯一最具破壞力的殺手,所以開發人員要提高談判能力,合理規劃專案進度。
三、技術能力之外,提高工作效率很重要
《高效程式設計師的45個習慣》 豆瓣評分:8.2分
總結高效程式設計師在開發過程中的45個個人習慣、思想觀念和方法,有助於開發人員在開發程式、編碼工作、開發者態度、專案和團隊管理,以及持續學習等方面積極修煉。
養成這些好的習慣,可以極大地提升自己的程式設計實力,更快速、更可靠地交付更高質量的軟體,從而成為真正的高效程式設計師。
四、程式設計師職業生涯到了一定階段,系統地思考職業發展
《軟技能2:軟體開發者職業生涯指南》 豆瓣評分:9.0分
瞭解軟體開發從業者需要具備的各種“軟技能”,包括如何選擇工作崗位、如何選擇技術方向、如何擴充技術技能、如何與團隊和領導融洽相處等等。
五、培養專業的軟體開發素養,具備良好的程式設計實踐
《程式設計師修煉之道:通向務實的最高境界(第2版)》 豆瓣評分:9.2分
理解身為一名程式設計師到底意味著什麼,本書透過許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的最佳實踐和重大陷阱。
書中有一章的標題是“我的原始碼被貓吃了”,其實說的是當你發現問題時,重要的是解決它,而不是把錯誤推給“貓”。
華為雲資深架構師董老師在領讀過這本書,拆解書中精華知識,學練結合,拒絕紙上談兵。
這一階段的程式設計師可以拓寬邊界,學習新的技術和知識,為下一步的職業進階未雨綢繆,此時找準熱門領域很重要。5G時代下,AI和物聯網都極具發展潛力:AI一站式學習平臺(),涵蓋AI理論基礎、程式設計技術、案例實踐。物聯網一站式學習平臺()涵蓋物聯網理論基礎、嵌入式開發、應用開發、大資料分析,從0開始,快速提升開發技能。
程式設計師的第三階段:全棧工程師/軟體設計師(5-10年)
這個時期的程式設計師,或多或少要開始思考職業拐點:是繼續做一名底層碼農,還是往前走兩步,成為一個優秀的全棧工程師或者軟體設計師。
無論是前後端技術一把手的全棧工程師,還是有程式設計能力的軟體設計師,都得精通多門程式語言,有系統性的技術能力。前幾年打好技術基礎後,此時更要注重技術之外的軟體開發細節,讓自己的工作更勝一籌。
一、全棧工程師必備技能之協調客戶、管理好專案
《人月神話》 豆瓣評分:8.4分
軟體領域的聖經,內容源於作者在IBM公司System/360家族和OS/360中的專案管理經驗。書名中的“人月”指的是一個人在一個月內完成的工作,“神話”指透過人手來縮短專案實踐是神話。
雖然書裡很多概念、例子、技術都屬於上古時期的遺蹟了,但是書裡介紹的軟體開發的困難、管理的思路,仍然可以在今天的軟體開發中找到對應的場景。
二、全棧工程師培養可用性思維
《點石成金 : 訪客至上的Web和移動可用性設計秘笈》 豆瓣評分:8.2分
一本關於Web設計原則而不是Web設計技術的書,作者用幽默的語言揭示Web設計中重要但卻容易被忽視的問題,只需幾個小時,便能對照書中講授的設計原則找到網站設計的癥結所在,常看常新。
三、軟體設計模式領域的里程碑著作
《設計模式》 豆瓣評分:9.1分
設計模式不是語法規定,而是一套用來提高程式碼可複用性、可維護性、可讀性以及安全性的解決方案,一般的大型專案開發或者框架設計,都會用設計模式來組織程式碼。
本書從物件導向的設計中精選出23個設計模式,物件導向開發必讀,雖然隨著動態語言的發展,很多模式都已經融入到語言當中,但是作為一個好的開發者,這本書講的不是模式本身,而是模式的軌跡。
四、轉變一下程式設計師的思維,認識互動設計的重要性
《互動設計之路》 豆瓣評分:7.9分
雖然書中不乏“黑”程式設計師的橋段,但卻是程式設計師很好的互動設計啟蒙書。作者透過列舉真實案例,討論由於產品設計中存在“認知摩擦”引起的“難用”問題,講述如何建立更好的、高客戶忠誠度的軟體產品和基於軟體的高科技產品。
五、面對漫長的職業生涯,靜下心來追求“良質”
《禪與摩托車維修藝術》 豆瓣評分:8.3分
一本非典型的適合程式設計師閱讀的哲學書,霍金、賈伯斯都曾推薦過。書中講述作者和兒子 騎摩托車旅遊路途所悟到的“禪”,其中最關鍵的就是“良質”。
舉個例子,寫程式跟維修摩托車一樣,有時候會枯燥、機械且乏味,但如果用“良質”的境界用心去對待這件事,找到內心的平衡,最好能達到“物我兩忘”的境界,最終的結果就是另一番局面了。
從初級程式設計師進階為全能手,需要持之以恆的學習吸收各種技術知識。全棧工程師是個不錯的選擇,感興趣的童鞋可以瞭解學習:、、、,幫助你度過技術轉型過渡期,成為一個優秀的全棧工程師。
程式設計師的第四階段:架構師、CTO(10年以上)
恭喜你,已經進階到程式設計師的金字塔頂端了!入行有10多年經驗的你,有過專案開發經歷,精通多門程式語言且熟悉資料庫,對行業、技術、產品都有了深層次的認識,帶好團隊成為更關鍵的業務能力。
一、為解決架構設計模式中的“疑難雜症”開啟思路
《企業應用架構模式》 豆瓣評分:8.3分
將40多種常見的解決方案轉化成模式,每個模式都給出使用方法和實現資訊,並配以詳細的Java程式碼或C#程式碼示例。
雖然書中有些內容放在現在有點過時,但如網友所言,在今天的開發思想環境下,也許再也不會出來這樣一本重量級的企業架構模式的書,甚至其中的很多模式會被覺得太重,太Java/.NET,但這才是真正的大型軟體專案應有的架構模式,值得每一個程式設計師細細品味。
二、跟著國外技術大佬學團隊管理
《極客與團隊》豆瓣評分:8.3分
程式設計師辦公室政治指南,谷歌技術大佬以自身的經歷為基礎,闡明瞭團隊合作的重要性,提出了加強合作的具體方法,並輔以例項進行了深入分析。全文主要從三個角度介紹了團隊合作的方法:如何處理團隊中有關人的方面;如何在良好或不佳的公司中工作;如何與使用者合作創造更出眾的產品。
三、帶領團隊完成敏捷轉型
《敏捷轉型:打造VUCA時代的高效能組織》 豆瓣評分:9.2分
為了幫助更多期待轉型或者處於轉型過程中的企業走出誤區、突破阻礙,本書重點闡述了敏捷轉型的步驟、方法和策略,用大量真實的案例,生動還原敏捷轉型容易走入的誤區,以及企業在轉型過程中常見的疑惑。
,歡迎感興趣的童鞋去聽聽。
四、從技術人員轉型為領導者,系統提高技術領導力
《成為技術領導者》 豆瓣評分:8.3分
很多技術人員固有思維會阻礙真正的交流,甚至忽略真正的問題,這本書能夠清晰的指出這些事情。
作為一名成功領導者所必須掌握的領導方法與技巧——創新、激勵和組織(MOI模型)。本書提出了一些方法,供技術人員分析自己在這三個方面的領導技巧,並提供了開發這些技巧所需的實踐步驟。
五、架構師也好,CTO也罷,管理團隊有時候比技術能力更重要
《人件》 豆瓣評分:8.2分
從管理人力資源、建立健康的辦公環境、僱用並留用正確的人、高效團隊形成、改造企業文化和快樂工作等多個角度,闡釋瞭如何思考和管理軟體開發的最大問題——人(而不是技術),以得到高效的專案和團隊。
本書的一個基本出發點就是,管理者不應該把員工看作冷冰冰的機器或可隨時替換的零件,而應尊重他們的生物、社會屬性,當成有血有肉的“人件”來管理。
結語:
關於程式設計師是否吃青春飯,一直是火熱討論的話題,無論哪一行,多思考多總結,“拓寬舒適圈”就會比“跳出舒適圈”更容易達到。
對於多數程式設計師來說,40歲之前賺到別人60歲的錢是普遍目標,不過職業的進階也印證著人生的進階,所以何時開始思考未來的職業規劃,都不算早。
以上列舉的20本書,雖然不能做到面面俱到,但可以從“術”的層面,為想要擺脫焦慮、走上技術進階之路的程式設計師指點迷津,鑽研出職業進階的“道”。
歡迎大家收藏本書單,閱讀計劃安排起來!
注:本文涉及的部分書籍介紹和點評內容源自豆瓣、京東等網路平臺。
【開發者重磅福利】華為雲開發者學習頻道現已開通,由華為雲專家講解,免費帶你學技術 ,暢遊最新、最火的領域(人工智慧,物聯網,大資料……)。課程錄製講師團隊由華為雲專家、各大IT教育團隊組成,全部課程免費學習,課程以錄製形式展現,學習自由化。免費開放,名額有限,!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2796419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計師都幹些什麼?程式設計師
- 那些拼命加班的程式設計師們,後來都怎麼樣了?程式設計師
- 工作五年以上的 UI 設計師都在幹什麼?UI
- 工作五年以上的UI設計師都在幹什麼?UI
- 程式設計師什麼都會程式設計師
- 很多程式設計師程式設計時都戴耳機?他們在聽什麼程式設計師
- (程式設計師的自我修養)瞭解程式執行之前都幹了些什麼程式設計師
- 程式設計師35歲後,不拼體力了還不能拼什麼?程式設計師
- 我為什麼不要30歲以上的程式設計師?程式設計師
- 為什麼我們不用智力題來面試程式設計師面試程式設計師
- 程式設計師到底是幹什麼的?請不要再黑程式設計師了程式設計師
- 程式設計師為什麼都穿得那麼醜程式設計師
- 為什麼常說程式設計師35歲是道坎?程式設計師
- 35+的網際網路程式設計師,人都哪去了?程式設計師
- 為什麼程式設計師在學習程式設計的時候什麼都記不住?程式設計師
- 那些簡歷造假拿 Offer 的程式設計師,後來都怎麼樣了?程式設計師
- 程式設計師35歲後要轉管理?69歲的老程式設計師說不!程式設計師
- 為什麼我們不要 .NET 程式設計師程式設計師
- 為什麼我們不要.NET程式設計師程式設計師
- 程式設計師週末都喜歡做什麼?程式設計師
- 為什麼很多程式設計師都選擇跳槽?程式設計師
- 未來缺什麼樣的程式設計師?程式設計師
- 那些拿到 60K Offer 的 AI 程式設計師,後來都怎麼樣了?AI程式設計師
- 學Python的程式設計師,程式設計能力都“退化”成什麼樣了?Python程式設計師
- 一個引發程式設計師們幹架的問題程式設計師
- 為什麼很多程式設計師工作時都戴耳機?程式設計師
- 架構師的工作都幹些什麼?!想做架構師必看!架構
- 程式設計師只能吃青春飯?40歲以上的IT人都去幹嘛了?程式設計師
- 為什麼我們程式設計師工作得這麼累?程式設計師
- 為什麼我們程式設計師寫不出好程式碼?程式設計師
- 我學習的程式設計,都給我帶來了什麼?程式設計
- 35歲以後,不要成為程式設計師中的“鑽石”程式設計師
- 程式設計師職場——為什麼驕傲會妨礙我們程式設計師的進步程式設計師
- 35歲,程式設計師過不去的坎?程式設計師
- 我們程式設計師為什麼要關注 JavaScript ?程式設計師JavaScript
- 《哲學家們都幹了些什麼》讀書筆記筆記
- 老程式設計師都到哪裡去了?程式設計師
- 那些學了 Python 的程式設計師,程式設計能力都“退化”成什麼樣了?Python程式設計師