如何才能持續成長,是每一個開發者都繞不開的話題。
你有沒有發現,身邊總有人成長的特別快,他們的學習與吸收能力就特別強嗎?
當你正困惑于技能方向的選擇時,他已經掌握了高效的進階方法;當你還在苦惱于 Bug 的調試與修復時,他已經在獨當一面,處理更為復雜的項目了;當你還在思考自己的技術人生,尋求突破和上升,他已經成為骨干,拿高薪帶小團隊了。
問題的關鍵是:他是怎么做到的?
你要承認,永遠有走在你前面的人,這沒什么好丟臉的。但是成功的技術專家不一定都是學霸和工作狂, 開掛的事業與精彩生活并不存在沖突,每一次的痛苦與迷茫背后都是盲目的選擇。任何一個所謂的“成功經驗”都不是固定的,有時候方法比努力重要很多。注重方法要比生搬硬套靠譜的多。
那么技術人應該如何制定切實可行的個人成長計劃呢?
一個人事業上能獲得更大的發展,一部分是由于他的專業技術,另外一大部分需要依賴他的軟性技能。程序員進階攻略,給予正在成長階段的你很多啟發與指引,幫助你在發展不順利的時候不會無能為力,面對打擊不僅僅停留在自我貶低,面對階段性的成長,知道下一步應該如何做出最優選擇。
總體來看,能分出幾個明顯的階段:啟程之處、快速發展、道中彷徨、路在何方、破繭成蝶。這期間見證了互聯網電商行業的高速發展,也一路從普通的開發者成長為了架構師。
左側為成長階段與職業角色 ,右側為成長線
如果把專業技能稱為硬實力的話,邏輯思維與解決問題的能力、書面溝通能力、領導力統統歸為不可或缺的軟實力范疇。在越來越多的技術知識課程涌現的今天,很少人意識到思維養成對于技術精進的重要性。
下面我歸納了一下程序員在職業生涯的各個階段所面對的一些問題
入行之初,困惑于技能選擇的多樣性和起步的迷茫?
編程前期,苦惱于只能寫出大佬眼中Bug不斷的垃圾代碼?
快速成長期,糾結于無法歸納出自己的學習體系?
進階瓶頸期,迫切于做出改變、尋求突破和上升?
面對成長斷層,面對同事的進步但是自己卻于停滯不前、無法躍遷成長?
不管你處于何種階段,也不管你是學生、初級開發人員、技術主管,或者是架構師,甚至是對程序相關領域感興趣的人士,都可以利用文中所提及的框架體系和思維方法去踐行,一定會有所得、有所獲。
1. 工程化
(團隊大于3個人之后,你需要去考慮團隊合作,科學管理)
2.源碼分析
(好的程序員,一行代碼一個設計就能看出來,源碼分析帶你品味代碼,感受架構)
3.分布式架構
(跟上技術節奏,擴寬技術視野,程序員要往上提升,要有自己的技術工具箱和技術認知。)
4.微服務架構
5.性能優化