我經(jīng)常聽(tīng)到一些程序員說(shuō):“我們公司的架構(gòu)師每天都在開(kāi)會(huì),研究、設(shè)計(jì)、編寫(xiě)文檔并指出問(wèn)題。他們根本不寫(xiě)代碼。這很好。”“我的下一個(gè)目標(biāo)是成為一名架構(gòu)師,這樣我就不會(huì)編寫(xiě)代碼。”“貴公司的架構(gòu)師是否希望編寫(xiě)代碼?”不同的人對(duì)這些說(shuō)法會(huì)有不同的看法。對(duì)我來(lái)說(shuō),我會(huì)采取明確而毫不掩飾的表達(dá):我希望網(wǎng)站建設(shè)架構(gòu)師能夠在繁忙的工作中抽出一些時(shí)間來(lái)編寫(xiě)代碼,尤其是核心代碼。任何時(shí)候都不要忘記并磨練編寫(xiě)代碼的基本技能。如果您仍然想走技術(shù)路線,那么讓我們先看看架構(gòu)師是什么。百度百科全書(shū)中定義了技術(shù)人員,他們確認(rèn)和評(píng)估系統(tǒng)需求,提供開(kāi)發(fā)規(guī)范,構(gòu)建系統(tǒng)實(shí)現(xiàn)的核心框架,澄清技術(shù)細(xì)節(jié),消除主要困難。重點(diǎn)介紹了系統(tǒng)的“技術(shù)實(shí)現(xiàn)”。因此,他/她應(yīng)該掌握特定的開(kāi)發(fā)平臺(tái)、語(yǔ)言和工具。他/她應(yīng)該能夠立即為常見(jiàn)應(yīng)用場(chǎng)景提供最合適的解決方案。同時(shí),他/她應(yīng)充分了解他/她所屬的開(kāi)發(fā)團(tuán)隊(duì),并能夠評(píng)估其團(tuán)隊(duì)的成本,以實(shí)現(xiàn)特定的功能需求
系統(tǒng)架構(gòu)師負(fù)責(zé)設(shè)計(jì)系統(tǒng)的總體架構(gòu),考慮從需求到設(shè)計(jì)的每個(gè)細(xì)節(jié),掌握整個(gè)項(xiàng)目,使設(shè)計(jì)的項(xiàng)目盡可能高效、易于開(kāi)發(fā)、易于維護(hù)、易于升級(jí)等。架構(gòu)師的主要任務(wù)不是編寫(xiě)特定的軟件程序,而是從事更高級(jí)別的開(kāi)發(fā)架構(gòu)。他必須對(duì)開(kāi)發(fā)技術(shù)有很好的理解,并具有良好的組織和管理技能。可以說(shuō),架構(gòu)師的工作質(zhì)量決定著整個(gè)軟件開(kāi)發(fā)項(xiàng)目的成敗,簡(jiǎn)而言之,架構(gòu)師是經(jīng)過(guò)程序員磨練、積累到一定程度的大師級(jí)程序員,同時(shí)具備宏觀和微觀控制能力。更一般地說(shuō),它是程序員技術(shù)水平的一個(gè)劃分,也就是說(shuō),程序員有初級(jí)、中級(jí)、高級(jí)等等。進(jìn)一步說(shuō),還有架構(gòu)師,因此,我們可以看到架構(gòu)師首先是程序員。那么,程序員的首要任務(wù)是什么?程序員的基本技能是什么?當(dāng)然,是的,編寫(xiě)代碼。從來(lái)沒(méi)有人說(shuō)過(guò)架構(gòu)師不會(huì)寫(xiě)代碼,也不喜歡寫(xiě)代碼。如果沒(méi)有普通的積累和實(shí)踐,你怎么能成為大師?當(dāng)然,架構(gòu)師會(huì)花很多時(shí)間從事更高層次的開(kāi)發(fā),但不要忘記,如果他們不真正參與部分代碼的開(kāi)發(fā)和審查,他們?nèi)绾握莆占夹g(shù)細(xì)節(jié),并知道系統(tǒng)真正按照自己的要求和設(shè)計(jì)工作。當(dāng)其他團(tuán)隊(duì)成員遇到問(wèn)題時(shí),他們?nèi)绾螏椭麄兛焖僬业讲⒔鉀Q問(wèn)題,甚至卷起袖子把問(wèn)題擺在自己身上
更清楚地說(shuō),如果你遇到“你能做你能做的事”這樣的挑戰(zhàn),你怎么能無(wú)所畏懼,在應(yīng)該做的時(shí)候開(kāi)始。此外,在某些情況下,對(duì)于系統(tǒng)的核心部分,即核心算法,架構(gòu)師確實(shí)需要編寫(xiě)和維護(hù)這些關(guān)鍵代碼。如果你平時(shí)不堅(jiān)持寫(xiě)作,當(dāng)你真正想使用它時(shí),你會(huì)感到尷尬。此外,隨著技術(shù)的快速進(jìn)步,新的開(kāi)發(fā)平臺(tái)、新的語(yǔ)言、新的工具和新的模型不斷涌現(xiàn)。如果你只堅(jiān)持你以前非常熟悉的那個(gè),它很容易過(guò)時(shí)和被淘汰。如何快速跟進(jìn)新技術(shù)和新發(fā)展,除了閱讀和交流,最重要的環(huán)節(jié)是自己練習(xí)。編寫(xiě)代碼通常是掌握這些新技術(shù)實(shí)踐的重要步驟。只有自己動(dòng)手,我們才能找到優(yōu)勢(shì)和漏洞。這樣,我們可以更好地做高層次的開(kāi)發(fā)工作。一個(gè)從未使用或編寫(xiě)過(guò)tensorflow代碼的人不會(huì)相信自己會(huì)成為tensorflow的大師。最后,我們都知道,興趣和偏好是成功的重要因素。編寫(xiě)代碼和熱愛(ài)編寫(xiě)代碼應(yīng)該是程序員的興趣和愛(ài)好。沒(méi)有這個(gè)愛(ài)好,很難成為一名優(yōu)秀的程序員大師。至少可以這么說(shuō),想象一下,如果你有任何想法和想法,并且可以編寫(xiě)代碼立即實(shí)現(xiàn)它們,那該有多幸福。作為一名架構(gòu)師,我只想放棄編寫(xiě)代碼,但我不想編寫(xiě)代碼。多么膚淺的想法啊。如果你真的不喜歡寫(xiě)代碼,也不想寫(xiě)代碼,你就不必是一個(gè)架構(gòu)師,因?yàn)槟銓?duì)程序員的基本技能沒(méi)有熱情。簡(jiǎn)而言之,架構(gòu)師必須寫(xiě)代碼,無(wú)論他們寫(xiě)多少或?qū)懚嗌佟13志帉?xiě)代碼的熱情將使您成為時(shí)代的引領(lǐng)者,永不落后,永不被淘汰。