架構師之路:剛入IT行業的人,該不該學架構?

架構師之路:剛入IT行業的人,該不該學架構?

來自專欄 代碼改變世界

起因:

小編近期決定轉架構方向(小編是一名PHP新手),小編也有差不多兩年的PHP程序開發生涯。許多人都會說現在轉架構還太早,至少需要5年以上的經驗,不然經驗太少,不足以勝任這份工作。小編也認同這點,架構師的確需要豐富的經驗。但小編還是覺得:雖然我們剛入IT行業,我們應該學習架構。

架構師需要做什麼?(大概)

  1. 對於整個項目進行需求分析;
  2. 對於整個項目的需求進行架構,如:數據層、服務層、緩存層、反向代理層、web層等需要使用什麼技術;
  3. 對於各個功能、模塊進行測試修正;
  4. 根據現有成員掌握的技術,計算成本,合理的分配工作;
  5. 對於整個項目的每一個流程進行嚴格把控,及時發現並解決問題,如:程序規範、資料庫設計、緩存服務等,保證項目能按照計劃執行。

架構師需要什麼條件?(大概)

  1. 架構師有優秀的編碼能力,解決開發人員無法解決的難題。
  2. 對大數據容量下的高性能、高並發、容錯的網站有架構設計和開發經驗。
  3. 深入了解資料庫,緩存,伺服器,負載均衡、集群、反向代理、容災等技術。
  4. 對於整個項目的開發過程有清晰明確的認知,對於出現的問題,能迅速給予解決方案。
  5. 學習能力很強、接觸知識面要很寬廣、喜歡接觸了解各種新的技術。
  6. 溝通能力強,能很好的表達自己的觀點,和把控整個項目的進程。

初學者適不適合學習架構?

問:既然架構師需要的要求這麼高,我剛入行沒多久,不是不適合學習架構嗎?

答:的確是這樣,但小編認為初學者更應該開始學習架構。

為什麼初學者更應該學習架構

小編認為初學者學習架構,可以更好的幫助初學者在程序路上走的更快,走的更遠:

  1. 程序層:所有的程序,寫到最後,無非都是要寫出已最小的消耗完成更多的事情,而對於這些,架構往往起到了一個很好的指明燈,因為架構,就是需要最優的程序。
  2. 數據層:架構在數據層這一塊,需要考慮很多:一致性、鎖機制、讀寫分離等,這些基礎的理論,往往能讓初學者在學習數據層這一塊,更好的往這一塊靠近。
  3. 服務層:對於初學者而言,是不存在什麼服務層的,而服務層也是架構中最重要的一部分,所以這一塊也能讓初學者在分析業務流程時,會考慮到服務層。
  4. 緩存層:同樣,初學者而言,是不存在什麼緩存層的,都是直接將請求丟給DB層的。而架構中的基礎的緩存機制,也能讓初學者去思考在何種條件下需要加入緩存層,使用怎樣的緩存機制。
  5. 高可用:這裡邊涉及到的cdn加速、dns分流、反向代理層分流、業務分離、數據冗餘、分散式等高深理論,都會讓初學者在做項目或者學習新知識的時候,都會有一個大概的方向,都會有一個目標。

總結

在這裡小編要總結幾點:

  1. 當你走上IT這條路時,你沒有一個方向的話,你就會不知道自己還缺少什麼,需要學習什麼,要怎麼去學習。
  2. 當你擁有一個方向的時候,雖然一開始我們離得很遠,但我們始終有了一個目標,不必在原地徘徊。雖然這個接近的過程很是艱辛,但只要我們不斷的學習,一點點的進步,終究是能到達目的地。
  3. 學習程序,有一個方向的引導,真的很重要!

完結

  1. 此篇文章純粹是小編的看法,一切都從個人出發;
  2. 只有適合自己的才是最好的。

推薦閱讀:

Kamailio源碼淺析#0 架構和基本執行時序
自助結帳,揭開新零售市場的龐大商機
推薦一篇技術乾貨,關於數據分析平台的架構與設計
MySQL高可用架構之MHA(1)
藍圖系列(一):高並發、高可用、高性能、分散式系統架構

TAG:架構師 | 技術架構 | 系統架構 |