如何從碼農成為一名架構師呢?

盛開的白鶴


架構師是公司技術團隊的核心,是職場金領,很少需要考慮生存問題,也不需要負責太多的編碼工作,對於大部分程序員來說,架構師是一個令人嚮往的角色。如何才能從碼農成為一名架構師呢,以下架構師需要掌握的7大基本知識技能分享給大家。

1、數據層

重點在於集群方案的選擇,比如MySQL集群,集群方案很多,需要選擇符合業務的方案,比如多主,主備,讀寫分離等等,是否還需要做高可用,是用lvs,還是zookeeper,是否需要例如mycat類中間件來管理數據庫或者做數據分片等等。

2、應用層

框架太多,ssh,ssm,jfinal等等,選擇適合項目團隊的框架;UI界面,h5很美觀,但對於瀏覽器的兼容就把開發人員搞哭了,可以選擇成熟的ext或者easyui,或者最近很流行的node.js。

3、服務層

時髦一點,選擇dubbo,微服務讓團隊開發耦合度沒有那麼高,各自關心各自的模塊,都以服務方式發佈出去。傳統一點用springmvc+restful,在我看來,對於併發不高的系統,沒有必要用dubbo。 緩存的選擇,涉及到文件緩存、數據庫緩存,可以用memcached、ehcache、redis。

4、網絡層

多數開發人員都不用涉及,能瞭解下f5之類的就好。

5、安全

大多數安全在網絡層就解決了,但應用的安全不容忽視,比如需要考慮SQL注入,授權認證,這些目前框架都能解決,重點的安全問題來自框架本身,大多數應用選擇框架都是開源的,如果團隊沒有能力修復漏洞只能等更新。

6、部署

是否需要用docker來部署,開源docker容器讓部署輕量化,很容易就可以擴展一個節點,對於高併發、伸縮性要求高的場景可以使用。docker的出現,完全可以實現一鍵部署。是否需要負載均衡,可以選擇硬負載(就是前面說的f5),也可以用軟負載(nginx)。軟負載的方案簡單一點可以是apache+tomcat,需要考慮session複製,複雜一點選擇lvs+haproxy。 打包發佈,熟練使用maven,能建立自己的maven私服,能指導項目成員使用maven打包發佈。

7、其它方面

測試(自動化測試),版本管理(git or svn),大數據(奇熱無比),人工智能(高大上)、領導力、溝通能力等等等等。

總結下來,架構師也是從程序員成長起來的,其工作與實際項目經驗密不可分,一個好的架構師同時也是一個出色的程序員,大家在工作之餘,還應有意識去拓展自己的技術深度與廣度,不怕過程太難,就怕從不開始,堅持不懈,終有一天會將架構師之夢變成現實。

優知學院:BAT總監經驗分享平臺,專注分享bat面試經驗+架構師進階乾貨~


優知學院


這個問題我也回答一下,不是人人都可以成為架構師的,這個得區分情況,如果國內現在有10000家有或者需要架構師的公司,你去應聘如果能達到一半幾率,我就認為算是個架構師,一般架構師必須要專業,尤其體現在需求分析,系統設計,系統選型上面,對於大數據、高併發、安全、網絡、軟件工程、項目管理、服務器管理,另外,我認為還必須至少精通兩門語言,有著豐富的項目架構經驗,我認為這才是合格的架構師,如果按我前面提到的話,其實國內是很少的,充其量絕大多數只是個項目經理,真正達到架構師級別的不多,這麼說吧,國內前1000強it企業的前面幾千人算得上,另外就是一些“散修”,大概也有幾千人,所以綜合來看,感覺真正架構師國內不足1萬,當然,評價有失偏頗,主要是強調一名架構師必須有豐富的項目經驗,有紮實的專業積累,否則充其量只能是個項目經理


啟個好名兒


其實我覺得架構師本身是一個很虛的頭銜。我的理解,從寫軟件的角度講,當你寫過很多程序,能夠獨立完成一個程序,能夠獨立完成一個大型程序的時候,你基本就具備了架構師的能力。

所謂獨立完成就是說比如你做個網站,你可以從後端(java php等等)到前端css js甚至再到數據庫維護優化的時候,你差不多就具備了架構師能力,然後你需要的就是把你認為簡單的任務分給合適的人就可以了。


子子叔


只要不是太笨,一年能拿出一個季度的閒暇追蹤新技術,研究下大網站的架構和經驗,工作中不要守成,多嘗試新技能,從ui,前端,需求,結構設計,開發,環境搭建,測試,運維,安全上儘量都做下嘗試。那這個就是水到渠成的事


分享到:


相關文章: