程序員是一個(gè)廣義詞,架構(gòu)師首先也是程序員,架構(gòu)師的技術(shù)棧更廣、技術(shù)實(shí)力更強(qiáng),解決實(shí)際問題更有經(jīng)驗(yàn)。
底層的程序員是專注于某一項(xiàng)的技術(shù)開發(fā),有C++程序員、C語言底層程序員、前端程序員、Android/IOS程序員、Go語言程序員、PHP程序員,最多的還是Java程序員。
現(xiàn)在根據(jù)行業(yè)研究領(lǐng)域,還有大數(shù)據(jù)工程師、人工智能算法工程師。程序員,只有切切實(shí)實(shí)寫過代碼,積累經(jīng)驗(yàn),提升技術(shù)能力,才有機(jī)會(huì)成為架構(gòu)師。
程序員不能僅僅滿足于每天日常的工作,更應(yīng)該想法設(shè)法拓寬自己的技術(shù)棧。C++程序員,可以研究嵌入式開發(fā),物聯(lián)網(wǎng)開發(fā)。Java程序員,可以研究大數(shù)據(jù),數(shù)據(jù)挖掘。架構(gòu)師的技術(shù)知識(shí)是非常有廣度的,有大數(shù)據(jù)架構(gòu)師、網(wǎng)絡(luò)安全架構(gòu)師、分布式架構(gòu)師、微服務(wù)架構(gòu)師、應(yīng)用架構(gòu)師以及運(yùn)維架構(gòu)師。
Java架構(gòu)師要懂JVM底層原理、集合框架原理、多線程、網(wǎng)絡(luò)編程、BIO/NIO/AIO、Spring、Spring MVC、JPA、MyBatis、Spring Boot、Spring Cloud、Spring Cloud Alibaba、Redis、MongoDB、ElasticSearch、Rabbit MQ、Kafka、Seata等,甚至還要懂大數(shù)據(jù)技術(shù)。
技術(shù)發(fā)展是很快的,架構(gòu)師不學(xué)習(xí)也會(huì)落伍。有的單位架構(gòu)師權(quán)利很大,也是技術(shù)負(fù)責(zé)人,CTO,具有管理權(quán)力。單位中有的架構(gòu)師僅僅是項(xiàng)目里面的架構(gòu)師人員,聽命于技術(shù)經(jīng)理、項(xiàng)目經(jīng)理。
以我的經(jīng)歷來看,程序員首先要練好技術(shù)功底,其次擴(kuò)充自己的技術(shù)棧。架構(gòu)師不是一天能煉成的,需要深厚的技術(shù)積累。后期架構(gòu)師發(fā)展前景還是很大的,不斷學(xué)習(xí)更新技術(shù),知識(shí)的積累越來越多。
我也對(duì)技術(shù)做了一些分享,微服務(wù)Spring Cloud、OAuth2權(quán)限驗(yàn)證、Seata分布式事務(wù)、ELK都有研究,還有大數(shù)據(jù),歡迎與大家共同學(xué)習(xí)成長(zhǎng)。