【軟體架構師如何煉成?硬功夫軟技能點滿技能樹】

軟體架構師如何煉成?硬功夫軟技能點滿技能樹

  • 協助企業資訊系統轉型,架構師擔任關鍵角色
    • 如何成為軟體架構師
    • 技術領域硬技能
    • 職場領域軟技能
    • 結語

遠眺思考中的軟體架構師 by Midjourney

協助企業資訊系統轉型,架構師擔任關鍵角色

「人無遠慮,必有近憂」,套用到企業也是一樣,就拿曾經是電商龍頭的PChome購物來說,這次疫情帶來電商最好的機會,宅經濟興起,網購市場順勢締造新高,不過PChome卻出現掛牌18年來首度營收衰退,陷入創新的兩難,在後進者競爭下投入補貼戰,忽視資訊系統包袱逐漸跟不上行動優先的消費模式;當然許多鍵盤柯南指出PChome購物最大問題在於介面設計:「介面難用、價格不優,很難有起色」、「那個上世紀的介面到底要不要改」、「PChome介面設計真的好難用,不夠便民」、「介面換一換吧!沒人有時間在一堆文字中找東西」、「換個介面好像要他老命」;但相信從事軟體開發或資訊從業人員都心知肚明,光是將前後端耦合的網頁程式改成符合行動裝置需要的API服務就是一項大工程,更何況還要針對既有網頁介面去調整UI/UX,提高操作流暢度和體驗,簡直是緣木求魚。
上述的程式改寫工程,必須透過瞭解現有業務邏輯的多位資深開發工程師,具備現代化開發技術、工具及整體架構,考量公司現有人力資源及技能,反覆討論出最佳重構路徑,多次與高管或業務高層簡報討論達成協議或共識,隨著進度發現問題,找出解決方案,評估各種方案的利弊,承擔錯誤並修正,其實這就是軟體架構師的主要職責及工作內容,在"軟體架構師的12項修練"書中就說明各種相關技能並繪製成金字塔結構,見圖1。

圖一 架構師必須具備之技能

如何成為軟體架構師

