程序員必須懂的架構入門課


程序員,真有必要了解架構嗎?

在解答這個疑惑之前,我們先來看一則故事:旅行者路過某個工地,建築工人們都在忙碌。出於好奇,旅行者問第一個人在干什么,那人頭也沒抬地回答道:我在搬磚。旅行者問第二個人在干什么,這個匆匆抬起頭認真地說:我在砌牆。旅行者問第三個人在干什么,那個人臉上充滿了光彩,很自豪地說:我在建造聖索菲亞大教堂,將福音傳播給更多人!

有的人只關注眼下的“點”,有的人看到了延伸的“線”,還有人暢想出未來的“面”。就像在叢林中穿越,當你迷路找不到方向時,最好就是登上山頂或者爬上樹冠,讓自己有更寬廣的視野,從而找到通往目的地的最佳路徑。既要腳踏實地、低頭趕路,也要抬頭望天、暢想未來,正確的方向比速度更重要。接下來,我們來看看架構跟你的“點、線、面”關系。

  • 一點

跟壘土坯房不同,建造摩天大樓離不開各式各樣的設計圖紙,構建復雜的應用系統也離不開架構設計。相信你所在的團隊也配了架構角色,或由資深開發兼任,或由專職架構負責。不管你從事哪方面工作,包括產品、開發、測試、運維或項目等,你都要跟架構師打交道,例如:產品可研、概要設計、技術選型、詳細設計、測試規划、部署規划、問題解決、招聘面試等等。如果對架構缺乏了解,那你就不清楚你跟架構師之間的協作界面,不知道架構師能給你提供哪些支持或幫助,不知道如何跟架構師高效地協作。如果只關心自己眼前的一畝三分地,那你很容易就滯留在“搬磚”層級。

  • 二線

中年危機,35 歲定律,這些命題對於你來說都是客觀存在的。隨着 IT 技術的不斷更新換代,普通程序員在市場上競爭力跟年齡成反比,除非你能提前構建出轉型升級所需的新技能樹。如果沿着技術通道發展,可選的晉升方向有兩個:技術專家,扎根於某個垂直的技術領域,往縱深發展;架構專家,構建出更加全面的技術體系,往廣博發展。雖然進化方向不同,但殊途同歸,最終幫你戰勝危機、突破自我,晉升到更高的職位,獲得了更好的薪酬。如果個人性格特質更適合往架構方向發展,那你有必要提前了解架構師的主要職責和必備技能。十年磨一劍,五年小成,十年大成,轉型升級所需的專業技能不是一朝一夕就能練就的。如果你現在就主動籌備 35 歲這場戰役,那你很容易從”搬磚”躍遷至“砌牆”。

  • 三面

學而優則仕,即使修煉成了技術大神,但個人能量總歸是有限的,管理崗是所有通道的終極進化方向,只有帶領更多人,你才能做更大的事。在互聯網行業,“科技是第一生產力”體現的最為淋漓盡致,不管往產品還是管理發展,擁有深厚技術背景都是優勢。架構師,從某種角度看,就是全面了解各種技術或中間件的優劣,然后讓它們在你所設計的方案中揚長避短、優勢互補,發揮出最佳的合作效用。這跟產品維度的業務架構、管理維度的組織架構有異曲同工之妙,等你從技術架構中學習到知人善任、調兵遣將、排兵布陣等道理,那你就可以站上更高的平“面”了,從“砌牆”躍遷至建造宮殿。

25 歲入行搬磚,30 歲前擔任技術經理、兼職架構,35 歲前轉型應用架構專家,一路走來老兵哥我積累了大量轉型、架構、培訓和咨詢等實戰經驗。近些年我將這些經驗做了整理輸出,曾面向初中級程序員開設過多門面授架構課程,累計參訓學員超千人,頗受好評。接下來,老兵哥我准備在 CSDN 這個分享平台,把大家關注度最高的這些架構問題梳理出來,希望你持續關注:

  • 架構到底是什么?它都有什么作用?
  • 架構的演進過程,不同架構的特點?
  • 架構風格、模式、框架的相互關系?
  • 架構設計的輸入、輸出和工作流程?
  • 不同崗位應該關注架構的哪些方面?
  • 是否有標准來評價架構設計的優劣?
  • 架構師核心職責和必備能力有哪些?
  • 哪些特質適合往架構專家方向發展?
  • 架構專家需要搭建怎樣的知識體系?
  • 如何從資深開發成功轉型架構專家?
  • 架構師之后有哪些可選的發展方向?

今天先分享到這里,如果你覺得有價值,麻煩動動手指 轉發 給其他需要的小伙伴。另外,老兵哥我后續還會分享職業規划、應聘面試、技能提升、影響力打造等經驗,關注「 IT老兵哥 」,賦能程序人生!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM