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