不只是企業經營會遇到上述問題,個人工作和職涯發展也是,多數企業沒有多餘資源協助員工提升專業技能,多數主管沒有閒暇時間協助員工進行職位規劃,若無自我審視個人條件並規劃可行的未來方向和目標,便會溫水煮青蛙,導致技能無法隨著外在環境變化而提升,被鎖住在既有公司內進退兩難,加上必要開支的經濟包袱,害怕離職後又無法適應,成為發展停滯待遇受限的困頓上班族,"程序員的7堂職場課"一書就詳細解說了資訊人員的種種心路歷程(https://www.books.com.tw/products/CN11714511)。

近日面試多位應徵軟體架構師的候選人,對於架構師職位的專業技能和工作屬性仍不清楚,甚至連企業的資訊主管對於架構師職責也是一知半解,並且多數的技術書籍和文章,主要內容皆為技術硬技能方面,對於架構師必要的軟技能卻著墨不深,因此深感有必要撰寫此文說明,讓有意朝架構師發展的資訊從業人員,有可供參考發展的指引路徑。

在軟體工程的第一堂課中,教授便開門見山說出:「軟體工程既是科學也是藝術」,軟體建置涉及到人員、組織、投入資源和專案管理等諸多環節,只要其中一項沒有管控好,就會進度延宕造成災難或損失,失去業務優勢導致營業收入下滑,國內外失敗案例不勝枚舉,所以架構師在關鍵時刻也必須擔任吹哨者,避免團體迷思(https://zh.wikipedia.org/zh-tw/團體迷思)。

軟體架構師必須具備電腦科學或軟體工程的知識,多數由程式開發員入職,再逐步朝架構師發展,其他如系統管理或網路管理人員較少能成為架構師,主因是未深入業務邏輯和整體系統規劃,而軟體架構師還可分為偏重業務邏輯的領域架構師,和偏重技術規劃的技術架構師;目前主流的企業架構方法論是國際開放標準組織(The Open Group)提出的TOGAF(The Open Group Architecture Framework),為企業軟體開發提供高層級的準則框架,定義各種架構師的職責和分工(技術架構部分如圖2),透過系統化方法,協助組織開發系統,依照時程執行並符合預算,讓專案需求與業務單位接軌,產出可正確穩定運行的資訊系統;所以軟體架構師的大部分知識和經驗來自實際執行軟體專案,通常軟體架構師的養成至少需具備多年的軟體專案開發相關工作經驗。而企業整合模式的共同作者Gregor Hohpe就曾擔任過首席架構師,以自身經驗出版了多本架構師書籍,並在AWS re:Invent 2022發表相關演說(The architect elevator,https://youtu.be/goYiaIGebFo)。

圖二 TOGAF的架構開發週期

技術領域硬技能

技術持續發展,外部政策及環境改變,擔任架構師必須跟上業務轉型的步伐,學習包括雲端運算、事件驅動架構、人工智慧和機器學習等知識,正如圖1底下的技術技能是必要條件,但決定學習哪些專業領域和如何學習並與時俱進,以便對技術、模式和架構做出正確的選擇,這便是培養硬技能的關鍵。筆者建議步驟如下:

  1. 確認自身專業定位:資訊系統架構包括,前端、後端、中間整合層、資料庫、資訊安全和雲地基礎架構等方面,而前端又包括網頁開發、行動APP,後端則是開發框架、虛擬機和容器、快取和分散式設計等;產業領域知識,銀行業包括存放款、外匯、消企金、電子支付等業務,電商包括銷售流程、供應商管理、物流倉儲等;族繁不及備載,所以先專注發展單一領域。
  2. 選擇學習的優先順序:確認定位後,收集相關技能樹和技能範圍,評估自身能力決定順序,例如Kubernetes,必須先學會Linux、Shell Script、Docker才不會感到挫折,圖3的小男孩,沒耐性直接學,最終卻什麼都學不好。針對應用開發學習方面,參考Gartner技能範圍,筆者建議可從開發框架先學習,再朝前後端分離的應用系統或API服務,並熟悉敏捷開發流程跟DevOps實踐,如圖4所示。

圖三 想直接學Kubernetes忽略基礎知識的小男孩
圖四 應用軟體開發技能範圍及建議路徑

  1. 正確學習方式:
    疫情後出現大量的線上學習課程,但品質參差不齊,建議先以書籍為主,理解全貌後,再輔以優質線上課程,便可事半功倍快速掌握一項技術,至於技術專欄文章或部落格,屬於片段知識來源,不建議完全倚賴。故筆者建議學習素材順序為:
    • 相關書籍:閱讀多本相同主題的書,建立自己的清單或知識庫,如微信讀書(https://weread.qq.com/)提供大量免費簡體技術書。
    • 線上課程:篩選評價高且多人購買的完整解說線上課程,不合適亦可退費。
    • 研究報告或論文:付費或免費的優質研究報告,如Gartner報告會詳細解說技術脈絡,以便迅速吸收,而論文是以關鍵字找出國內外研究成果,尤其是架構設計和最佳實踐,可從arXiv開放論文(https://arxiv.org/)或Sci-Hub影子圖書館(https://sci-hub.shop/)尋找。
    • 技術專欄、部落格及演講:篩選並訂閱相關領域文章,持續觀察產業變化,思考潛在機會和威脅,如網管人、InfoQ(https://www.infoq.cn/)等。
    • 技術社群聚會:參加技術同溫層的讀書會分享,討論共同的技術坑和解決方式,順便建立人際網絡。
    • ChatGPT:學習討論夥伴,可作為讀書會討論對象,透過提問審視自身觀念是否正確,訓練判斷能力。(猜看看本文哪部分是由ChatGPT撰寫的?)

以上是掌握該領域知識、技能和他人經驗的主觀建議,訓練深度研究的學習過程和方法之後,再掌握多方面的廣度知識和技能,從前端到後端、從資料庫到基礎架構,分散式架構設計等方面,透過訓練學習這些技能,才能具備此領域的敏銳度作出合適的技術決策。

一項新技術或解決方案的出現可能使軟體開發變得更加高效,甚至顛覆整個產業,如Docker容器技術,所以架構師必須掌握評估技術或產品的能力,在評估技術方案過程中,需要考慮多個因素,首先,需要確定技術和解決方案是否符合專案的需求和目標,其次,需要考慮成本和風險,包括開發成本、維護成本、資安風險和技術導入風險等,此外,還需要考慮後續的可擴展性和可維護性,以及是否適合目前專案的開發團隊和維運團隊。

關於架構師硬技能方面的書籍,筆者推薦書單如下:

  • “Design It!: From Programmer to Software Architect”,簡譯版,“架構師修煉之道”
  • “12 More Essential Skills for Software Architects”,簡譯版,“軟件架構師的12項修煉:技術技能篇”
  • “Scalability Rules: Principles for Scaling Web Sites 2nd”,簡譯版,“架構真經:因特網技術架構的設計原則”
  • “Solution Architecture Patterns for Enterprise: A Guide to Building Enterprise Software Systems”
  • “System Design Interview - An insider’s guide"和"System Design Interview – An Insider’s Guide: Volume 2”
  • “Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices”,中譯版,“軟體架構原理:工程方法”

職場領域軟技能

前面談到軟體工程涉及到專案管理,而架構師就像營造業的建築師和工地主任,必須跨團隊協作解決各種非功能面需求和問題,持續推動專案前進,因此架構師軟技能就包括溝通協調、簡報說明、組建團隊等,而現代化架構團隊組建隨著微服務組織發展演化,從共用的平台工程(Platform Engineering)實踐中衍生出了團隊拓樸(Team Topologies)方法論。

  1. 溝通協調能力:
    在繁雜的軟體解決方案採購或建置過程中,客戶或高管在前期階段需要接收詳細資訊以便做出採購決策,架構師需從不同供應商瞭解產品技術優劣,思考能否符合目前基礎設施資源,架構師需要作為業務團隊、開發團隊和基礎管理團隊之間的橋樑,這些團隊成員可以提供專案方面或技術方案的寶貴意見,傾聽各團隊意見去理解他們的需求和擔憂,依照建議協調各團隊達成決策共識,所以架構師需要具備溝通、談判、傾聽和解決問題等能力,以深厚的技術知識與軟技能相結合,為公司發展新業務。

  2. 簡報製作能力:
    「一張圖勝過千言萬語」,言語溝通經常會遇到定義不清或詞不達意的ambiguity情況,此時透過簡報或架構圖,讓雙方有可聚焦討論的共同目標或概念,才能加速溝通效率,彼此理解進而減少衝突;通常先瞭解受眾的需求和背景,再決定故事線來鋪陳簡報內容,表達前因後果可以更快讓對方進入討論主題,獲得對方信任,進而解決軟體專案所面臨的問題。至於簡報風格,建議採用圖大字少的文宣方式,使用統一的字體和顏色,適當的間距和自動對齊方式,配合企業識別色系,加上白灰黑簡單色彩來輔助配色即可。

  3. 現代化架構團隊組建:
    隨著新興技術出現,企業軟體開發流程與組織也必須逐步調整,以符合軟體架構設計,促進團隊合作及權責分工,ByteByteGo第52集技術文章(https://blog.bytebytego.com/p/ep-52-devops-vs-sre-vs-platform-engineering/)對比DevOps、SRE到Platform Engineering的組織結構(圖5),DevOps讓開發人員承擔過多的工作和責任,SRE團隊透過制定共用標準協助部署、監控及優化系統效能,但SRE仍舊無法協助開發人員面對多樣的雲端服務技術選型和新技術導入所帶來的認知負荷,故引進平台工程團隊負責平台的相關工具和框架,各開發團隊只需專注在功能面業務邏輯開發,和容器內的開發框架及工具,讓同仁樂於工作發揮所長。
    圖五 DevOps、SRE和Platform Engineering的功能範圍比較圖

團隊拓樸(Team Topologies)是描述軟體相關團隊,如何有效率溝通和協作的一套組織設計方法論,見圖六,其中賦能團隊(Enabling Team)的成員就包括軟體架構師,指導業務服務開發團隊,促進團隊合作和專案進程;在2022年Docker公司也發表文章說明使用此方法論來建立更強大且愉快的工程團隊(https://www.docker.com/blog/building-stronger-happier-engineering-teams-with-team-topologies/);而架構師賦能團隊與業務流對齊團隊協作現代化架構的步驟和詳細過程,可參考"Architecture Modernization Enabling Teams (AMET)"一文(https://esilva.net/articles/architecture-modernization-enabling-team)。

圖六 現代化IT組織架構設計

關於架構師軟技能方面的書籍,筆者推薦書單如下:

  • “The Software Architect Elevator”,中譯版,“軟體架構師全方位提升指南”
  • “12 Essential Skills for Software Architects”,簡譯版,“軟件架構師的12項修煉”
  • “Team Topologies: Organizing Business and Technology Teams for Fast Flow”,簡譯版,“高效能團隊模式:支持軟件快速交付的組織架構”
  • “The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change”,中譯版,“經理人之道:技術領袖航向成長與改變的參考指南”

結語

以上就是成為軟體架構師所需的軟硬技能和步驟,整體來說,成為軟體架構師硬技能需要掌握具備相關產業的業務流程領域知識、系統架構設計、技術評估和建議方案選型、軟體工程、企業整體架構從客戶端到核心端的E2E全貌,以及資安和個資保護的基本概念;軟技能則是跨團隊溝通和協作、技能持續精進和自我學習能力。對應到圖1的架構師技能金字塔,企業架構師團隊組成是由多位專家所構成(圖7),並不只侷限在技術面的技術架構師。

呼應EIP大師Gregor Hohpe的"The Architect Elevator"部落格文章(https://architectelevator.com/),以一張圖說明架構師職業(圖八),希望此文章對於想要成為軟體架構師的資訊同業,提供可供參考的學習資源和未來方向,也希望大家能夠在各自工作領域中有所突破和成就。

圖七 架構師團隊的金字塔型組織
圖八 一張圖總結架構師主要工作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8616.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巧用提示语,说说话就能做个聊天机器人

你好,我是徐文浩。 这一讲,我们来看看Open AI提供的Completion这个API接口。相信已经有不少人试过和ChatGPT聊天了,也有过非常惊艳的体验,特别是让ChatGPT帮我们写各种材料。那么,我们不妨也从这样一个需求开始吧。 …

量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)

文章目录 动量因子与行业轮动概述动量因子的理解投资视角下的行业轮动现象投资者视角与奈特不确定性 动量因子在行业风格上的效果测算动量因子效果测算流程概述1. 行业选择:申万一级行业2. 动量因子选择:阿隆指标(Aroon)3. 测算方…

苹果微软等科技巨头紧急叫停,chatgpt翻车了?(文末附联名信)

一、千名大佬集体叫停GPT研发 3月29日,一封联名信刷爆了各大媒体热榜,上面有一千多位大佬签名,其中包括埃隆马斯克、约书亚本吉奥(Yoshua Bengio,2018年图灵奖获得者)和史蒂夫沃兹尼亚克(Steve…

免费!终极ChatGPT提示+Midjourney宝藏神图,1200+图片,震撼人心

新智元报道 编辑:Aeneas 【新智元导读】一位网友花费一周,用从ChatGPT生成的prompt,在Midjourney中生成了一千多张精彩的作品。 Midjourney虽然功能神奇,但在prompt能力平平的人手里,它并不能绽放自己的魔力。 国外的…

ChatGPT专业应用:生成各类通知

正文共 821 字,阅读大约需要 3 分钟 游戏/用户运营等必备技巧,您将在3分钟后获得以下超能力: 生成各类通知 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | nanako 编辑者 | Linda ●…

ChatGPT Plus停售 留出防治AI风险空窗期

能体验GPT-4模型的ChatGPT,因需求量太大而暂停了升级为Plus的功能,算力似乎爆表了。 这下,有钱都没地儿充会员了,用户们暂时需要回到“GPT-3.5时代”。这或许留给人类一个空窗期,可以好好思考一下前段时间上千名科技精…

【重制版】10分钟学会WINDOWS、MAC、LINUX如何安装GPT桌面版

文章目录 1 前言2 Windows版下载安装2.1 安装包2.2 winget下载 (注意看,不是wget!) 3 Mac版下载安装3.1 安装包3.2 homebrew安装 4 Linux版下载安装4.1 安装包4.2 终端下载 5 特点5.1 软件特点5.2 菜单功能(个人喜好特…

英伟达黄老板成身价350亿美元CEO!做AIGC淘金时代送铲子的

Datawhale干货 英伟达CEO:黄仁勋,来源:新智元 【导读】90年代显卡芯片的红海市场中,为什么是英伟达脱颖而出?3D、矿卡、移动构架、人工智能,老黄带着英伟达,踏准了一个个风口,笑到了…

【人工智能】人工智能行业研究:史上最伟大的科技革命

【人工智能】人工智能行业研究:史上最伟大的科技革命 目录 【人工智能】人工智能行业研究:史上最伟大的科技革命

BFT最前线 | iOS版ChatGPT周下载突破50万人次;英伟达市值突破万亿美元创造芯片公司历史;华为开发者大会即将发布

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 联合国教育部聚焦生成式AI 联合国科教文组织提出发展路线图 近日,为应对生成式人工智能技术的迅速发展,联合国教科文组织就此议题召开了首次全球教育部长会议。40多位部长分享了将这些工具融入教育的…

从应用火到股市 AIGC概念股连涨仨月

AI有变革生产力之势,证券市场闻风而动。同花顺数据显示,AIGC概念指数年内上涨近60%,涨幅是上证指数的10倍多。 具体到个股,软通动力、远大智能等搭上AI风口的企业服务商“老树发新芽”,直接涨停。游戏板块霸榜产品回报…

英伟达单日涨出一个AMD、两个英特尔,市值冲向万亿美元!

金磊 发自 凹非寺量子位 | 公众号 QbitAI 英伟达,即将成为第一家市值破1万亿美元的芯片公司! 而且是仅在一天内,市值暴涨了超2000亿美元的那种。 什么概念? 相当于涨出了一个AMD、两个英特尔、三个美光…… 用雅虎财经的话来评价&…

AI炒股回报率500%?内行揭秘玄机

一篇来自佛罗里达大学的研究报告震惊了金融圈:用ChatGPT对公司新闻进行情绪分析,并按此在股市做多、卖空,最高可获得超过500%的投资回报率。虽然坊间对这份报告中惊人的回报率数据有所怀疑,但金融界正在因AI的介入发生改变。 摩根…

【创新应用】颠覆历史!「ChatGPT搜索引擎」发布,微软市值一夜飙涨5450亿

来源:智能研究院 【导读】搜索引擎要变天!微软官宣:整合ChatGPT的必应来了!现在即可体验! 连续两天,我们都在见证历史。 硅谷大厂已经剑拔弩张,ChatGPT引爆的这一场搜索引擎大战,一触…

「问题少年」逆袭成资产350亿美元CEO!ChatGPT背后最大赢家

来源:新智元 上周六,仅仅在一天内,英伟达的市值就暴涨了超2000亿美元,震惊了美股市场。 短短一瞬间,就涨出一个AMD,两个英特尔。 ChatGPT引爆的AIGC热潮,让英伟达赚翻了。 在COMPUTEX大会上&…

万字长文:ChatGPT能否成为互联网后下一个系统性机会?

2023年险峰线上沙龙的第一期,我们和四位行业大牛聊了聊最近大火的ChatGPT。 首先介绍一下本场嘉宾:陶芳波博士是前Facebook高级研究科学家,回国后进入阿里达摩院,搭建了阿里的神经符号实验室,属于全球最顶级的AI科学家…

这一周,全世界都兴奋麻了!

作者| Founder Park 真是疯狂的一周。 GPT-4、Microsoft 365 Copilot、Midjourney V5、Google PaLM API、文心一言,一颗颗 AI 大模型领域的重磅炸弹,扎堆在这周引爆。 GPT 开启了大模型的多模态应用,微软说让工具回归工具&#xf…

数据分析:2023 最值得投资的 AI 公司榜单

文章目录 1 AI 公司的火爆程度和发展趋势1.1 AI 市场的规模和增长趋势1.2 全球 AI 公司数量和分布情况1.3 我们如何把握 AI 风口? 2 方法一:网络数据采集 - 使用亮数据代理2.1 动态 ip 代理,获取数据2.2 浏览器代理 3 方法二:网络…

使用GPT-4.0编写量化交易策略:方法、案例与参数优化

量化策略开发,高质量社群,交易思路分享等相关内容 『正文』 ˇ 随着人工智能的发展,GPT-4.0已经成为量化交易策略编写的强大工具。在这篇文章中,我们将探讨如何使用GPT-4.0编写量化交易策略,并提供一个实际的案例。我…

第二弹:QMT+ChatGPT快速上手量化投资 时间:5月25号(周四)16:00点

一、量化交易 (QMT/Ptrade )的适用人群 量化交易一般适用于以下交易人群: (1)交易活跃用户; (2)量化爱好者已经专业量化投资者; (3)高净值个人…