到底怎樣的程序員能稱為架構師?

謝京瀚


作為一名從業多年的IT人,我來回答一下這個問題。

首先,架構師是程序員發展的一個重要方向,也是IT行業中的重要崗位。

一個軟件產品的開發需要一系列角色的配合才能夠完成,從一個產品的設計到最終的部署需要產品經理、策劃、交互工程師、視覺工程師、架構師、產品經理、程序員、測試、運維工程師等一系列角色的配合。

從研發的角度來說,程序員可以簡單劃分為兩類,一類是設計,另一類是實現。負責設計的程序員通常也就是所謂的研發級程序員,主要解決系統級問題,比如平臺的研發、接口(API)的設計等工作,通常針對的是行業級問題。而負責實現的程序員通常是所謂的應用級程序員,通過接口來完成平臺功能的調用從而實現具體的業務邏輯,工作的重點在於具體功能的實現,往往針對於具體的應用場景。

技術領域的架構師也通常分為兩個大類,一類是平臺架構師,另一類是應用架構師。平臺架構師制定的是平臺的研發策略和技術指標,通常要結合功能定位和行業定位來進行具體的設計。平臺架構師通常是研發級程序員成長起來的,同時具備一定的行業前瞻性。比如James Gosling(Java創始人)和Linus Benedict Torvalds(Linux創始人)就是典型的平臺架構師。

通常所說的軟件架構師大部分指的是應用架構師,針對於具體的應用場景給出軟件產品的設計方案、技術選型和接口設計等,通常應用架構師需要對各種平臺產品有較為清晰的瞭解,並能夠緊跟技術發展趨勢來不斷優化設計方案。另外,應用架構師需要具備一定的行業背景,對於方案的技術瓶頸有豐富的解決方案。應用架構師通常是應用級程序員成長起來的,往往具有多年的行業開發經驗。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網方面的問題,或者考研方面的問題,都可以諮詢我,謝謝!


IT人劉俊明


你好,科技領域工作十多年的三邵又來夢囈了:-),如有回答不妥,請指正。


架構師需要具有一定的「 技術寬度 」和「 技術深度 」。


如果說程序員具有以下這些典型特徵,那麼這個程序員可以認為是架構師級別的:


1、對一個領域所涉及的眾多技術面都有所掌握,能夠獨立完成開發,包括需求分析、方案設計、編碼實現。


2、具有一定的方案設計經驗並能獨立完成開發。

3、可以獨立完成一個複雜系統的架構設計,可以是從0到 1 設計一個新系統,也可以是將架構從 1.0 重構到 2.0。

4、能夠創造新的架構模式。


如果你覺得我的回答對你有幫助,或解答了你的疑惑,歡迎點贊和關注!你的支持是我持續輸出的動力!


三邵爺的夢囈


到底怎樣的程序員能稱為架構師?首先要知道架構師是做什麼的,架構師主要職責是確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節、掃清主要難點的技術人員。

那麼怎樣從一個程序員成為架構師呢,我總結了以下幾個方面:\t

意識方面

首先程序員自身想往架構師方向發展,然後換位思考與架構師的差距,該如何努力才能符合一個優秀的架構師,所以關注範圍是不同的,程序員專注於具體細節,而架構師專注於“宏觀視角”,整體大局出發,所以不能只專注寫代碼。

技術方面

架構師的主要任務不是從事具體的軟件程序的編寫,而是從事更高層次的開發構架工作,所以要想成為架構師,自身的技術能力一定要提升,基礎一定要紮實。還有就是要去掌握一些知識來提升自己的抽象能力,提高自己的建模能力,因為架構師所需要具備的就是能夠從很紛繁複雜的需求當中抽象出一個共同的東西出來。

平時積累方面

優秀的架構師要滿足業務需求和能夠靈活對各個人士的技能,同時也對了解多種框架熟悉應用,清洗明確適應場景,這些都需要程序員長期的積累,從開發工作中提升自己的技術,從項目中積累中提升業務能力。

架構師專注宏觀,但通晰微觀;開發框架,又精通需求;熟練當前技術,還能前瞻未來發展。成為一個架構師絕對不是一朝一夕就能突破的,是要從基礎開始一點一滴積累而來。而作為程序員更是要打好自身的基礎,開拓自己的視野,用自律的心態和積極向上的意識敦促自己,跨越臺階,成為合格的架構師。


數通暢聯


架構師不是說針對去學習,就能掌握到的。首先,你需要對各個技術面都要了解,需要知道實現一個產品,都需要哪些功能,以及各個功能需要的部件和這些部件之間的數據交互。

我一開始是嵌入式工程師,後來從openstack轉做控制檯的後臺和前臺開發,在到後來前後端分離,開始轉入react開發,以及公司需要手機app開發,學習了flutter的開發。到現在我們公司的對外產品的大項目的整個架構設計都是我來負責的,我覺得真的是需要從產品服務的部署運維,底層服務實現,前端用戶展示,都是需要涉及到的。從我們這個項目所涉及面來講,主要是kubernetes,prometheus,grafana,postgresql,mongodb,eggjs,react,django,alertmanager,redis,rabbitmq,這些都需要熟悉掌握。至於架構圖,肯定不能在這裡展示了。所以,我覺得,成為架構師,是需要自己去多掌握各方面的技術,有產品全局角度的分析。


海濤全棧之路


以前的宜興城市網就是號稱是我架構的,所以那麼值錢!其實我以前做的是遊戲,我們在開發遊戲,我們想玩遊戲,然後我還是自慰器生產商和開發商!謝乾不承認,不接受,認為我是城市網架構師!


徐濤濤濤總


精通某個行業的全面技術,熟悉各種開源框架(主要是Java領域),精通底層c和c++編程技術,精通數據庫技術(數據設計、性能調優、高級SQL語法),精通前後端開發技術,熟悉數據結構和算法。根據項目需要能選定合適的技術方案,規避技術風險。在軟件出現疑難雜症的時候能最快找到問題方向和思路,同時給團隊提供技術保障和技術培訓!


AI之路人甲


簡單來說,就是對於一個產品,或者一個領域,你有一套自己的解決方案


簡單的幸福感


精通常用的技術,設計模式,業務


分享到:


相關文章: