做架構(gòu)設(shè)計(jì)已經(jīng)好多年了,前兩天和一位年輕的同事聊天,這位同事從畢業(yè)到現(xiàn)在已經(jīng)工作3年了,是我當(dāng)前新公司里面最年輕的Team leader(在我現(xiàn)在新的公司,Team leader職位上的人工作7,8年的占80%),他現(xiàn)在感到很迷茫,說(shuō)天天忙于溝通,基本上沒(méi)有時(shí)間寫(xiě)代碼,但是自己以后又想往架構(gòu)師的路上走下去,很糾結(jié)。于是一個(gè)加班的晚上,過(guò)來(lái)和我聊了一下自己的想法。其實(shí)這是一個(gè)典型的心態(tài),到底以后是往技術(shù)走,還是往管理走?其實(shí),說(shuō)實(shí)在話(huà),我1年前還有這個(gè)疑惑和顧慮,更何況年輕的他們呢? 大概半年前,我所在的公司,我雖然掛的是高級(jí)項(xiàng)目經(jīng)理的職位,但是其實(shí)又管人,有做架構(gòu)設(shè)計(jì)當(dāng)然也寫(xiě)代碼,但是公司形式不太好,美國(guó)客戶(hù)想把業(yè)務(wù)往印度轉(zhuǎn)移,所以就準(zhǔn)備換份工作(雖然不太想換,畢竟在以前的公司也呆了5年多了),所以當(dāng)時(shí)也有過(guò)猶豫不決。但是最終還是決定在架構(gòu)師的道路上繼續(xù)前行,因?yàn)槲腋杏X(jué),管理其實(shí)和技術(shù)并不矛盾,誰(shuí)說(shuō)架構(gòu)師就只需要懂技術(shù),而不需要懂得管理呢?其實(shí)一旦上升到架構(gòu)師的層面,不但需要與開(kāi)發(fā)人員溝通,同時(shí)還需要與管理人員,客戶(hù),運(yùn)維,測(cè)試等其他不同角色的人員交互,同時(shí)還需要進(jìn)行風(fēng)險(xiǎn)的預(yù)防和把控,項(xiàng)目成本的估算等等,如果沒(méi)有一定的溝通管理應(yīng)變已經(jīng)項(xiàng)目管理能力,是絕對(duì)成不了一名出色的架構(gòu)師的。
那如何快速的成為一名合格的架構(gòu)師呢?其實(shí),就是從兩方面:
#1 專(zhuān)業(yè)技能
@首先當(dāng)然基礎(chǔ)知識(shí)要扎實(shí),一些經(jīng)典的專(zhuān)業(yè)書(shū)籍一定要看。比如,設(shè)計(jì)模式,算法,數(shù)據(jù)結(jié)構(gòu),所在領(lǐng)域的編程語(yǔ)言的專(zhuān)業(yè)書(shū)籍等
@作為架構(gòu)師,review別人的代碼并給出合理的建議是基本功,比如變量或者方法命名的規(guī)則;所以代碼大全,重構(gòu),改善既有代碼的設(shè)計(jì),Clean code 等等肯定需要看。
@ 對(duì)于某一個(gè)技術(shù)領(lǐng)域或者業(yè)務(wù)領(lǐng)域,一定要有一門(mén)技術(shù)是精通的,因?yàn)檫@樣你才能體會(huì)到以后遇到自己不懂的技術(shù)的時(shí)候,如何能夠快速成為這一方面的行家。
@ 平常有時(shí)間一定要多多進(jìn)行代碼的訓(xùn)練,也就是Martin Flower常說(shuō)的Kata練習(xí),這個(gè)比喻來(lái)自于跆拳道,跆拳道選手一般每天都會(huì)找一些基本的招式,進(jìn)行反復(fù)的練習(xí),從而訓(xùn)練肌肉的條件發(fā)射,那么對(duì)于我們程序員來(lái)說(shuō),一定也要進(jìn)行持續(xù)的編程訓(xùn)練,比如上面提到的那位同事,給的建議是,雖然把大部分時(shí)間花在了溝通和協(xié)調(diào)上面,沒(méi)有機(jī)會(huì)寫(xiě)代碼,但是自己一定要利用業(yè)余時(shí)間,自己找一些例子來(lái)聯(lián)系,比如,參與開(kāi)源項(xiàng)目,或者到網(wǎng)上去搜索一些大師的經(jīng)典Kata聯(lián)系的例子;或者看工作里面是否有一些小工具,是否能夠提升自己的溝通效率,當(dāng)然已經(jīng)天天寫(xiě)代碼的童鞋們除外。請(qǐng)參考我轉(zhuǎn)發(fā)的另外一篇文章:http://blog.csdn.NET/chancein007/article/details/53731514和另外一篇介紹能在線(xiàn)練習(xí)Kata code的文章(http://blog.csdn.Net/chancein007/article/details/53792477)
@ 最好能夠在精通一門(mén)語(yǔ)言的基礎(chǔ)之上,學(xué)習(xí)其他的語(yǔ)言,從而站在一個(gè)更高的角度,對(duì)于程序語(yǔ)言有一個(gè)更高層次的抽象認(rèn)識(shí),比如,學(xué)了Java之后,可以學(xué)學(xué)Ruby,Groovy,C#等等,其實(shí)語(yǔ)言之間都是相互借鑒的,比如Lamba表達(dá)式,連java也慢慢的向函數(shù)式編程方向靠攏。
@ 如果有時(shí)間,一定要自己維護(hù)一個(gè)博客,既然選擇了架構(gòu)師,就決定了自己以后不僅僅是一個(gè)技術(shù)專(zhuān)家,同時(shí)也要成為一個(gè)布道師,為企業(yè)組織或者社會(huì)上的其他IT同行們貢獻(xiàn)自己的一些微薄之力。
@ 多參加一些社會(huì)上舉辦的軟件專(zhuān)業(yè)會(huì)議或者活動(dòng),了解當(dāng)前比較流行的技術(shù)和框架。
@ 這條不提倡,我以前有一個(gè)同事,幾乎每年都要更新簡(jiǎn)歷1~2次,目的不是真正的換工作,而是通過(guò)面試得到當(dāng)前市場(chǎng)上大部分公司正在使用什么技術(shù)和框架。對(duì)于這條,請(qǐng)慎用?。。?!
@如果有結(jié)對(duì)編程的機(jī)會(huì)一定要好好珍惜,特別是和高手大拿一起結(jié)對(duì)的時(shí)候。
@如果大家上面都已經(jīng)做的非常的好了,這個(gè)時(shí)候可以看看架構(gòu)設(shè)計(jì)方面的書(shū)籍,比如企業(yè)應(yīng)用架構(gòu)模式,架構(gòu)之美等等。
@ 去51Job上搜索架構(gòu)師這個(gè)職位標(biāo)簽,看看不同行業(yè)的企業(yè)對(duì)于架構(gòu)師的技術(shù)要求和標(biāo)準(zhǔn),然后結(jié)合自己當(dāng)前所處的行業(yè)和你自己的技術(shù)特點(diǎn),比如擅長(zhǎng)前段或者后端,有選擇性的學(xué)習(xí)一些自己感興趣的技術(shù)或者方法。
#2 軟技能(現(xiàn)代社會(huì),一個(gè)合格科學(xué)家不僅僅是某一個(gè)行業(yè)的技術(shù)專(zhuān)家同時(shí)也是一名專(zhuān)業(yè)的社會(huì)活動(dòng)家)
@遇到問(wèn)題,一定要多想,遇到一個(gè)問(wèn)題,如果解決了,就要反思為什么能夠解決,如果以后遇到類(lèi)似的問(wèn)題,
如何更快速的解決。
@英語(yǔ)的重要性,不言而喻,因?yàn)楝F(xiàn)在很多新技術(shù)的框架的中文文檔非常的少,即使翻譯成中文,也是二手的了(國(guó)內(nèi)自己的開(kāi)發(fā)的一些開(kāi)源框架除外)
@ 有時(shí)間的話(huà),看一些溝通方面的書(shū)籍,如果有參與溝通的機(jī)會(huì)的時(shí)候,一定要想如何把溝通做的更好更舒暢。
@ 如果有機(jī)會(huì)的話(huà),可以參加PMP的考試,但是如果不想?yún)⒓拥脑?huà),也沒(méi)有關(guān)系,至少要涉獵到項(xiàng)目管理方面的書(shū)籍,否則以后如果成為架構(gòu)師之后,客戶(hù)或者管理者給你說(shuō)一些項(xiàng)目管理上一些專(zhuān)業(yè)術(shù)語(yǔ)時(shí),到時(shí)候就會(huì)一頭霧水。
@架構(gòu)師其實(shí)從某種意義上就是一種角色,而不是一種職位。一定要時(shí)時(shí)刻刻保持空杯心態(tài)。
@一定要有一顆保持饑渴學(xué)習(xí)和耐得住寂寞的赤子之心。
@當(dāng)前的技術(shù)節(jié)湊是非常快的,特別是結(jié)婚以后又有小孩了。一定要好好的利用自己碎片時(shí)間,對(duì)于一些技術(shù),當(dāng)時(shí)讀不懂不要緊,但是一定要記住和了解其關(guān)鍵詞,這個(gè)主要是為了拓寬自己的視野。比如,當(dāng)前你想自己開(kāi)發(fā)一個(gè)系統(tǒng),結(jié)果已經(jīng)有一個(gè)開(kāi)源框架實(shí)現(xiàn)了,而且還很穩(wěn)定,這個(gè)時(shí)候,自己就沒(méi)有必要重復(fù)發(fā)明輪子了。
@與不同的技術(shù)、編程語(yǔ)言、設(shè)計(jì)模式和結(jié)構(gòu)等(甚至是它并沒(méi)有在日常中給予你直接的幫助)打交道。你永遠(yuǎn)都不知道這些知識(shí)是否會(huì)在未來(lái)派上用場(chǎng),但是對(duì)你絕對(duì)是有益無(wú)害。
@在工作中,能夠幫助到別人解決技術(shù)難題,一定要盡量全力以赴,因?yàn)檫@不但可以贏得同事的好感和口碑,同時(shí)也能增長(zhǎng)你解決問(wèn)題的經(jīng)驗(yàn)和提高你的技術(shù)思維能力
@ 一定要掌控好自己的時(shí)間,對(duì)工作沒(méi)有幫助的會(huì)議,能不參加盡量不要參加,當(dāng)然,企業(yè)安全,公司規(guī)章制度如果是強(qiáng)制性的,該參加還得參加,但是如果沒(méi)有工作效率和扯皮的會(huì)議,盡量避免參加。
@程序員要耐得住寂寞,要在自己的領(lǐng)域深挖,不能看啥火,就學(xué)啥,一定要有自己的想法和判定,如果決定不了,可以向資深的同事或者朋友溝通。
@盡量參與到項(xiàng)目中的編碼,因?yàn)榧軜?gòu)師不能與項(xiàng)目脫離。
@ 如果有機(jī)會(huì)可以鍛煉一下自己在大眾環(huán)境下的演講和PTT的能力。
@有機(jī)會(huì)多做知識(shí)分享,因?yàn)槟阋坏┓窒砹酥R(shí),你就會(huì)對(duì)這門(mén)技術(shù)有深刻的印象,同時(shí)也能樹(shù)立在同事中的良好的技術(shù)形象,從而贏得更多的專(zhuān)家影響力而不是職位影響力。
上面只是我當(dāng)前能想到的,知易行難,知道了上面的一些經(jīng)驗(yàn),并不代表年輕程序員們就能馬上成功,畢竟這需要一個(gè)鳳凰涅槃和實(shí)踐的過(guò)程,但是肯定能幫助有志于于此的年輕程序員們少走一些彎路,以后如果有其他的想法,或者讀者有其他的好的建議,我將會(huì)繼續(xù)更新。
-
架構(gòu)師
+關(guān)注
關(guān)注
0文章
47瀏覽量
4780
發(fā)布評(píng)論請(qǐng)先 登錄
Tenstorrent 首席架構(gòu)師:未來(lái) RISC-V 會(huì)是計(jì)算機(jī)的主流
潤(rùn)和軟件穩(wěn)居數(shù)字業(yè)務(wù)類(lèi)解決方案市場(chǎng)第一名
電子工程師自學(xué)速成——入門(mén)篇
如何成為一名合格的KaihongOS南向驅(qū)動(dòng)開(kāi)發(fā)工程師
如何成為一名合格的KaihongOS北向應(yīng)用開(kāi)發(fā)工程師
如何成為一名嵌入式軟件工程師?
如何成為嵌入式開(kāi)發(fā)工程師?
一個(gè)優(yōu)秀的嵌入式軟件“架構(gòu)師” — AWFlow

英特爾前Xeon首席架構(gòu)師加盟高通
如何成為一名合格的南向驅(qū)動(dòng)開(kāi)發(fā)工程師
如何成為一名合格的北向應(yīng)用開(kāi)發(fā)工程師
蔚來(lái)獲得CACSI車(chē)型滿(mǎn)意度和售后服務(wù)滿(mǎn)意度第一名
理想L6和理想L8榮獲中國(guó)新能源汽車(chē)用戶(hù)滿(mǎn)意度測(cè)評(píng)第一名
一位架構(gòu)師的自述:在尚未踏入的世界成為你自己

評(píng)論