阿里P7架構(gòu)師:通往架構(gòu)師路上的經(jīng)驗(yàn)總結(jié)

困擾架構(gòu)師日常問題

架構(gòu)師應(yīng)不應(yīng)該寫代碼

為什么別人的系統(tǒng)總是那么爛

成為架構(gòu)師最困難的門檻是什么岂却?

如何更高效的學(xué)習(xí)?

面對目前流行的技術(shù)不知如何下手邓线?

一家公司待久了淌友,過得很安逸,但跳槽時(shí)面試碰壁骇陈?

覺得現(xiàn)在的技術(shù)基礎(chǔ)感覺到很扎實(shí),但就是自己的技術(shù)提升不上瑰抵?

覺得自己很牛B你雌,一般需求都能搞定,但是所學(xué)的知識點(diǎn)沒有系統(tǒng)化二汛,很難在技術(shù)領(lǐng)域繼續(xù)突破婿崭?

現(xiàn)在覺得自己技術(shù)還可以氓栈,但就是薪資漲不上去授瘦?

以上這幾點(diǎn)提完,做為開發(fā)人員的你們徒欣,有遇到過么蜗字?有為自己想過么挪捕?有細(xì)心仔細(xì)的去解決過這些問題么担神?有深刻的想過么?雖然這幾個(gè)問題很簡單酷宵,但對于我們在開發(fā)路上浇垦,是有非常重要的幫助的男韧。

1:架構(gòu)師應(yīng)不應(yīng)該寫代碼

合格的程序員對于明確分配的任務(wù)會完成的很好此虑,但是大部分情況下“架構(gòu)”這個(gè)詞意味著架構(gòu)師并不會涉及太多細(xì)節(jié)朦前,架構(gòu)圖和代碼實(shí)現(xiàn)之間總還是有些距離韭寸,你無法保證所有人都會正確的理解你的設(shè)計(jì)恩伺,或者是程序員寫代碼時(shí)遇到障礙時(shí)會立刻想出足夠優(yōu)雅的解決方案椰拒。

在我看來耸三,寫代碼的架構(gòu)師更像是在做后勤保障的工作:在代碼中第一時(shí)間發(fā)現(xiàn)可能存在的問題仪壮,向其他人提出警告积锅,或是給予其他人改進(jìn)的意見缚陷,必要的時(shí)候或是給其他人演示一下正確的姿勢箫爷。

大部分情況下我作為架構(gòu)師并不需要攬下“核心模塊”開發(fā)這種工作,畢竟我能調(diào)配的時(shí)間太零散了硫痰,效率難以保證效斑,很多人在專注的情況下比我做的好很多缓屠,我只需要保持大局觀需要適度參與就可以了敌完。

總的來說蠢挡,架構(gòu)師和程序員在某些方面上有點(diǎn)像產(chǎn)品經(jīng)理和用戶的關(guān)系业踏,大部分程序員并不會主動告訴你他們想要什么勤家、哪里需要優(yōu)化柳恐,甚至自己也不知道這些乐设。想要做出好的產(chǎn)品近尚,捷徑之一就是跟用戶做同樣的事情戈锻。

2:為什么別人的系統(tǒng)總是那么爛

很多程序員解決問題的能力很強(qiáng)格遭,說要解決一個(gè)什么問題拒迅,下午就能寫出幾百行代碼把功能實(shí)現(xiàn)了。但是做出來的東西有種少考慮了什么東西的感覺作箍。大部分程序都能實(shí)現(xiàn)功能蒙揣,但是如果把“時(shí)間”這個(gè)也作為一個(gè)考慮的維度的話懒震,就會意識到一個(gè)合格的項(xiàng)目需要考慮更多的東西:更通用的使用方式个扰、易于理解的文檔递宅、簡單而易于擴(kuò)展的設(shè)計(jì)办龄,等等俐填。

