Zhu哥
入行十幾年和很多架構師打過交到,絕大部分的架構師在具備超強的架構能力的同時,同時還兼具強大的編碼能力,而且會的編程語言還挺多,從程序員的角度認知,架構師還是需要懂一些代碼實現的原理對於架構整體架構還是非常有好處的。畢竟程序代碼架構和代碼的實現性能息息相關,所以架構不能脫離開代碼的實現而單獨存在,當然也見過專注於框架,不去在意具體代碼的實現,可能是見識淺薄的原因,相對來講還是非常少。
當今軟件的發展分工是越來越精細,對於架構師來講安心做好框架方面的東西,不關心底層的實現在一定程度上反而有助於提升整體軟件體系結構,框架主要體現以下幾個方面
1.可擴展性,兼容性
一個好的框架在後續加入新的功能之後,可以有機的結合在一起,新的功能的增加還能和之前的舊的功能有兼容性,兩者之間不會因為新的功能的增加而引起衝突,後續再次添加新的功能不需要大範圍的改變框架,在國內很多軟件公司由於前期工期趕得比較緊迫,後面再次添加新的功能需要改動的東西非常多,導致框架的兼容性不夠,成為大家都不敢動的馬蜂窩。
2.健壯性
好的框架支持多個功能的同時不能因為功能多,導致性能的下降,這都是需要在設計之初需要考慮的事情,不能因為功能太多,導致整體系統的性能下降太多,裡面在設計的時候就需要引入共享池的概念,大家一起共用,同時採用預加載的方式提升效率問題
3.有生命力
好的框架用上幾年也不會顯得過時,有前瞻性東西,用了幾年還能不落伍繼續使用,設計之初必須考慮未來幾年負載承受能力,這樣在大規模的功能上線之後的幾年內框架還能支撐住,未來新的未知功能還能繼續支撐,這算是架構的最高境界。
滿足上述三條至於是不是有編碼能力其實已經不是很重要的事情了,相對來講懂得寫代碼在架構的時候顯得更加接近地氣,但容易思維受到限制,關鍵還是看結果。
希望能幫到你。
大學生編程指南
早期互聯網領域裡大部分架構師都有過豐富的編碼經歷,傳統軟件公司更是如此,架構師是程序員發展的一個重要方向。但是隨著互聯網領域的不斷髮展,現在確實出現了一批不會做編碼的架構師,可以說這是互聯網領域快速發展的一個必然結果。
架構師在整個互聯網(軟件)產品中起著重要的作用,架構師負責整個軟件體系結構的設計、核心技術方案設計,架構師也需要具備一定的視野,能夠從較高的層次來理解軟件體系結構和技術發展趨勢,可以說架構師是一個技術含量非常高的職業。
既然是技術含量非常高的職業,那麼不會編碼可以麼?當然可以,原因有以下幾點:
第一,架構的設計本就在編碼之上。編程的作用是在架構之下完成功能實現的過程,從結構上來說,架構師本就不應該做具體編碼的事情。這就像籃球教練員也可以不是運動員出身的道理是一樣的,在NBA就有這樣的例子。
第二,技術更新速度的加快促使架構師更加專注。早期的架構師為什麼可以參與一些編碼工作(寫寫接口等),因為一個技術方案可能會使用2年,但是現在技術領域的更新速度已經不允許架構師有編碼的時間了,目前的技術更新速度非常快,這就要求架構師要隨時學習這些新的知識。
第三,架構師更應該注重技術發展的趨勢。相比於能夠完成代碼編寫的工程師來說,能夠把握技術發展方向的架構師才更加專業,這樣才能設計出伸縮性較強的體系結構。所以,對於架構師來說把握技術方向,並作出驗證和判斷才是架構師更應該關注的內容。
所以,遇到不會編碼的架構師是非常正常的情況,也是互聯網行業快速發展的必然結果。
我的研究方向是大數據和人工智能,我也做過多年的架構師工作,我會陸續在頭條上寫一些關於軟件架構方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。
如果有軟件開發方面的問題,也可以諮詢我。
IT人劉俊明
我單位在早年,無數的項目經理現在成為架構師。但是不要忘記了,還有系統管理大牛,他們的地位,有時候比領域架構師還要高。淘寶十年裡記錄,第一次買小型機,把數據庫建設到了NAS存儲上,犯了一個大錯,就是因為沒有系統大牛,這個條線,絕對能出架構師。
未來生活觀察
架構實際上大家也有不同的角度歸納有不同的分類,系統架構,技術架構,業務架構等。
全面的架構師通常要有紮實的技術根底,豐富的實施經驗和業務抽取能力,良好的溝通和必要的決策能力。
如果能遊走在業務和技術之間,承上啟下,驅動技術服務好業務,就是個稱職的架構師。架構師通常都是全棧的。