hi,我是熵減,見字如面。
對於從事軟體開發的工程們來說,都有一個成為架構師的夢想。
可以說,不想當架構師的程式設計師,不是好的工程師,人人都想成為架構師。
而為什麼要成為架構師,可能每一個人都有不一樣的理解和出發點。譬如,有的人覺得架構師是一個非常高大上的職位,或者架構師能夠獲得不錯的報酬,或者架構師在行業內更有聲譽等等,不一而足。
所以,我們對架構師的預期目的和理解認知,對程式設計師職業的發展來說,還是比較重要的。同時,對組織的成長,也是有一定的意義的。
今天,我來聊聊對架構師的一些想法和思考吧。
軟體架構師是在在軟體開發領域中非常重要的角色,其負責設計和管理軟體系統的整體架構。
作為軟體的架構師,需要綜合考慮軟體系統的各個方面,包括效能、安全、可維護性、可延伸性等,以及與其他系統的整合等方面,從而設計出滿足客戶需求、具有高質量和可維護性的軟體系統架構。
具體來說,在軟體設計和開發過程中,需要在軟體開發週期的早期階段就參與到專案中,與需求方溝通需求,分析需求,評估技術可行性,根據需求和技術可行性,設計軟體系統的整體結構和各個元件之間的互動關係,制定技術規範和標準,為開發人員提供技術指導和支援。
此外,架構師還需要關注軟體系統的整體效能、安全和可維護性等方面,提出優化建議,確保軟體系統的質量和可靠性。
可見,架構師是軟體開發團隊中至關重要角色,需要承擔至關重要的責任,他們的工作會直接影響軟體持續交付的質量和效能。
作為一名架構師,在專案和團隊中,是要承擔責任,承擔解決問題的責任,規劃系統的目標,方案和迭代路徑等。
其具體的職責,可以總結為以下幾點:
可見,在軟體團隊中,架構師是扮演著至關重要的角色,他們的職責和作用不僅是設計和管理軟體系統的整體架構,還包括確保軟體系統的可靠性和質量,維護軟體系統的可延伸性和適應性,促進團隊溝通和共同作業等方面。
現在,在人才市場上,有各種各樣的架構師的職位需求,諸如:
當然,這個清單還會無限的增加,AI架構師,演演算法架構師等等。
不同型別的架構師,需要具備不同的技能和專業知識,但會存在著共同點,都需要具備深入的技術知識和對整體系統架構有全面的瞭解和把握。
上面我們瞭解了什麼是架構師,架構師的職責和架構師的一些型別這些內容,對架構師有了一個初步的瞭解。
接下來,我們就說說一下在軟體團隊中存在的一些反例:那些扯淡型的架構師。
扯淡的架構師,通常用來形容那些沒有實際能力和經驗,卻通過誇誇其談和空泛的理論來掩蓋自己的無能和不足的「架構師」。
首先,我們來看被人嚴重詬病的3個架構師的樣板:
架構師對軟體系統的重要性不言而喻,而一個不合格的架構師可能會帶來一系列的問題。
架構師的本質是承擔解決問題的責任。 不合格的架構師卻無法解決問題,且自身也成為了一個問題。
如何識別你的架構師是在承擔責任,還是僅僅在誇誇其談呢?
下面列出了一些常見的扯淡的表現形式:
可見,架構師扯淡的表現形式有很多,其中涉及到技術能力、思維方式、責任心、全面性、實踐經驗以及溝通和共同作業能力等方面。
造成架構師扯淡的原因主要有兩個方面:架構師自身和組織團隊。具體如下:
以下是一些架構師自身上的一些不足,導致無法落到實處的原因:
缺乏技術深度和廣度:架構師需要具備廣泛的技術知識和深入的技術理解,如果缺乏這些,就難以對系統進行有效的架構設計和決策。
缺乏對業務的深入理解:架構師需要深入瞭解業務需求和業務流程,以便能夠設計出符合業務需求的系統架構。如果缺乏業務理解,就很難做到這一點。
缺乏團隊合作精神:架構師需要和其他團隊成員合作,包括開發人員、測試人員、運維人員等等。如果缺乏團隊合作精神,就難以與其他團隊成員有效溝通和共同作業,影響到系統的整體質量。
缺乏責任心:架構師需要對系統的整體設計和決策承擔責任。如果缺乏責任心,就可能會出現推卸責任、不負責任等不良行為。
缺乏更新迭代意識:技術在不斷更新迭代,架構師需要保持對技術的關注和學習,以便及時應對技術變化和提高自身技能水平。如果缺乏更新迭代意識,就容易過時和被淘汰。
缺乏全域性視野:架構師需要具備全域性視野,能夠將整個系統作為一個整體來考慮,而不是侷限於某個模組或部分。如果缺乏全域性視野,就難以設計出高質量的系統架構。
除了架構師自身的原因,在組織設計和團隊管理上的一些問題,也很容導致架構師成為扯淡的角色,具體如下:
沒有明確的職責和權利:如果組織對架構師的職責和權利沒有明確的定義,或者架構師沒有足夠的權利來影響專案和決策,那麼他們可能會感到無助和無控制感,從而扯淡化自己的角色。
缺乏有效的溝通和合作:如果團隊成員之間缺乏有效的溝通和合作,那麼架構師可能會感到難以與其他團隊成員共同作業,從而扯淡化自己的角色。此外,如果架構師沒有足夠的時間和機會與其他團隊成員交流,也會導致扯淡化。
管理層的不支援:如果管理層不重視架構師的角色,或者沒有給予足夠的支援,那麼架構師可能會感到自己的工作被忽視和低估,從而扯淡化自己的角色。
團隊缺乏目標和方向:如果組織沒有明確的目標和方向,那麼架構師可能會感到自己的工作沒有明確的目標,從而扯淡化自己的角色。此外,如果組織對架構師的期望不明確,也會導致扯淡化。
組織架構設計不合理:如果組織將架構師崗位化,設定為專職的架構師和架構師部門,那他們就會和具體的研發工程團隊之間缺乏有效的溝通和共同作業,或者他們被視為高高在上的存在,這樣可能會導致扯淡架構師的產生。
所以,在組織的設計和團隊的管理上,也需要考慮如何上架構的角色和職責落到實處,避免成為團隊的擺設和瓶頸,讓架構師的能力,正真的為團隊提供持續的價值。
不接地氣,不承擔責任的扯淡型架構師,其危害性表現在兩個方面:一是對團隊的危害,二是對自身職業的危害。
具體如下:
不能躬身入局的架構師,對團隊的危害有如下的5個方面,具體如下:
技術決策的混亂:扯淡的架構師會導致技術決策的混亂,造成整個團隊的技術方向偏離原有的目標,導致開發效率低下、專案延期、質量下降等問題。
缺乏技術領導力:扯淡的架構師會導致團隊缺乏技術領導力,無法對技術方向和開發流程進行有效的引導和管理,從而無法發揮團隊的最大潛力。
建立不良的技術文化:架構師扯淡化還會導致不良的技術文化在團隊中蔓延,包括程式碼隨意、缺乏規範、無法進行有效的程式碼審查等問題,這些問題會直接影響到團隊的開發效率和質量。
影響員工的工作積極性:扯淡的架構師化會影響到員工的工作積極性,因為員工可能會感到困惑和迷茫,不知道應該如何進行開發工作,從而降低工作的效率和積極性。
損害團隊的聲譽和信譽:扯淡的架構師會損害團隊的聲譽和信譽,因為專案延期、質量不佳等問題會影響到團隊的口碑和形象,從而影響到未來的發展和業務拓展。
一個誇誇其談的架構師,不但會給團隊帶來傷害,對其自身也由不小的負面影響,具體如下:
技能退化:架構師扯淡化通常表現為對技術的忽視或者片面理解,導致架構師的技能難以得到提高和提升,無法跟上行業的發展和變化。
影響聲譽:只扯淡的架構師,通常不會受到同行和業內人士的認可和尊重,從而影響自己在行業中的聲譽和職業發展。
沒有成就感:扯淡的架構師往往會走在錯誤的道路上,無法為團隊和公司做出有意義的貢獻,導致自己缺乏成就感和自我價值感。
職業前景受限:架構師的職業發展需要具備全面的技能和能力,扯淡的架構師缺乏這些基礎條件,因此職業前景會受到限制,無法實現個人職業目標。
總之,只會扯淡的架構師,會對個人職業發展產生非常嚴重的影響,因此架構師必須時刻保持對技術的敬畏和對工作的熱愛,不斷學習和提高自己的技能和能力。
工程師如何才能成為一名不扯淡的架構師呢?
我認為主要有兩個方面:一是對架構師有一個清晰的認知,而是要有一些有效的方法。
下面具體來說說我的理解:
首先,要理解的一點是:架構是軟體工程中的一項核心技能。
架構設計,因為涵蓋了軟體系統設計和開發中最關鍵的方面,諸如:
系統的可靠性:架構師需要確保系統在執行時是可靠的,即能夠滿足使用者需求,穩定執行,不會出現崩潰、死迴圈等問題。
系統的可延伸性:架構師需要考慮系統未來的發展和擴充套件,設計出具備良好擴充套件性的架構,以應對未來的業務需求變化。
系統的效能:架構師需要確保系統在執行時能夠保持良好的效能,以提高使用者的使用體驗。
系統的安全性:架構師需要確保系統在執行時能夠保持良好的安全性,以保護使用者的資料和隱私。
系統的可維護性:架構師需要確保系統在執行時能夠保持良好的可維護性,即能夠方便地進行維護和更新,以降低維護成本。
可見,架構師是不能脫離技術,也不能脫離實際業務,更不能脫離具體的團隊。架構師在設計和開發軟體系統的過程中,需要考慮到這些多個方面的因素,才能設計出一個既能夠滿足業務需求,又具備良好效能、可延伸性、安全性和可維護性的架構。
正如本文一開始所說,架構師是軟體開發中的一個責任角色,而不是一個高大上的職位頭銜。如果我們將架構師職位化,就很容造成誤解和誤用,讓架構師陷入扯淡的危局之中。
架構師的職位化,有以下3個方面的危害:
限制了架構師的角色:將架構師職位化可能會限制架構師的角色,使其只關注與職位相對應的任務和職責,而忽略了跨職能團隊合作和領導能力的重要性。架構師可能會陷入「職位」的框架中,而忘記了其臨時性和靈活性。
對職位要求的過度強調:將架構師職位化可能會導致過度強調職位要求,如學歷、工作年限等,而忽略了架構師的實際能力和經驗。這可能會造成人才浪費,使一些有實際經驗但沒有符合職位要求的人才無法發揮其潛力。
市場對職位的誤解:將架構師職位化可能會導致市場對職位的誤解,使架構師的角色被視為一種固定的職業。這可能會降低架構師的靈活性和創造力,使其無法適應不斷變化的技術和業務需求。
在軟體開發過程中,如果將架構師視為一種責任角色,會讓架構師本人更注重其跨職能團隊合作和領導能力的培養,同時也會讓團隊能夠培養人才梯隊。
作為工程師個體來說,如何成為真正的優秀的具有架構思維和能力的高階別技術型人才呢?
下面我總結一些可行的方法和建議:
系統化學習:成為一名優秀的架構師需要系統化的學習,涵蓋技術、領域知識、方法論等多個方面。可以通過參加培訓、讀書、做專案等方式來學習。
多做實踐:架構師不僅要學習理論知識,還需要在實踐中不斷提高自己。可以通過參加專案、寫程式碼等方式來提升自己的實踐能力。
不斷反思:作為一名架構師,需要不斷反思自己的設計方案和決策是否合理,並進行總結和改進。
注重團隊合作:架構師不僅僅是技術專家,還需要具備領導能力和團隊合作能力,能夠與其他團隊成員合作,推動專案的順利進行。
保持技術敏感度:架構師需要關注技術的新動態,保持敏感度,及時瞭解新技術的優劣,並在實踐中進行驗證。
提高業務素養:架構師需要具備一定的業務素養,能夠了解業務需求和業務流程,從而設計出更符合業務需求的系統架構。
持續學習:技術的發展是日新月異的,作為一名優秀的架構師需要保持持續學習的態度,不斷更新自己的知識和技能。
成為一名具有架構思維和能力的工程師和領域專家,需要具備系統化的學習、多實踐、不斷反思、注重團隊合作、保持技術敏感度、提高業務素養和持續學習等多方面的能力和素質。
隨著軟體行業的不斷髮展,軟體架構師這一角色,也越來越受到企業和從業者們所熱捧。
作為工程團隊中的核心角色之一,架構師需要具備多方面的技能和素質,以保證系統的穩定性、可延伸性和安全性等方面的需求。
然而,一些對架構師的不夠全面的理解和預期,也很容易造成諸如PPT架構師、框架架構師等扯談性的崗位大量的存在,這會對整個團隊和系統造成不良影響,甚至會導致專案的失敗。
造成架構師扯淡的原因很多,其中既有個人原因,也有組織管理和設計上的原因。為了避免這種情況的發生,我們需要共同努力:一方面工程師們要提升工程的架構能力,人人都能成為架構師;另一方面,也需要工程在組織設計和團隊管理上,讓架構師能夠真正的落到實處去解決問題。
架構是一項重要的工程能力,架構師是一個責任角色。
架構師,只有躬身入局,才能超越扯淡的困局。
閱讀,思考,練習,分享,日日不斷之功。
嗯,寫完了。
新的一天,加油哦 (ง •̀_•́)ง