很多公司應(yīng)該都會有一些遺留系統(tǒng),它們龐大盏檐、笨重胡野、難用硫豆、幾乎無法維護(hù)够庙,所有人都在抱怨這些系統(tǒng)耘眨,并且每天都在想方設(shè)法換掉那些遺留系統(tǒng)剔难。但是一段時(shí)間過去之后,又會發(fā)現(xiàn)身邊的新人又開始吐槽當(dāng)時(shí)替代遺留系統(tǒng)的那個(gè)系統(tǒng)了非迹。

3:成為架構(gòu)師最困難的門檻是什么憎兽?

很多人自稱架構(gòu)師的人跟你講一個(gè)架構(gòu)時(shí)簡直滔滔不絕纯命,各種技術(shù)名詞像是說相聲一樣從他嘴里說出來亿汞,三句話不離高并發(fā)大數(shù)據(jù)疗我,但是稍微追問一下吴裤,就會發(fā)現(xiàn)很多基本概念的缺失嚼摩,例如自稱精通高并發(fā)的人說不清楚他所謂的高并發(fā)系統(tǒng)的瓶頸在哪里,自稱精通架構(gòu)設(shè)計(jì)的人說不明白他的系統(tǒng)怎么保證高可用缚去,自稱超大數(shù)據(jù)量的系統(tǒng)實(shí)際上只有不到100萬條數(shù)據(jù)易结,等等柜候。

架構(gòu)師雖然聽起來很高大上渣刷,但本質(zhì)上仍然是工程師箩溃,不是科學(xué)家歪架,也不是忽悠人的江湖騙子和蚪。學(xué)習(xí)再多攒霹,也需要實(shí)踐落地剔蹋。設(shè)計(jì)架構(gòu)方案更多的是在做一些抽象和權(quán)衡:把復(fù)雜的需求抽象成簡單的模型泣崩,從功能洛口、性能、可用性买优、研發(fā)成本等等方面規(guī)劃如何構(gòu)建一個(gè)系統(tǒng)杀赢,這些內(nèi)容需要更多的實(shí)踐練習(xí)脂崔。

4:如何更高效的學(xué)習(xí)梧喷?

大多數(shù)人每天能留給自己學(xué)習(xí)的時(shí)間有限铺敌,這個(gè)階段如何提升學(xué)習(xí)效率就成了要解決的重點(diǎn)偿凭。

說說自己提升學(xué)習(xí)效率的心得,其實(shí)非常簡單:體系化的學(xué)習(xí)取视。

在重復(fù)了幾次痛苦的學(xué)習(xí)-梳理過程后作谭,再去看一些獨(dú)立的文章或者資料往往會事半功倍折欠,因?yàn)槟茉隗w系內(nèi)找到相對應(yīng)的知識,甚至有時(shí)候一本書里一頁只需要看一句話咪奖,點(diǎn)破那層窗戶紙羊赵,就可以掌握新的知識扇谣。

跟很多人一樣罐寨,剛畢業(yè)時(shí)我覺得作為程序員跋破,只要努力瓶蝴,加上少許天賦便可以獲得一些成績舷手。

工作一段時(shí)間后聚霜,對自己和其他人的認(rèn)識也越來越清晰蝎宇,逐漸的發(fā)現(xiàn)程序員之間的差距或許比人和猴子之間的差距還大姥芥,接受這個(gè)事實(shí)這讓我郁悶了很久凉唐。

再過一段時(shí)間台囱,發(fā)現(xiàn)自己已經(jīng)能夠客觀的評價(jià)自己的能力,也意識到了距離并不是那么重要咱娶,只要想辦法跑的更快膘侮,就足夠了琼了。

5:面對目前流行的技術(shù)不知如何下手雕薪?

第一慷丽,根據(jù)自己目前工作中所用到的技術(shù),有目的性的學(xué)習(xí)纲熏;

第二局劲,可以根據(jù)各大互聯(lián)網(wǎng)公司的招聘要求鱼填,有選擇性地進(jìn)行規(guī)劃學(xué)習(xí)苹丸;

