背景:
今天接到一個哥們兒的電話,說,很郁悶,想和我聊聊。
我問,有啥郁悶的事情啊,說來聽聽。
他說,最近很郁悶,我本來今年的計劃是成為一個架構師,但是,無論如何努力,都不知道為什麼,感覺希望很渺茫...
這哥們兒其實是一個很努力的家夥,曾經是我Team裡技術最好的
程式員,對一個技術不鑽明白不罷休的那種程式員。
我給他電話裡說了說我一直想說,但一直都沒有時間說的話,那就是:為什麼你總是成為不了架構師?
一、什麼是架構師?
其實架構師的概念并不是從程式開發專業一誕生就有的職位概念,架構師(Software Architect)僅僅是最近幾年提出來的一個職位,貌似Software Architect的概念是IBM提出來的。然而,架構是什麼樣的一個職位,就像雲計算一樣,看起來很美,但是,每個人都有自己的了解。
很多人認為,架構師就是系統分析師,是拿到系統需求進行分析的人,錯!如果系統隻是系統分析,那麼架構設計誰來弄?
有人認為架構師就是架構設計的人,畫畫UML,寫一寫文檔之類的人,錯!畫UML就是設計嗎?畫圖的人有了,設計的人是誰?
還有人認為架構師是從屬于項目經理,隻管設計,而沒有任何權利的人,錯!如果設計的決策權交給項目經理,那麼這個設計是有分量的嗎?
架構師是什麼?
我們先不回答,我們先來看看在架構師概念出現前的一些職位提法。
在架構師概念出現前,微軟是我們大多數軟體企業的研發機構設定的樣闆,當時比較流行的職位搭配是——技術經理+項目經理。
ok,當然也有很多企業實際上,技術經理和項目經理是一個人。
也就是大多數企業當時是采用的開發主管負責制,即:技術+團隊+項目,的負責人。
當我們把“項目經理”剝離出開發,僅僅對項目進度以及為項目推進而排除各項外部障礙時,其實負責開發技術和開發團隊的人就是“技術經理”了。
如果,我告訴你,之前所謂的技術經理其實就現在的架構師,可能我們大家就更容易了解了。
沒錯,就是這樣的,如果“架構師”的設計失去了“發言權”、“技術方向的決策權”、“團隊人員的開發資源調配權”,那麼我們可以想見,這個設計是多麼的無力!!
是以,什麼是架構師?
架構師是具有技術發言權,方向決策權,和團隊人員開發資源調配權的開發團隊的TeamLear,也是這個程式的設計者,當然他是這個程式團隊的靈魂!!
是以,不想當Teamleader的程式員,絕對不可能成為真正意義上的架構師!
同時,不是Teamleader的架構師,也是一個被架空的,蒼白無力的架構師!
二、如何才能用架構師的思想去思考?
架構師,如果隻是把需求變成程式,那就不是架構師,那是叫“照着葫蘆畫瓢”。
架構師,如果隻是精通各種架構,比如S\S\H之類的技術,隻是利用S\S\H之類的技術去描述使用者提出的需求,那是叫“用S\S\H畫瓢”。
ok,不賣關子,那麼怎麼思考就是架構師應該去思考的方法?
首先告訴你,進行沒有設計的架構設計叫架構師嗎?
這種情況在軟體行業内太普遍了!!
為什麼沒有設計?
因為,很多人都不懂什麼叫設計!!
給大家一個概念,什麼是設計?——
設計因未來而存在!
——鐘聲 2010年6月
沒有面向未來的,隻是面向過去的,那絕對不是設計,那絕對隻是模仿!!
設計因未來而存在!!
即,沒有創新,就沒有設計!!
即,沒有改變,就沒有設計!!
用進化論去思考你的設計!!
讓你的設計超越一切理論!!
設計隻是記憶的載體而不是記憶的全部!!
其實程式員是藝術家,而不是建築勞工!!
那麼,為什麼你總成為不了架構師?
不要僅僅從技術的角度出發一味的按照自己理所當然的方向去努力,要學會用設計的思想思考,并努力讓你自己成為有分量的人!!
如果你想學習 Java 工程化、高性能及分布式、高性能、深入淺出。性能調優、Spring,MyBatis,Netty 源碼分析和大資料等知識點可以來找我。
而現在我就有一個平台可以提供給你們學習,讓你在實踐中積累經驗掌握原理。主要方向是 JAVA 架構師。如果你想拿高薪,想突破瓶頸,想跟别人競争能取得優勢的,想進 BAT 但是有擔心面試不過的,可以加我的 Java 架構進階群:582100479
工作一到五年的程式員朋友面對目前的技術無從下手,感到很迷茫可以加群744677563,裡面有阿裡Java進階大牛直播講解知識點,分享知識,課程内容都是各位老師多年工作經驗的梳理和總結,帶着大家全面、科學地建立自己的技術體系和技術認知!