1、架構設計
架構師,顧名思義,第一職責就是在軟件設計階段,做好軟件“骨架”的設計。架構師需要把產(chǎn)品的需求翻譯成軟件工程的設計文檔,確定各個系統(tǒng)與模塊的邊界,評估系統(tǒng)的量級。
2、技術選型
從前端到后端,從緩存到數(shù)據(jù)庫,面對為數(shù)眾多的第三方組件,架構師需要作出合理的選擇。
前端頁面選擇模板引擎還是動靜分離?
服務端選擇Java還是Node.js?
服務治理選擇DubboX還是Spring Cloud?
消息隊列選擇RocketMQ還是Kafka?
分布式緩存選擇Redis Cluster 還是 Codis?
數(shù)據(jù)庫選擇Mysql還是Oracle?
全文檢索選擇Solr還是ES?
技術沒有絕對的好壞之分,關鍵看是否適用于公司的業(yè)務場景。
3、管理非功能性需求
滿足需求是項目開發(fā)和架構設計的根本,而管理非功能性需求則是項目的升華。
在公司從0到1的創(chuàng)業(yè)階段,開發(fā)者更關注的是功能性需求,往往一個簡單粗暴的MVC項目就可以搞定一切。當業(yè)務量級逐漸增大,用戶需求逐漸多樣化,非功能性需求的重要性就逐漸顯現(xiàn)。?
非功能性需求都包含哪些內容呢?
性能(響應時間)?
可擴展性(適應需求的快速變化)
可用性 (四個9,五個9,必要時的限流和降級)
安全性(防范各種惡意攻擊,實現(xiàn)風控)
可監(jiān)控(完善的監(jiān)控和報警機制)
靈活性(便于非開發(fā)人員進行配置)?
可維護(持續(xù)集成,持續(xù)部署)?
國際化(沖出國門)
4、攻克技術難題
架構師不只需要關注宏觀的設計,也需要具有攻克技術細節(jié)的能力。在團隊開發(fā)過程中遇到難以實現(xiàn)和優(yōu)化的技術問題時,架構師需要發(fā)揮技術優(yōu)勢,解決系統(tǒng)的疑難雜癥。
5、技術人員的管理和指導
架構師不只是一個技術大牛,也應該是一個好的管理者,在工作中需要把較大的項目和需求拆分一個個Story,依照每個人的情況分配給研發(fā)團隊的成員,并且在必要的時候進行技術上的培訓指導。
主要任職要求:?
1、最少3年以上相關工作經(jīng)驗;?
2、精通Struts Hibernate Spring等主流開源框架,熟悉J2EE體系結構;
3、熟悉運用Oracle,SQL Server,等數(shù)據(jù)庫開發(fā);
4、熟悉Weblogic/Tomcat/JBoss等主流應用服務器及Oracle數(shù)據(jù)庫開發(fā)技術;
5、掌握常用需求/架構設計工具使用;
6、優(yōu)秀的溝通和談判技巧。能有效的激勵工作團隊;?
所需最低學歷:一般為本科以上學歷、計算機軟件相關專業(yè)畢業(yè)。 所需資格證書有:全國計算機技術與軟件專業(yè)技術(資格)高級資格。
以上就是小編的分享,希望可以幫助到大家。