第三赘理,可以參照文章尾部Java架構(gòu)師所具備知識點(diǎn)商模,上面有從源碼到分布式到微服務(wù)到并發(fā)等施流,是十多年的一群有經(jīng)驗(yàn)的老師整理出來的忿晕。

6:一家公司待久了趟章,過得很安逸蚓土,但跳槽時(shí)面試碰壁谅河?

很多程序員有這樣的情況绷耍,因?yàn)橐恢碧幱谧约旱氖孢m區(qū)褂始,每天寫的是自己熟悉的業(yè)務(wù)代碼描函,更多的做的是crud的工作胆数,技術(shù)上沒有挑戰(zhàn)性互墓,覺得生活也還可以篡撵。但是一旦跳出這個(gè)舒適區(qū)育谬,就會很難適應(yīng),不知所措,因?yàn)橥饷嫘碌募夹g(shù)太多互站,自己完全跟不上技術(shù)的步伐胡桃,這時(shí)候需要梳理一下自己目前所欠缺的點(diǎn)翠胰,有針對性地進(jìn)行提高。

7:覺得現(xiàn)在的技術(shù)基礎(chǔ)感覺到很扎實(shí)自脯,但就是自己的技術(shù)提升不上之景?

這種技術(shù)扎實(shí)更多的是基礎(chǔ),比如javase膏潮,javaee等锻狗,并不能適應(yīng)一線互聯(lián)網(wǎng)公司的技術(shù)體系,比如分布式焕参,微服務(wù)這塊轻纪。技術(shù)提升不上是因?yàn)樽约簺]有接觸過相關(guān)的項(xiàng)目,以前那種基礎(chǔ)知識網(wǎng)上還一大篇叠纷,但是越往上走資料越少刻帚,好的資料就越少校摩,而且越往上如果沒有引路人更加舉步維艱溪窒。

8:覺得自己很牛B,一般需求都能搞定,但是所學(xué)的知識點(diǎn)沒有系統(tǒng)化蝴簇,很難在技術(shù)領(lǐng)域繼續(xù)突破互拾?

這里的一般需求鞭铆,更多的應(yīng)該是在單機(jī)環(huán)境之下的crud操作舶担,項(xiàng)目沒有太多難度剪况,頂多是業(yè)務(wù)上的分析復(fù)雜一些,技術(shù)用到了一些主流的技術(shù),比如dubbo,也僅僅停留在api的使用層面枢赔,不了解其原理举庶,而且與dubbo相關(guān)的其他技術(shù)分支并沒有很好的拓展蕊唐,所以感覺很難突破副瀑。

9:現(xiàn)在覺得自己技術(shù)還可以狈孔,但就是薪資漲不上去?

需要弄清楚薪資由什么決定喘漏,是由你的價(jià)值決定堤魁,而你的價(jià)值取決于你的技術(shù)能力盲链,如果你的技術(shù)能力一直停留在crud的層面侧漓,肯定會上不去,你需要做的是突破技術(shù)瓶頸。(我相信這一點(diǎn)吮炕,是大多數(shù)開發(fā)人員會首先考慮到的問題)搜骡。

經(jīng)過以上的幾個(gè)問題的總結(jié)嚎花,你們有一點(diǎn)點(diǎn)理解了么?有什么感觸沒拢操?沒有?那么你們繼續(xù)往下看肚逸。

程序員應(yīng)有的幾個(gè)階段

第一階段----三年

我認(rèn)為三年對于程序員來說是第一個(gè)門檻,這個(gè)階段將會淘汰掉一批不適合寫代碼的人。這一階段撤奸,我們走出校園钝满,邁入社會收厨,成為一名程序員势腮,正式從書本上的內(nèi)容邁向真正的企業(yè)級開發(fā)没隘。我們知道如何團(tuán)隊(duì)協(xié)作间坐、如何使用項(xiàng)目管理工具趣苏、項(xiàng)目版本如何控制单绑、我們寫的代碼如何測試如何在線上運(yùn)行等等,積累了一定的開發(fā)經(jīng)驗(yàn),也對代碼有了一定深入的認(rèn)識,是一個(gè)比較純粹的Coder的階段活翩。

