軟體行業架構師兩個定義 •
系統架構師是乙個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的人。具體來說是乙個確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節、掃清主要難點的技術人員。主要著眼於系統的「技術實現」。因此他
/她應該是特定的開發平台、語言、工具的大師,對常見應用場景能馬上給出最恰當的解決方案,同時要對所屬的開發團隊有足夠的了解,能夠評估自己的團隊實現特定的功能需求需要的代價。系統架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個專案,使設計的專案盡量效率高,開發容易,維護方便,公升級簡單等。 •
架構師是軟體行業中一種新興職業,工作職責是在乙個軟體專案開發過程中,將客戶的需求轉換為規範的開發計畫及文字,並制定這個專案的總體架構,指導整個開發團隊完成這個計畫。架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。
• 網際網路專案(偏靈活及擴充套件性) •
盈利方向:以產品服務為導向,以產品吸引使用者,從中挖掘盈利模式 •
迭代頻率:快速迭代,快速呈現產品
,不斷更新產品符合業務發展及使用者需要 •
業務複雜度:由於面向全網際網路,複雜度越大用的人越少 •
瀑布流方式並不適合網際網路,架構師的做事方式也不同與企業架構
• 企業專案
(偏積累復用性) •
盈利方向:技術服務以需求方為導向,普遍對內部及合作方服務 •
迭代頻率:以客戶需求為導向,一般週期很長 •
業務複雜度:以客戶需求為導向,普遍業務邏輯複雜 •
適合瀑布流方式及螺旋模型 •
系統架構師:
伺服器 負載
,可靠性,伸縮,擴充套件,資料庫切分,快取應用 •
應用架構師:
理解業務,梳理模型,設計模式,介面,資料互動
• 擅長溝通的,不見得技術很強 •
擅長展望的,不見得細節完善
• 擅長攻關的,不見得會規劃 •
擅長設計的,不見得會實現 •
擅長理論
的,不見得能落地 •
擅長推動的,不見得
細節可控 •
擅長總結的,不見得會創新 •
不擅長的
事情怎麼辦?很多方法能解決!! •
努力目標:
產品做得好,技術玩的歡
• 迭代快,效率高,業務邏輯清晰明了,擴充套件強, •
迭代次數過多,需要定期整理迭代**整理精華及總結。 •
乙個人精力有限,不能面面俱到 •
高手鳳毛麟角,即使有,也因為精力有限也只能解決幾個問題 •
產品是乙個整體,技術團隊也是乙個整體,所有細節的優秀才會成為乙個優秀的產品,優秀的團隊 •
保持和架構的溝通,架構通過團隊的溝通總結出方向 •
隊員經常提出自己碰到的問題,並分享給大家,思維碰撞促進發展 •
產品經常提出設想和規劃,能夠使得架構符合未來發展需求 •
運維經常提出隱患及分析,能使得架構快速拆分模組 •
定期做總結歸納以此分析問題,解決問題 •
團隊成長、就是每個人的成長、每個人成長眼界自然增長 •
團隊的成功、就是產品的成功,產品的成功就是公司的成功
公司的成功可以給你加光環,但光環不代表自己的能力代表經歷
• 方向規劃:
有想法和技術展望目標,制定短期目標 •
架構設計:
集思廣益
來設計,歸類總結,根據討論結果制定規範。設計不僅僅是技術相關(業務流程,業務方向,模組劃分組合,框架設計,流程紕漏等),設計出來還是需要實施的。 •
技術攻關:
疑難技術點攻關,將問題集中化解決,提供平台化解決方案以及選型決策。 •
解決疑難問題:
發現各型別問題(不僅僅是技術),通過規範,演講,繪圖等方式解決隱患。 •
互動溝通:
部門之間溝通,開發之間溝通,產品之間溝通,市場溝通,溝通後產出圖形化文件及設計。 •
關注點:
秩序,統一,規範,穩定,高效
• 溝通能力:各個方面都要了解,人人想法及規劃都要知道,了解產品思想,用了什麼方法實現的 •
組織能力:組織推動各種技術的改進及功能的完善 •
談判代表:左右兩難的時候的調解人 •
設計模組及業務:通過圖形化設計發現開發後才會發現的業務問題 •
成本規劃:通過過往經驗評估成本及步伐 •
願望收集:不斷收集建議及願望,一步步實現 •
傳播布道
:不斷參與行業交流,提高理論及技術知識科普分享團隊 •
目的:通過各種方式,強化產品執行速度及效率及體驗等 •
縮短開發周期,歸類設計減少重複造輪子 •
工具化所有環節,資料歸類所有資料 •
優化伺服器利用率,減少伺服器資源浪費 •
強化伺服器穩定性,設計完善的伺服器監視預警 •
圖形化文件管理關鍵點,縮短產品及業務的成熟時間,規範業務模組間的關係。 •
拆解複雜業務及任務,組合高依賴業務,減少開發細節模糊點 •
行業動態要了解,時刻關注技術更新 •
開發時先設計然後在做,做好後總結 •
關注公司業務動態,結合產品觀察 •
關注系統運維及相關技術 •
關注業務劃分技巧及目的 •
清晰化自己掌握的技術的用途 •
多溝通 •
偏管理:
做專案管理、總監、
cto
• 偏技術:
做架構、技術專家、領域專家
設計中注意要點
• 問題拆解,明確知道關鍵點是那些,圍繞核心思想進行設計 •
避免過度設計,現在需要多少就做多少 •
靈活及擴充套件性越強的模組越容易複雜 •
相互依賴過多的模組要合併 •
相互依賴模組之間要做隔離為以後公升級適配留路 •
隔離不僅僅隔離依賴還需要隔離適配臨界點(如第三方介面) •
系統單點要備份,監控 •
層級多了會以效能及效率為代價,少了則不好維護,掌握平衡即可 •
不能過分追求乙個極致,誰也不能**業務下一步 •
不知道所有業務場景慎重設計,應以整體產品方向為設計依據
開發如何更好的溝通?
• 發現
問題,分析問題原因時 •
闡述所有相關資訊,碰到什麼問題,目前情況什麼樣,並做演示 •
通過輸入,輸出判斷結果分析原因 •
通過圖形化討論更好理解
• 術語不是所有人都知道其意義,不如白話溝通 •
有不知道的地方,及時拉所有相關人加入討論分析 •
**如果沒有注釋,只能知道動了那些資料
架構總結:
1、架構不是設計出來,是進化優化出來的。
架構師入門知識體系樹
在網上看到的乙個架構師培訓課程的知識體系樹,參考下。課程簡介 本課程針對軟體團隊中的架構師和專業設計人員,全面闡述架構的範圍,把握方法,以及關鍵實踐。涉及 應用架構,邏輯架構,實現架構。在課程中,將結合實際案例,講解架構設計的技術 變化分解,模式,分層,分解,抽象,封裝,介面隔離,擴充套件配置,美學...
架構師成長之路 4 架構師知識體系(方法)
哲學家常思考的問題 我是誰?我從 來?要到 去?不只是哲學家,我想每個人都有自己對這三個問題的認知。如果我們要成為架構師,我們自己要面臨的三大問題 找準自己定位 我是誰?在 怎樣做好架構師 我要做什麼?如何搭建架構師知識體系 我該怎麼做?這裡面就是做事方 目標 我要做什麼 方法 計畫 我該怎麼做 執...
架構師成長之路 4 架構師知識體系(方法)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!前言 哲學家常思考的問題 我是誰?我從 來?要到 去?不只是哲學家,我想每個人都有自己對這三個問題的認知。如果我們要成為架構師,我們自己要面臨的三大問題 找準自己定位 我是誰?在 怎樣做好架構師 我要做什麼?如何搭建架構師知識體系 我該怎麼做?這裡...