當前位置:
首頁 > 科技 > 救火架構師氣自己,PPT架構師氣別人

救火架構師氣自己,PPT架構師氣別人

架構、架構師不算一個陌生的概念,甚至在互聯網公司有這麼一個現象,每一個被問到將來職業規劃的程序員,基本會說我的目標是當一名架構師。

其實說來這個答案多多少少有些泛泛而談,屬於「不會出錯」的萬能回答。但這個例子起碼能說明兩個問題:1、如果是搪塞面試的,那麼說明這個人也不得不承認,架構師是程序員未來職業發展可供選擇的一條方向;2、如果是認真的,那麼說明這個人明白架構紮根於編程,但又高於編程。

但有時候,一個優秀的程序員卻不一定能勝任架構師的工作,反倒常常扮演了「救火英雄」的角色——項目中出現了其他成員解決不了的問題,於是你常常被拉來寫最複雜的那一部分,吭哧吭哧地累死累活,然後看著成員職責分配不均、項目規劃亂如麻,癱在椅子上開始懷疑人生,這就是傳說中的架構師?這明明是超級代碼工程師!

「救火英雄」般的架構師氣的是自己,啥也不會的架構師氣的是別人。

尤其是當公司空降了一個對技術、對業務、對成員都不了解的架構師的時候,往往會推翻之前的架構,進行重構,成為眾人 diss 的

「PPT 架構師」


沒有什麼是重構解決不了的

所以一些似乎很順理成章的事情反而有了疑問:代碼寫得好就能水到渠成地當架構師嗎?代碼寫得不好但對框架設計非常感興趣可以成為架構師嗎?

很多人可能覺得,架構還需要入門?代碼寫得好順理成章就可以做架構師啊!

哎,同學,年輕!

架構師確實需要很強的編程能力,但數據顯示,編程在架構師的工作佔比中,只佔 13%。最重要的是什麼呢?

IT 架構,佔了 62%

儘管「架構師」這個詞在程序員眼中是如此熟悉,但架構師卻有很多種,而且我們發現,一些還在軟體工程門口徘徊的程序員們,其實根本不清楚成為軟體架構師的條件是什麼,工作職責又有哪些,想往這個方向發展吧,又不知道該從哪裡著手。

奇怪嗎?你還別說,這樣的情況真的不在少數。

熟悉 InfoQ 的朋友可能知道「架構漫談」這個專欄,在 InfoQ 的閱讀量高達 10W+。後來我們應一些讀者的心愿將其集結出版,取名為《聊聊結構》,不為別的,就是

為那些有志向於此但又不知道從何處入手的人準備的

所以《聊聊架構》這本書,就是要幫你

梳理架構的基本概念和相關脈絡

基本概念等這些東西有多重要呢?

前 eBay CDC 資深開發工程師,攜程、唯品會資深架構師楊波曾這樣說:「如果一個架構或設計原則已經存在 15 年,我可以預期它還有 15 年甚至更久的生命期。……原則是比具體技術更抽象、更接近事物本質,也更經得起時間考驗的東西。」

因為是一本入門級別的書,這本書從架構最開始基本的概念開始講起,相信很多人都跟我一樣,就害怕一開始看見那些長篇大論,什麼生命核心周期啊,切分原則啊,一上來就玩這麼大,看見就腦闊疼好嗎!我只是個沒接觸過架構的寶寶啊!

放心,這本書不會一開始就給你講這些理念,把你嚇退,而是引入一個生活中常見的例子讓你深入淺出地明白架構的基本概念。

比方說,我們開頭提到的問題,架構到底是個啥?

書中是這樣給我們引入架構的概念的:「架構實際上是一種通用的行為,只是大部分時候人們自己沒有意識到而已。比方說,很多人的辦公桌看起來亂七八糟,但是他的工作非常有效率。因為他在長期的實踐之後,根據自己每天的工作,整理出了自己工作的核心生命周期,與其相關的每樣東西都擺放在合理的位置,其他的東西都放在非關鍵路徑上。這個時候他就已經在做架構思考了。」

通俗易懂吧?看完我還真是默默掃視了一下我的辦公桌呢……

讓你明白架構大概是啥之後,才開始給你講解程序員更熟悉的那個架構:「軟體架構實際上就是對生命周期的拆分。」

那麼問題來了,生命周期要如何拆分?

作者又用企業組織團隊分工舉例,並配上了相關的圖例來拆分核心與非核心生命周期。一個公司的 CEO 和高層,往往會手握公司的核心生命周期,而剩下的,則按照難易程度依次劃分給底下的員工。

然後書中把這個概念延續要軟體架構中,架構師需要對系統的邊界進行拆分,然後判斷被拆分的技術盒子從難到易該怎麼排列?從大到小又是怎樣的順序?然後才能把這些技術盒子交給專業的人去做。

因此架構師需要知道誰最擅長寫某方面的代碼?誰最精通某方面的技術?哪個代碼哪個技術是最適合這個項目系統的?

既不能盲目跟風,還需要有很強的統籌能力。

等到這些都完成後你長舒一口氣,可算是結束了,但之後才發現,太天真了。

系統開發只是前期的準備過程,後期進行維護、更新、升級才能保持軟體具有長時間的生命力。就像打掃房子一樣,只打掃一次可是遠遠不夠的。

你會發現這時測試工程師、運維工程師時不時地來騷擾你:這個系統我們怎麼才能更好地測試啊?有啥安全策略沒?系統怎麼升級啊? 怎麼拓展啊?

有很多剛剛做架構師的人往往會被這些問題殺得措手不及,滿臉懵逼。所以書中用佔了三分之二的篇幅來講解這些知識,幫你釐清架構前前後後的工作流程和邏輯。

項目環境是沙場,團隊成員是手中兵,而

架構師,就是要衝在最前面的將軍——既要懂代碼還要懂團隊成員最後還要懂業務十八般武藝樣樣都得會。

因此架構師需要更高更廣的視角去俯瞰整個系統項目,更好地統籌全局。若是任意一環出了問題,整個系統就會運行不穩,岌岌可危。

所以這本書可以幫助你打開架構的大門,讓你了解有關架構的基本內容,以及架構師到底要幹嘛。

但是這本書的用武之地可不止這些。除了給剛入門軟體架構師的人看,它還另有妙用。

打完這行字的時候,我盯著公司的產品經理,不禁露出一絲猥瑣的微笑。

如果你一個每天被產品經理耳提面命改需求的人,那麼請不要猶豫,買一本送給他,你將換來一個「懂你」的可愛的產品經理;如果你是一名產品經理,那麼這本書可以幫你更好地理解你的工作夥伴,讓你們合作更愉快。

這本書脫胎於 InfoQ 的專欄,在我們將其集結出版後,

一小時內即賣出一千冊

。現在這本書又上架啦,

最後四百冊

,過了這波以後可就買不到啦,想下單的同學抓緊,希望你們可以在架構師的路上越走越遠!

鞠躬!

程序員成長攻略系列:

教你調教代碼:每看完這一本書,就有一個碼農消失

演算法打怪指南:辛苦編碼好幾年,一朝栽在演算法前

數據結構指南:有關數據結構的幾本書,讀完一半算你贏

Java 學習指南:Java,屠榜之王

JS 攻略指南:你才切圖仔,你全家都切圖仔

掌柜的瘋了,商城裡的架構書統統按成本價賣啦,全網最低價,買不了吃虧買不了上當!

點擊「閱讀原文」即可購買,薅禿掌柜的毛!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

中心化or去中心化?聊聊交易所的辯證發展
辛苦編碼好幾年,一朝栽在演算法前

TAG:InfoQ |