第二階段----五年

五年又是區(qū)分程序員的第二個(gè)門檻峦树。有些人在三年里姐浮,除了完成工作白对,在空余時(shí)間基本不會研究別的東西悦污,這些人永遠(yuǎn)就是個(gè)Coder鸿捧,年紀(jì)大一些勢必被更年輕的人給頂替匙奴;有些人在三年里,除了寫代碼之外妄荔,還熱衷于研究各種技術(shù)實(shí)現(xiàn)細(xì)節(jié)泼菌、看了N多好書、寫一些博客懦冰、在Github上分享技術(shù),這些人在五年后必然具備在技術(shù)上獨(dú)當(dāng)一面的能力并且清楚自己未來的發(fā)展方向谣沸,從一個(gè)Coder逐步走向系統(tǒng)分析師或是架構(gòu)師刷钢,成為項(xiàng)目組中不可或缺的人物。

第三階段----十年

十年又是另一個(gè)門檻了乳附,轉(zhuǎn)行或是繼續(xù)做一名程序員就在這個(gè)節(jié)點(diǎn)上内地。如果在前幾年就抱定不轉(zhuǎn)行的思路并且為之努力的話,那么在十年的這個(gè)節(jié)點(diǎn)上赋除,有些人必然成長為一名對行業(yè)有著深入認(rèn)識阱缓、對技術(shù)有著深入認(rèn)識、能從零開始對一個(gè)產(chǎn)品進(jìn)行分析的程序員举农,這樣的人在公司基本擔(dān)任的都是CTO荆针、技術(shù)專家、首席架構(gòu)師等最關(guān)鍵的職位,這對于自己絕對是一件榮耀的事航背,當(dāng)然老板在經(jīng)濟(jì)上也絕不會虧待你喉悴。

我認(rèn)為,隨著你工作年限的增長玖媚、對生活對生命認(rèn)識的深入箕肃,應(yīng)當(dāng)不斷思考三個(gè)問題:

我到底適不適合當(dāng)一名程序員?

我到底應(yīng)不應(yīng)該一輩子以程序員為職業(yè)今魔?

我對編程到底持有的是一種什么樣的態(tài)度勺像,是夠用就好呢還是不斷研究?

最終错森,明確自己的職業(yè)規(guī)劃吟宦,對自己的規(guī)劃負(fù)責(zé)并為之努力。

架構(gòu)師所具備的知識點(diǎn)

一:常見模式與工具

學(xué)習(xí)Java技術(shù)體系问词,設(shè)計(jì)模式督函,流行的框架與組件是必不可少的:

常見的設(shè)計(jì)模式,編碼必備

Spring5激挪,做應(yīng)用必不可少的最新框架

MyBatis辰狡,玩數(shù)據(jù)庫必不可少的組件

二:工程化與工具

工欲善其事必先利其器,不管是小白垄分,還是資深開發(fā)宛篇,玩Java技術(shù)體系,選擇好的工具薄湿,提升開發(fā)效率和團(tuán)隊(duì)協(xié)作效率叫倍,是必不可少的:

Maven,項(xiàng)目管理

Jenkins豺瘤,持續(xù)集成

Sonar吆倦,代碼質(zhì)量管理

Git,版本管理

在此我向大家推薦一個(gè)架構(gòu)學(xué)習(xí)交流qun坐求。交流學(xué)習(xí)qun號:+q q-q u n:948 368 769 qun內(nèi)已經(jīng)有小伙伴將知識體系整理好(源碼蚕泽,筆記,PPT桥嗤,學(xué)習(xí)視頻)须妻。里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis泛领,Netty源碼分析荒吏,高并發(fā)、高性能渊鞋、分布式绰更、微服務(wù)架構(gòu)的原理瞧挤,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識體系动知。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源皿伺,目前受益良多

