程序員的工作和架構(gòu)師有什么不同?
簡(jiǎn)單的說,程序員分為初級(jí)程序員,中級(jí)程序員,高級(jí)程序員,而架構(gòu)師必定是優(yōu)秀的高級(jí)程序員,優(yōu)秀的高級(jí)程序員未必是架構(gòu)師。下面我們來看看程序員和架構(gòu)師的主要工作
初級(jí)程序員:這種程序員通常都是剛畢業(yè)不久或者剛從培訓(xùn)機(jī)構(gòu)出來工作不久,對(duì)編程語言基礎(chǔ)有一定的理解,對(duì)常用數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)技術(shù)能夠熟練的應(yīng)用,但是沒有功能模塊的概念,通常都是參考系統(tǒng)中相關(guān)功能來實(shí)現(xiàn)自己的邏輯單元,很多時(shí)候都是去百度然后COPY-UPDATE來完成任務(wù)。
中級(jí)程序員:已經(jīng)有個(gè)三五年的工作經(jīng)驗(yàn),對(duì)技術(shù)和業(yè)務(wù)都已經(jīng)相對(duì)熟悉,能夠獨(dú)立設(shè)計(jì)和完成一些系統(tǒng)的功能模塊,并能對(duì)初級(jí)程序員進(jìn)行指導(dǎo)。
高級(jí)程序員:已經(jīng)擁有五年以上的工作工作經(jīng)驗(yàn),對(duì)技術(shù)和業(yè)務(wù)已經(jīng)非常熟悉,系統(tǒng)中的幾乎所有功能都能夠帶領(lǐng)初、中級(jí)程序員來完成,并能夠指導(dǎo)初中級(jí)程序員的工作。
架構(gòu)師:已經(jīng)工作8年以上,對(duì)業(yè)務(wù)和技術(shù)都有自己的理解,在某個(gè)行業(yè)內(nèi)做過很多新項(xiàng)目,并在項(xiàng)目中參與軟件架構(gòu)的設(shè)計(jì),完成某些核心功能模塊的編寫,并帶領(lǐng)和指導(dǎo)初中高級(jí)程序員完成軟件項(xiàng)目的研發(fā)工作。
優(yōu)秀的架構(gòu)師必定是優(yōu)秀的高級(jí)程序員,只有在足夠的項(xiàng)目中經(jīng)歷多種疑難雜癥,才能在最初的軟件架構(gòu)設(shè)計(jì)上采取合適的架構(gòu)。比如軟件項(xiàng)目打算采用主流的分布式架構(gòu),但是到底用dubbo還是springcloud呢?其實(shí)2種架構(gòu)都是可以的,但是都有很多的坑需要踩,分布式事務(wù)問題,分表分庫(kù)問題,微服務(wù)的細(xì)化問題,發(fā)布部署問題,運(yùn)維問題等等,很多問題是高級(jí)程序員都考慮不到的。高級(jí)程序員只要掌握技術(shù)和業(yè)務(wù),完成功能模塊即可,而架構(gòu)師必須掌握二外的很多內(nèi)容,不僅僅專注于代碼的編寫上,還要專注于項(xiàng)目的可維護(hù)性、易擴(kuò)展性、易使用性等。
高級(jí)程序員經(jīng)過多個(gè)新項(xiàng)目的實(shí)現(xiàn),注意積累,也是很容易成為架構(gòu)師的?,F(xiàn)實(shí)中往往很多高級(jí)程序員沒有這樣的機(jī)會(huì),而僅專注于代碼的編寫上,所以很多高級(jí)程序員都停留在了程序員的水平。
聯(lián)系客服