思考面向未來的架構設計

2021-06-18 10:21:55 字數 1871 閱讀 8675

今天接到乙個哥們兒的**,說,很鬱悶,想和我聊聊。

我問,有啥鬱悶的事情啊,說來聽聽。

他說,最近很鬱悶,我本來今年的計畫是成為乙個架構師,但是,無論如何努力,都不知道為什麼,感覺希望很渺茫...

這哥們兒其實是乙個很努力的傢伙,曾經是我team裡技術最好的程式設計師,對乙個技術不鑽明白不罷休的那種程式設計師。

我給他**裡說了說我一直想說,但一直都沒有時間說的話,那就是:為什麼你總是成為不了架構師?

一、什麼是架構師?

其實架構師的概念並不是從程式開發專業一誕生就有的職位概念,架構師(software architect)僅僅是最近幾年提出來的乙個職位,貌似software architect的概念是ibm提出來的。然而,架構是什麼樣的乙個職位,就像雲計算一樣,看起來很美,但是,每個人都有自己的理解。

很多人認為,架構師就是系統分析師,是拿到系統需求進行分析的人,錯!如果系統只是系統分析,那麼架構設計誰來弄?

有人認為架構師就是架構設計的人,畫畫uml,寫一寫文件之類的人,錯!畫uml就是設計嗎?畫圖的人有了,設計的人是誰?

還有人認為架構師是從屬於專案經理,只管設計,而沒有任何權利的人,錯!如果設計的決策權交給專案經理,那麼這個設計是有分量的嗎?

架構師是什麼?

我們先不回答,我們先來看看在架構師概念出現前的一些職位提法。

在架構師概念出現前,微軟是我們大多數軟體企業的研發機構設定的樣板,當時比較流行的職位搭配是——技術經理+專案經理。

ok,當然也有很多企業實際上,技術經理和專案經理是乙個人。

也就是大多數企業當時是採用的開發主管負責制,即:技術+團隊+專案,的負責人。

當我們把「專案經理」剝離出開發,僅僅對專案進度以及為專案推進而排除各項外部障礙時,其實負責開發技術和開發團隊的人就是「技術經理」了。

如果,我告訴你,之前所謂的技術經理其實就現在的架構師,可能我們大家就更容易理解了。

沒錯,就是這樣的,如果「架構師」的設計失去了「發言權」、「技術方向的決策權」、「團隊人員的開發資源調配權」,那麼我們可以想見,這個設計是多麼的無力!!

因此,什麼是架構師?

架構師是具有技術發言權,方向決策權,和團隊人員開發資源調配權的開發團隊的teamlear,也是這個程式的設計者,當然他是這個程式團隊的靈魂!!

因此,不想當teamleader的程式設計師,絕對不可能成為真正意義上的架構師!

同時,不是teamleader的架構師,也是乙個被架空的,蒼白無力的架構師!

二、如何才能用架構師的思想去思考?

架構師,如果只是把需求變成程式,那就不是架構師,那是叫「照著葫蘆畫瓢」。

架構師,如果只是精通各種框架,比如s\s\h之類的技術,只是利用s\s\h之類的技術去描述使用者提出的需求,那是叫「用s\s\h畫瓢」。

ok,不賣關子,那麼怎麼思考就是架構師應該去思考的方法?

首先告訴你,進行沒有設計的架構設計叫架構師嗎?

這種情況在軟體行業內太普遍了!!

為什麼沒有設計?

因為,很多人都不懂什麼叫設計!!

給大家乙個概念,什麼是設計?——

設計因未來而存在!

——鐘聲 2023年6月

沒有面向未來的,只是面向過去的,那絕對不是設計,那絕對只是模仿!!

設計因未來而存在!!

即,沒有創新,就沒有設計!!

即,沒有改變,就沒有設計!!

用演化論去思考你的設計!!

讓你的設計超越一切理論!!

設計只是記憶的載體而不是記憶的全部!!

其實程式設計師是藝術家,而不是建築工人!!

那麼,為什麼你總成為不了架構師?

不要僅僅從技術的角度出發一味的按照自己理所當然的方向去努力,要學會用設計的思想思考,並努力讓你自己成為有分量的人!!

面向未來的友好設計 Future Friendly

一年前翻譯了本文的一部分,最近終於翻譯完成。雖然此設計思想的提出已經好幾年了,但是還是覺得應該在國內推廣一下,讓大家知道 內容策略 移動優先 響應式設計 原子設計 等設計思想和技術的根源。這些概念最早其實是由 luke wroblewski brad frost 等人在同乙個設計思想框架下提出的。筆...

面向AARRR 的 移動架構設計 思考備忘

伴隨著大家對成長黑客growth hacker的關注,aarrr運營模型也被提高到非常重要的層面。然而,運營是需要技術層面支撐的,沒有技術支撐,aarrr恐難以真正有效。所以,在做移動產品架構設計的時候,aarrr 應該作為乙個新的非功能需求 給予必要的考慮。什麼是aarrr?aarrr是acqui...

架構設計總體設計原則 架構設計思考點

乙個好的架構設計不全是考慮有多麼先進的技術,相反先進的技術僅是其中乙個很小的點。在此偶分享一下設計經驗,主要是為了將自己的經驗記錄下來,以免以後忘了!畢竟已經開始慢慢不做技術了,擔心再過幾年已經沒有能力寫出這些內容來了。在偶看看乙個架構首要重要的就是要做到全面考慮問題,在此偶列出一些容易忽略的設計點...