三:分布式架構(gòu)

高并發(fā),高可用盒粮,海量數(shù)據(jù)鸵鸥,沒有分布式的架構(gòu)知識肯定是玩不轉(zhuǎn)的:

分布式架構(gòu)原理

分布式架構(gòu)策略

分布式中間件

分布式架構(gòu)實(shí)戰(zhàn)

四:微服務(wù)架構(gòu)

業(yè)務(wù)越來越復(fù)雜,服務(wù)分層丹皱,微服務(wù)架構(gòu)是架構(gòu)升級的必由之路妒穴,Java技術(shù)體系,和微服務(wù)相關(guān)的技術(shù)有哪些呢摊崭?

微服務(wù)框架

Spring Cloud

Docker與虛擬化

微服務(wù)架構(gòu)

五:性能優(yōu)化

任何脫離細(xì)節(jié)的ppt架構(gòu)師都是耍流氓讼油,向上能運(yùn)籌帷幄,向下能解決一線性能問題呢簸,Java技術(shù)體系矮台,需要了解:

性能指標(biāo)體系

JVM調(diào)優(yōu)

Web調(diào)優(yōu)

DB調(diào)優(yōu)

在此我向大家推薦一個(gè)架構(gòu)學(xué)習(xí)交流qun。交流學(xué)習(xí)qun號:+q q-q u n:948 368 769 qun內(nèi)已經(jīng)有小伙伴將知識體系整理好(源碼根时,筆記瘦赫,PPT,學(xué)習(xí)視頻)蛤迎。里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring确虱,MyBatis,Netty源碼分析替裆,高并發(fā)校辩、高性能、分布式辆童、微服務(wù)架構(gòu)的原理宜咒,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識體系把鉴。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源故黑,目前受益良多

六:底層知識

從架構(gòu)設(shè)計(jì),到應(yīng)用層調(diào)優(yōu)纸镊,再深入了解底層原理倍阐,扎實(shí)的Java基本功才能讓自己變?yōu)閽叩厣裆?/p>

內(nèi)存模型

并發(fā)模式

線程模型

鎖細(xì)節(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末概疆,一起剝皮案震驚了整個(gè)濱河市逗威,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岔冀,老刑警劉巖凯旭,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡罐呼,警方通過查閱死者的電腦和手機(jī)鞠柄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嫉柴,“玉大人厌杜,你說我怎么就攤上這事〖坡荩” “怎么了夯尽?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長登馒。 經(jīng)常有香客問我匙握,道長,這世上最難降的妖魔是什么陈轿? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任圈纺,我火速辦了婚禮,結(jié)果婚禮上麦射,老公的妹妹穿的比我還像新娘蛾娶。我一直安慰自己,他們只是感情好法褥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布茫叭。 她就那樣靜靜地躺著,像睡著了一般半等。 火紅的嫁衣襯著肌膚如雪揍愁。 梳的紋絲不亂的頭發(fā)上棕洋,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天最域,我揣著相機(jī)與錄音,去河邊找鬼房官。 笑死切距,一個(gè)胖子當(dāng)著我的面吹牛朽缎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谜悟,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼话肖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葡幸?” 一聲冷哼從身側(cè)響起最筒,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔚叨,沒想到半個(gè)月后床蜘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辙培,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年邢锯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扬蕊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡丹擎,死狀恐怖尾抑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒂培,我是刑警寧澤蛮穿,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站毁渗,受9級特大地震影響践磅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灸异,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一府适、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肺樟,春花似錦檐春、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至田柔,卻和暖如春俐巴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硬爆。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工欣舵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缀磕。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓缘圈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袜蚕。 傳聞我的和親對象是個(gè)殘疾皇子糟把,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容