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