從程式設計師到架構師,有捷徑嗎?

IT老兵哥發表於2020-04-02

架構師,我們程式設計師打怪升級的主要方向,它不像某些技能報個培訓班就可以獲得。勝任架構工作需要具備許多技能,如果想盡快轉型升級至架構師,那你必須在日常工作中有意識地儲備這些技能。

網上有不少技能圖譜,但高質量的很少,大部分都是東拼西湊出來的,脈絡不清晰,層次不分明,雜亂無章,缺乏邏輯,就像拿著假的武學秘籍練功,練不成真本領還是小事,就怕走火入魔、浪費時光。

俗話說:一口吃不成胖子。從程式設計師到架構師也無法一蹴而就,它是一個循序漸進、穩步提升的進階過程,每個階段有每個階段需要掌握的技能,多項技能之間還存在先後順序,既有硬技能還有軟技能。

如果以硬技能為例, 將其分解成下列幾個維度:

  • 從職位晉升的角度看,程式設計師都要歷經初級開發工程師、中級開發工程師、高階開發工程師這三個階段才能進階至架構師,此後還有架構專家、高階架構專家等職位,再往上就是首席架構師、技術長。

  • 從程式碼規模的角度看,程式設計師都是從編寫函式、類開始起步的,再逐步負責單個模組、子系統、系統、平臺等,程式碼規模從小到大,關聯關係從內到外,複雜度變得越來越高,往上有系統群、生態圈等。

  • 從技術堆疊的角度看,程式設計師入行只要懂某門程式語言就可以了,進階時需要鑽研不同程式語言、開發框架、應用容器、語言執行時、資料庫、作業系統、網路協議等,這樣才有能力把握各種型別的系統。

  • 從設計方法的角度看,程式設計師從物件導向設計開始起步,再透過常用設計模式來最佳化多個類之間的關係,進而鑽研領域驅動設計用於分析建模,再往上就是架構設計,包括應用架構、資料架構和系統架構等。

除上述幾個維度之外,我們還要跨過效能調優這道門檻,熟悉 HTTP 請求從客戶端到伺服器、資料庫的全流程,掌握基礎的壓力測試、效能監控等方法,分析定位解決各種效能問題,積累訊息、事務、排程、快取、檢索等各類中介軟體的使用經驗,熟悉各種主流的應用安全機制,掌握分層、SOA、微服務、Serverless 等常見架構風格,熟悉分散式系統滿足效能、擴充套件性、可用性、可靠性等要求的解決方案等。

古語云:先為力勝,其後智勝,其後道勝。硬技能,是我們程式設計師的立身之本,在戰場上廝殺,如果沒有過硬的功夫,我們很容易小命不保。但光有硬技能只能算個武夫,想要成為帶兵打仗的將帥,還要配備軟技能。

從程式設計師到架構師,知識體系越來越廣,系統規模越來越大,內外干係人越來越多,這都要求我們持續提升學習、溝通和管理等通用能力,以及透過寫作、演講、培訓、諮詢等途徑打造非職權影響力。

技能圖譜,也可以稱為技能樹,它描繪了勝任某個崗位工作所要掌握的技能。從程式設計師到架構師的進階過程,就像是用時間精力澆灌培植一棵樹,讓小樹苗逐漸長成參天大樹,先有主幹,後有枝葉,待到枝繁葉茂就能開花結果了,也就是說等到架構師所需技能全都儲備好了,那我們就有信心勝任新崗位工作了。

近期 準備結合個人真實的成長經歷,梳理從程式設計師進階到架構師不同階段所需儲備的核心技能項,講解每項技能的應用場景、價值和關鍵模型,介紹獲取每項技能可以參考的資料書目等,最後描繪一棵脈絡清晰、層次分明的技能樹,加速打怪升級的程式。

對該主題感興趣的小夥伴,請繼續關注此部落格。暫時先分享到這裡,如果想收穫更多職業規劃、軟體開發、公眾表達、自由職業相關的經驗,請掃碼關注「 」。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69966027/viewspace-2684006/,如需轉載,請註明出處,否則將追究法律責任。

相關文章