2022來了,別做沒頭腦的軟件架構(gòu)師
譯文【51CTO.com快譯】我們見過許多與軟件架構(gòu)師相關(guān)的工作崗位,比如解決方案架構(gòu)師,系統(tǒng)架構(gòu)師, 云計(jì)算架構(gòu)師,應(yīng)用軟件架構(gòu)師,信息架構(gòu)師,企業(yè)架構(gòu)師等等。
不管規(guī)范的崗位是什么, 你應(yīng)當(dāng)在你的組織中擁有下面的人:
1. 制定并且執(zhí)行經(jīng)久耐用的架構(gòu)計(jì)劃和方針。
2. 持續(xù)分析和升級軟件架構(gòu),及時修正技術(shù)債。
3. 輔導(dǎo)開發(fā)人員。
4. 監(jiān)管什么是業(yè)務(wù)的要點(diǎn), 同時制定積極的策略。
5. 擴(kuò)大,加深和更新知識儲備, 因?yàn)樾袠I(yè)發(fā)展迅速。
這些是我們認(rèn)為的軟件架構(gòu)師的職能, 當(dāng)然你可以給他們賦予任何不同的崗位名稱。 在 2021 年的時候, 我對于如何成為了不起的軟件架構(gòu)師極度關(guān)注。 在這篇文章中, 我會梳理一些我學(xué)到的知識要點(diǎn)。讓我們迎接 2022 吧!
你首先是個開發(fā)人員,請確保這一點(diǎn)
你見過沒干過律師的法官嗎?架構(gòu)師本質(zhì)上都是優(yōu)秀并富有經(jīng)驗(yàn)的開發(fā)人員。 他們對于許多其他開發(fā)人員碰到的日常問題都非常熟悉。
架構(gòu)師不能對開發(fā)人員認(rèn)為重要的事情沒有頭緒。 你必須用開發(fā)者的語言對話。技術(shù)開銷的最大因素就是可維護(hù)性。你在設(shè)計(jì)的時候必須記住自己是名開發(fā)者。
忘卻自己本職工作的架構(gòu)師會失去開發(fā)者的尊重。 他們很快變成浮夸的項(xiàng)目經(jīng)理, 然而沒人需要一個多余的經(jīng)理。
為了避免變成一個架構(gòu)葛優(yōu)躺, 你必須按照下面的辦法分配時間:
1. 和開發(fā)人員一起嘗試新的和不同的技術(shù)。
2. 吸取軟件開發(fā)相關(guān)的知識。 達(dá)成這一點(diǎn)的渠道可以是學(xué)習(xí)課程, YouTube 視頻, 會議, 網(wǎng)絡(luò)講座,等等。
3. 作為業(yè)余愛好參與一些研發(fā)項(xiàng)目。
保持謙遜的態(tài)度
從另一個角度來說, 你可能認(rèn)為你是會使用鍵盤的最聰明的開發(fā)者。 你也有展示自我的能力。好樣的,你贏的了自我欣賞奧賽的金牌! 然后呢?
開發(fā)者和架構(gòu)師有一些微妙的區(qū)別。 架構(gòu)師必須具備的最基本技能之一是溝通。 針對一個問題, 你可能有一個優(yōu)雅而聰明的解決方案, 你能讓人愉悅的和有效的給利益相關(guān)者和開發(fā)者溝通嗎? 你的團(tuán)隊(duì)鄙視你, 妒忌你還是崇拜你? 你團(tuán)隊(duì)的新成員,他們跟得上節(jié)奏嗎?你應(yīng)該始終不斷的問你自己這些問題。
我能提供的一些建議如下:
1. 在主要的架構(gòu)決策中為擴(kuò)展功能留下足夠的空間。 嘗試著讓開發(fā)者對你的決策達(dá)成共識。
2. 給開發(fā)者賦能,讓他們自己做決定,自己犯錯。在風(fēng)險和學(xué)習(xí)機(jī)會之間保持平衡。
3. 總有一天有的開發(fā)者會在某一方面超越你。擁抱這一點(diǎn)。幫助他們成長。
4. 有激情的講述你和他們的工作內(nèi)容。
5. 負(fù)更多的責(zé)任,基于更多的認(rèn)可。
如果你設(shè)計(jì)了產(chǎn)品,你就應(yīng)該有能力構(gòu)建它
架構(gòu)師應(yīng)當(dāng)有書寫足夠數(shù)量的文檔的能力。 過少的文檔說明會導(dǎo)致只有你自己能理解系統(tǒng)。 過多的文檔說明會讓系統(tǒng)變更成本居高不下。如何找到平衡點(diǎn)取決于項(xiàng)目和團(tuán)隊(duì)。但是, 作為架構(gòu)師,你應(yīng)當(dāng)知道這一點(diǎn)。
華麗的畫圖工具和技術(shù)很容易讓人迷失。 但是歸根到底, 除非你有展示的需要,否則這些都是無關(guān)緊要的。我喜歡簡潔的文檔,就像那些 C4 模型提倡的內(nèi)容一樣。充滿朝氣和能力的工程師的公司似乎也認(rèn)可這一點(diǎn)。
你應(yīng)該具備的一項(xiàng)重要原則是:如果你設(shè)計(jì)了系統(tǒng),你必須有能力構(gòu)建它?;蛘咧辽儆心芰?gòu)建系統(tǒng)的重要組成部分。設(shè)計(jì)一個你自己無法實(shí)現(xiàn)的系統(tǒng)是愚蠢的。做為架構(gòu)師, 你的工作就是理解你制定的技術(shù)決策和方針的意義。盡管技術(shù)知識會讓你走的很遠(yuǎn), 但是如果有人能夠完成實(shí)際任務(wù)對誰也沒壞處。 如果你不知道你是否有能力完成任務(wù): 第一步, 做一個原型!
擼起袖子動手做
研究表明架構(gòu)師應(yīng)該擼起袖子自己寫代碼。 許多專家也同意這一點(diǎn)。當(dāng)開發(fā)軟件系統(tǒng)的時候,我的建議是架構(gòu)師應(yīng)當(dāng)參與其中。 這可能意味著:
1. 當(dāng)開發(fā)新項(xiàng)目的時候,用盡可能簡單的框架啟動項(xiàng)目。
2. 為你的項(xiàng)目開發(fā)架構(gòu)級別的單元測試或者其他測試功能。
3. 參與同事評審。
4. 重構(gòu)代碼以便實(shí)現(xiàn)更好的設(shè)計(jì)。
5. 完成一些新功能。
這些不僅能夠增強(qiáng)你的個人能力, 也能幫助構(gòu)建和開發(fā)者之間更加和諧的關(guān)系。 除了靠威望領(lǐng)導(dǎo)之外,你也應(yīng)該成為以身作則的領(lǐng)導(dǎo)。
結(jié)論
在這篇文章中, 我梳理了我在去年學(xué)會的一些軟件架構(gòu)師的建議。 至關(guān)重要的是: 提升你的技術(shù)能力并且讓自己保持是一個低調(diào)和樂于助人的領(lǐng)導(dǎo)。 希望我的建議對你有用。
譯者介紹
汪昊,51CTO社區(qū)編輯,互聯(lián)網(wǎng)老兵。在百度,新浪,網(wǎng)易等公司有超過 10 年的技術(shù)研發(fā)和管理經(jīng)驗(yàn)。在國際學(xué)術(shù)會議發(fā)表論文 18 篇,3 次獲得最佳論文獎/最佳論文報(bào)告獎。本科和碩士畢業(yè)于美國猶他大學(xué)。對外經(jīng)貿(mào)大學(xué)在職 MBA。
原文標(biāo)題:Don’t Lose Touch as a Software Architect Going Into 2022,作者:Ryan Susana
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】