優秀架構師是怎麼煉成的?

轉:https://www.cnblogs.com/ljysy/p/11025583.htmlhtml

咱們來說一個故事,一位旅行者路過一個烈日下的工地,全部人都在那兒汗流浹背地搬磚。程序員

旅行者問第一我的在幹什麼,那人頭也沒擡地回答:「我在搬磚。」編程

旅行者問第二我的在幹什麼,這個匆匆擡起頭認真地說:「我在砌牆。」安全

旅行者問第三我的在幹什麼的時候,那我的臉上充滿了光彩,很自信地說:「我在蓋聖瑪利亞大教堂。」這個故事是否是像極了咱們從事軟件開發工做的不一樣階段的不一樣狀態。每當聽到從程序員到架構師的書或者文章時,咱們老是充滿好奇,想從其中獲取一些觀點亦或是技能點,接下來咱們就詳細講講一下,如何從程序員走向架構師。架構

首先咱們定一個基準點:架構師只是功底深厚的程序員,千萬不要成爲不會寫代碼的架構師。框架

架構師應該是立足於技術和業務之間的中間角色或者平衡點, 在針對業務深入理解的基礎上,針對業務中存在諸多變數,挑選適合的技術架構和技術方案。能夠這樣說,一個架構師工做的好壞決定了整個開發項目的成敗。運維

 

開篇的基準點:架構師只是功底深厚的程序員;編程語言

程序員從初級、中級、高級再到架構師,是一個不斷經驗積累的過程,可是在這過程當中咱們經常很迷茫,不只僅是面對技術繁雜的無力感,更重要的是由於長期埋沒於代碼世界的浩大的分工體系中,沒法看清從業務到系統架構的價值鏈條,沒法清楚定位本身在分工體系的位置,處理很差自身與技術、業務的關係所致。因此在程序員生涯中除了技術實力之外,其它軟實力也不容忽視。如:主動學習、積累經驗、控制注意力、超越自我。性能

卓越的程序員學習

 

對於一個卓越的程序員來講,編程技能毋庸置疑是很重要的。可是,除了基本的編程開發能力,其餘方面的能力也是體現一個程序員的能力的很重要因素。好比,問題排查能力、線上運維能力、項目管理能力、協調溝通能力等。

咱們先看IT市場對於一個不一樣階段的程序員的要求:

 

 

職級要求

職位要求

初級開發工程師

 

 

  • 綜述:主動性,積極主動,可以主動了解相關業務需求,在上級的領導和監督下按期完成量化的工做要求;
  • 項目管理:不須要項目管理的能力,具有管理簡單模塊開發任務的時間點。
  • 開發語言技能及架構能力1.能獨立處理和解決所負責的任務;2.根據開發進度和任務分配,完成相應模塊軟件的設計、開發、編程任務;3.進行程序單元、功能的測試,查出軟件存在的缺陷並保證其質量;
  • 業務理解一、根據產品需求PRD理解簡單模塊的業務流程,根據業務流程書寫相應的開發流程,可以根據本身的理解評估模塊開發的時間點。
  • 影響一、能影響同級開發人員,獲得項目組承認。

職位要求

中級開發工程師

 

 

  • 綜述:獨立性,根據項目具體要求、承擔開發任務,按計劃完成任務目標。
  • 項目管理:具有有必定初級難度的項目(如鏈路較短\模塊複雜較低\風險較小\發佈週期不緊)的PM的經驗和能力。
  • 開發語言技能及架構能力一、理解產品文檔,參與需求評審、需求分析、系統設計;二、負責確保項目的進度和質量;三、整理和提交相關設計文檔,對負責的功能模塊有自測習慣;四、對所負責的模塊有維護責任,有問題及時解決。
  • 業務理解一、熟悉本身負責的業務模塊,對業務模塊的流程有獨立的思考,產品設計時能給出合理有效的方案建議;
  • 影響一、能影響項目的成員,是團隊內公認的主力成員之一;二、加分項:有良好的分享習慣。

職位要求

高級開發工程師

 

 

  • 綜述:自主性,獨當一面,能獨立主導和推進項目及任務,在專業領域具有輔導他人的能力
  • 項目管理:具有有必定中等複雜度的項目(如鏈路較長、模塊複雜度較高、風險較大、發佈週期較緊、技術驅動等)的PM經驗和能力。
  • 開發語言技能及架構能力一、能獨立解決問題,可以負責重要業務模塊的需求分析及設計實現。二、熟悉設計原則,可以在平常編碼工做中恰當使用,優化原有設計(有實例支撐);三、熟悉編程語言、編碼規範、安全規範,具有性能意識,代碼具有高可讀性;四、瞭解經常使用框架背後的原理。
  • 業務理解一、熟悉本身直接負責的業務,對業務產品具備獨立溝通,完善業務需求;並識別方案的風險能力;關注本身參與項目的業務數據;二、可以在所負責的業務及產品上有獨立的看法,能提出合理的建議,更有效的解決業務問題;
  • 影響一、能影響項目組或產品線的成員,是項目組或產品線公認的主力人員;範圍:團隊內。二、加分項:具有輔導他人的能力和技能,有良好的分享習慣。
相關文章
相關標籤/搜索