全棧工程師和架構師的區別

軍說網事發表於2018-06-28

一、定義

  (1)全棧工程師,也叫全端工程師,是指擁有全端軟體設計思想並掌握多種開發技能的複合型人才。其獨當一面的特性,被人戲稱為“獨行俠”。

(2)架構師,是一個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。架構師不是一個人,他需要建立高效的體系,帶領團隊去攻城略地,在規定的時間內完成專案。

二、共性

  全棧工程師和架構師往往具備一專多能,不但專業技能紮實,還得熟悉掌握前端到後端各種主流技術環節的實現能力和其它一些軟技能,他們之間的共性有:都必須具有豐富的軟體設計與開發經驗,都要具有領導能力與團隊協作技能等等。

  全棧工程師雖被稱為“獨行俠”,並不意味著公司只需要這一種人才就行了,一個專案的進行,是需要不同的人蔘與的,尤其是在大專案中,專案越大,人越多,溝通成本越高,如果配備一個全棧工程師,那麼專案的溝通成本就會大大降低。因為這個人各種技術都懂,在團隊協作中,與不同技術人員的溝通就會容易得多。

  架構師也是一個得到各方承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。同時他們也要具有很強的溝通能力,因為架構師需要與各路人馬經常打交道,客戶、市場人員、開發人員、測試人員、專案經理、網路管理員、資料庫工程師等等。

三、區別

全棧工程師和系統架構師的區別?

理論上來說,“全棧”是一種“技能”,“系統架構師”是一個“職位”,這,不是一個概念啊。哪裡來的區別呢?     

你肯定聽過程式設計師哥哥說:“我在我們公司負責系統架構”,但你肯定沒有聽過程式設計師哥哥說:“啊,我在我們公司負責全棧”。為什麼大家常常把他們放在一起說?是因為很多“系統架構師”都具有“全棧技能”,不得不承認——系統架構師如果有“全棧技能”,如虎添翼。全棧工程師如果四商皆高,飛龍在天。你如果要問那個更有前途?看,你,性,格。

  全棧工程師和構架師並不存在高下之分,分工不同而已,只不過成為構架師所需要掌握的知識更特殊,而且也更依賴經驗。

全棧工程師更多關注功能實現,主要負責應用開發,對前端後端技術都能熟練使用,更關注應用開發本身,以做新功能為主。對於小型系統,只要實現功能即可,效能可以暫時放在一邊,這時用全棧工程師最適合。

隨著系統的更新升級,整體構架也在不斷演進,許多以前不會出現的問題也會漸漸顯露出來,這時能對整個過程有清晰認識的人,就是架構師了。因此,架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常瞭解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟體開發專案的成敗。

   在大型應用中,除了功能,效能也變得重要。構架師考慮的是技術的選型、系統模組之間的連線方式、系統可能出現的瓶頸以及負載均衡和快取之類的支援系統。

“真正的”架構師需要是全棧技能,架構師按大小領域分級,從小到大基本上是 application architect, solution architect, enterprise architect。

現實社會當中,少見所謂什麼前端架構師,後端架構師,架構師起板是application 級別,一個application,當然有前端,後端,資料持久,infra,整合等等。

  全棧工程師或構架師雖是個多面手,有全域性觀還會為公司省錢,但其弊端使這些角色的發展有了侷限性。他們不會替代測試人員、前端工程師或者其他什麼工程師,畢竟術業有專攻,一個人就算有再大的精力,也無法做到全精,尤其對於新手而言,為了成為全棧工程師或者架構師,而什麼都學,卻什麼都只懂皮毛,這絕對是個誤區,甚至是致命的誤區。橫向是一個方向,專精也是一個方向,說不上誰比誰厲害,但一定都是在自己的領域內做到極致的人。把每個部分都做好,同時修煉其他的技能,自然而然就會升到架構師或者全棧工程師這類令人羨慕不已的角色。

相關文章