程式員,真有必要瞭解架構嗎?有的人只關註眼下的“點”,有的人看到了延伸的“線”,還有人暢想出未來的“面”。就像在叢林中穿越,當你迷路找不到方向時,最好就是登上山頂或者爬上樹冠,讓自己有更寬廣的視野,從而找到通往目的地的最佳路徑。既要腳踏實地、低頭趕路,也要抬頭望天、暢想未來,正確的方向比速度更重要。 ...
程式員,真有必要瞭解架構嗎?
在解答這個疑惑之前,我們先來看一則故事:旅行者路過某個工地,建築工人們都在忙碌。出於好奇,旅行者問第一個人在乾什麼,那人頭也沒抬地回答道:我在搬磚。旅行者問第二個人在乾什麼,這個匆匆抬起頭認真地說:我在砌牆。旅行者問第三個人在乾什麼,那個人臉上充滿了光彩,很自豪地說:我在建造聖索菲亞大教堂,將福音傳播給更多人!
有的人只關註眼下的“點”,有的人看到了延伸的“線”,還有人暢想出未來的“面”。就像在叢林中穿越,當你迷路找不到方向時,最好就是登上山頂或者爬上樹冠,讓自己有更寬廣的視野,從而找到通往目的地的最佳路徑。既要腳踏實地、低頭趕路,也要抬頭望天、暢想未來,正確的方向比速度更重要。接下來,我們來看看架構跟你的“點、線、面”關係。
- 一點
跟壘土坯房不同,建造摩天大樓離不開各式各樣的設計圖紙,構建複雜的應用系統也離不開架構設計。相信你所在的團隊也配了架構角色,或由資深開發兼任,或由專職架構負責。不管你從事哪方面工作,包括產品、開發、測試、運維或項目等,你都要跟架構師打交道,例如:產品可研、概要設計、技術選型、詳細設計、測試規劃、部署規劃、問題解決、招聘面試等等。如果對架構缺乏瞭解,那你就不清楚你跟架構師之間的協作界面,不知道架構師能給你提供哪些支持或幫助,不知道如何跟架構師高效地協作。如果只關心自己眼前的一畝三分地,那你很容易就滯留在“搬磚”層級。
- 二線
中年危機,35 歲定律,這些命題對於你來說都是客觀存在的。隨著 IT 技術的不斷更新換代,普通程式員在市場上競爭力跟年齡成反比,除非你能提前構建出轉型升級所需的新技能樹。如果沿著技術通道發展,可選的晉升方向有兩個:技術專家,扎根於某個垂直的技術領域,往縱深發展;架構專家,構建出更加全面的技術體系,往廣博發展。雖然進化方向不同,但殊途同歸,最終幫你戰勝危機、突破自我,晉升到更高的職位,獲得了更好的薪酬。如果個人性格特質更適合往架構方向發展,那你有必要提前瞭解架構師的主要職責和必備技能。十年磨一劍,五年小成,十年大成,轉型升級所需的專業技能不是一朝一夕就能練就的。如果你現在就主動籌備 35 歲這場戰役,那你很容易從”搬磚”躍遷至“砌牆”。
- 三面
學而優則仕,即使修煉成了技術大神,但個人能量總歸是有限的,管理崗是所有通道的終極進化方向,只有帶領更多人,你才能做更大的事。在互聯網行業,“科技是第一生產力”體現的最為淋漓盡致,不管往產品還是管理髮展,擁有深厚技術背景都是優勢。架構師,從某種角度看,就是全面瞭解各種技術或中間件的優劣,然後讓它們在你所設計的方案中揚長避短、優勢互補,發揮出最佳的合作效用。這跟產品維度的業務架構、管理維度的組織架構有異曲同工之妙,等你從技術架構中學習到知人善任、調兵遣將、排兵佈陣等道理,那你就可以站上更高的平“面”了,從“砌牆”躍遷至建造宮殿。
25 歲入行搬磚,30 歲前擔任技術經理、兼職架構,35 歲前轉型應用架構專家,一路走來老兵哥我積累了大量轉型、架構、培訓和咨詢等實戰經驗。近些年我將這些經驗做了整理輸出,曾面向初中級程式員開設過多門面授架構課程,累計參訓學員超千人,頗受好評。接下來,老兵哥我準備在 CSDN 這個分享平臺,把大家關註度最高的這些架構問題梳理出來,希望你持續關註:
- 架構到底是什麼?它都有什麼作用?
- 架構的演進過程,不同架構的特點?
- 架構風格、模式、框架的相互關係?
- 架構設計的輸入、輸出和工作流程?
- 不同崗位應該關註架構的哪些方面?
- 是否有標準來評價架構設計的優劣?
- 架構師核心職責和必備能力有哪些?
- 哪些特質適合往架構專家方向發展?
- 架構專家需要搭建怎樣的知識體系?
- 如何從資深開發成功轉型架構專家?
- 架構師之後有哪些可選的發展方向?
暫時先分享到這裡,後續老兵哥會結合個人實踐陸續分享相關經驗,例如:如何通過三步走策略完成轉型、如何藉助段帶式進階構建新技能樹等,期待小伙伴們訂閱交流,謝謝!