架構師之路:認證與產品沉浸

幾乎每個開發人員都會問自己應該如何發展自己的技能以及選擇什麼發展方向:垂直 - 即成為經理,或水平 - 全端。 與神話相反,對一款產品進行多年的研究並不是一種限制,而是一個有用的機會。 在本文中,我們分享了後端開發人員 Alexey 的經驗,他花了 6 年進行認證,並在此期間逐漸成為一名架構師。

架構師之路:認證與產品沉浸

誰是建築師

IT 架構師(技術主管)是處理 IT 專案中的全域問題的高階開發人員。 他沉浸在客戶的業務流程中,利用科技幫助解決客戶的問題,並決定如何建立這個或那個資訊系統。

這樣的專業人士不僅需要了解各個學科領域,還需要了解整個過程:

  • 設定業務問題。
  • 開發,包括程式設計、準備、儲存和資料處理。
  • 基礎設施的部署和支援。
  • 測試。
  • 部署。
  • 分析和運營服務。

這意味著能夠將自己置於開發生命週期中任何專家或團隊的立場,從內部了解系統的當前狀態,識別所犯的錯誤並設定目標。 有時您需要自己進行手術。

從開發人員到架構師的職業發展之路需要很長的時間——通常是幾年。 為此,開發人員需要實踐技能和理論知識,這可以透過國際認證來證實。

在一個專案上工作超過 5 年——例行公事還是成長機會?

幾年前,我們開始為外國客戶開發大型醫療 IT 系統。 這個大型專案存在一些問題:

  • 訪問受限;
  • 不穩定的產品;
  • 令人難以置信的漫長的衝刺和漫長的批准。

“是時候提高你的技能了”「, - 主要開發人員之一 Alexey 做出這項決定是為了克服列出的困難並更好地了解系統。

Alexey 分享了他的經驗,從哪裡開始培訓比較好,獲得哪些證書很重要,如何以及為什麼要這樣做。

第一步:提升英語水平

程式語言是開發的基本組成部分,但用於溝通的語言也同樣重要。 尤其是在與說英語的客戶溝通時!

來自實踐

一個晴朗的日子,阿列克謝接到了客戶那邊一名員工的電話。 那時,我們的開發人員還不能擁有一堆證書——無論是在技術上,還是在管理上,還是在通訊上。 也許它們沒什麼用——畢竟,你不需要額外的標誌就可以成為一名稱職的專家。 但問題還是出現了。

我們必須明白口語與書寫語言截然不同。 如果您精通英語規範,但不練習聽力和口語,那麼我們有壞消息給您。 在這種情況下,與合作夥伴的電話交談可能會陷入死胡同。

阿列克謝在電話中聽到了一些熟悉的單詞,但他同事的講話速度太快,與音頻課程中的經典發音不同,以至於她的問題的主要本質已經過去了。 出於禮貌和不願讓情況複雜化,阿列克謝很快就同意了所有的提議。

工作中還需要說有什麼不愉快的發現嗎? 我們的開發人員簽署了一些協議,如果要約以可理解的語言提供,他絕對會故意拒絕。

在那一刻,我清楚地意識到,提高聽力和口語技能是非常必要的。 做到這一點的最佳方法是透過認證。

英語語言認證

為了改善我們醫療計畫框架內的溝通,阿列克謝同時學習了多個計畫。 結果,他通過了 FCE - First Certificate in English 認證。 這幫助我開始傾聽客戶並向他傳達我的想法。

生活黑客:

避免基本的英語課程。 技能必須有針對性。 如果您需要英語進行商務交流,您應該學習它。 只是不要走極端,參加 CAE(高級英語證書)即可。 它的特點是複雜的字詞和具體的表達方式,而這些在國際交流中幾乎從未使用過。

架構師之路:認證與產品沉浸

第二步:整個技術堆疊的認證

最初,該專案基於 ORM 物件關係映射技術。 客戶這邊的開發團隊為他們的創意感到自豪,因為一切都是使用先進的概念完成的,複雜而酷。

然而,生產中的問題(特別是 SQL 伺服器不斷凍結)並不少見。 問題的典型解決方案是重新啟動服務。 客戶給團隊負責人打電話,說是時候重新啟動了。 最後我們決定結束它。

客戶想要計算系統的效能 - 為此有必要引入分析並定期進行最佳化。 當時,也就是 2015 年左右,選擇了 Ants Profiler 作為分析工具,但它的表現很差。 由於細節較少,很難獲得關鍵程式碼區塊的資訊。 Ants Profiler 開始以最詳細的方式更改程式碼,從而使系統的功能面臨風險 - 配置分析後,一切都會崩潰。 所以我們改變了我們的方法。

我們從分析統計數據開始

在分析銷售統計資料時,我們發現伺服器上 95% 的工作都具有 4 行的原始業務邏輯。 對他們來說,一個 SQL 查詢就足夠了,而不是由具有 ORM 的業務邏輯區塊產生的一組完整的查詢。

Alexey 提出並實現了一個儲存過程,用於在沒有 ORM 的情況下移動工作。 這個想法與通常的專案範式相矛盾,團隊負責人對此持謹慎態度,但客戶接受了一切並要求實施。 這並不奇怪,因為新方法可以將生產處理的延遲從四個小時減少到幾分鐘,平均減少 98 次。

儘管如此,我們還是有疑問:這是正確的決定還是個人喜好的問題? 一次意外事件動搖了人們對 C# 和 ORM 的信心,而這次意外展示了簡單解決方案的全部威力。

案例二

該團隊編寫了一個查詢來處理 ORM 範式中的數據,並根據所有規則進行編譯,沒有錯誤。 其處理時間為 2-3 分鐘,這些參數似乎可以接受。 然而,使用簡單選擇器和視圖的替代實作可以更快地提供結果 - 在 2 秒內。

很明顯,是時候選擇一位專家來接受整個專案堆疊的認證,以便了解所有細微差別並選擇最佳方法。 阿列克謝承擔了這個任務。

第一份證書

為了理解本質,Alexey 經歷了 多項微軟認證,涵蓋了專案的整個技術堆疊:

  • TS:使用 Microsoft .NET Framework 4 進行 Windows 應用程式開發
  • TS:使用 Microsoft .NET Framework 4 C# 程式設計存取數據
  • TS:Microsoft .NET Framework 3.5 Windows 表單應用程式開發
  • PRO:使用 Microsoft .NET Framework 3.5 設計和開發 Windows 應用程式
  • PRO:使用 Microsoft .NET Framework 設計和開發基於 Windows 的應用程式
  • TS:Microsoft .NET Framework 2.0 - 基於 Windows 的用戶端開發

為了優化新專案的工作,團隊得出以下結論:

  • 為了使系統正常運作,必須遵循編寫程式碼的規則:不是縮排和註釋,而是技術特徵 - 資料庫呼叫次數、伺服器負載等等。
  • 應用相互衝突的概念可能會導致麻煩。 資料庫的概念是集合論,而ORM是操作概念。
  • 破壞事物通常秩序的想法可能會在團隊內部遇到阻力。 發展也與人際關係和表達觀點的能力有關。
  • 認證拓寬了您的視野,讓您了解什麼可以使用,什麼不能使用。

架構師之路:認證與產品沉浸

第三步:了解的不只是程式碼

在開發大規模 IT 解決方案時,許多因素都很重要。 例如,並不是每個開發人員都會專注於網路參數,但即使是其頻寬也會影響業務問題的解決。

給出了理解這一點 98系列認證:

它們使您能夠更廣泛地看待事物,並擺脫有限的“僅代碼”概念。 這些是基礎知識,但它們對於更深層地理解一切很重要。

系列 98 認證是簡短的測驗 - 30 分鐘內 45 個問題。

第四步:流程管理

與診所合作是一項比製作手機遊戲更重要的任務。 在這裡,您無法添加功能並將其投入生產 - 遵循客戶的批准流程並進行大量編輯非常重要,因為人們的健康和生命受到威脅。

典型的敏捷在這個專案上並沒有產生預期的結果,而且每次衝刺都持續了相當長的時間。 部署之間需要 6 個月到一年的時間。

此外,從技術上講,不可能將十家診所的服務流程歸結為某種共同點。

為了在這種情況下更快地獲得結果,開發人員需要個人責任和對流程的大規模願景 - 這意味著持續的專注和高資格。

當專家沉浸在這個過程中時,他清楚地看到結果、原因和後果,整個畫面。 這同時也是額外動力和意識的因素,提升解決問題和問題的能力。

憑藉著運作良好的基礎設施、精心建構的架構和最佳程式碼,一個人可以承擔許多流程。 然而,這並不意味著需要培養能夠單獨領導該計畫的通用士兵。 溝通和團隊合作至關重要。

在團隊中,每個開發人員都明白他的同事取決於他的行為。 在開發階段節省 5 分鐘意味著可能需要額外 5 小時的測試時間。 要理解這一點,建立溝通很重要。

在我們的專案中,Alexey 獲得了掌握流程的協助 EXIN 頒發的證書:

  • M_o_R 風險管理基礎證書
  • 敏捷 Scrum 基礎
  • IT服務管理基礎
  • EXIN商業資訊管理基礎
  • PRINCE2 專案管理基礎證書
  • 測試工程師證書
  • 微軟營運框架基金會
  • 敏捷服務項目

在 edX 上學習的課程有助於從統計和精益程式設計的角度看待系統,後來推動獲得 建築師證書:

  • 精益生產
  • 六個西格瑪:分析,改進,控制
  • 六西格瑪:定義與衡量

根據六西格瑪原理,統計控制以極高的機率確保高品質的結果。

提高水平後,開發人員通常會得出以下結論:

  • 不要努力工作,但要有效率地工作。
  • 不要因為追逐外在而讓你的生活變得複雜:花俏的技術不一定能更好地解決問題。
  • 與週期各階段的專家交朋友,找出他們的痛點。 架構師必須掌握以下流程:辨識問題、設定問題、設計網路拓樸、開發、測試、支援、營運。
  • 檢查裡裡外外的每一個功能。
  • 碰巧IT流程與業務流程不對應,必須處理這個問題。

架構師之路:認證與產品沉浸

第五步:透過大數據的視角來理解架構

在專案期間,我們處理了相當大的資料庫。 至少在某個時刻之前看起來是這樣。 當 Alexey 開始在 edX 上研究大數據時,發現該專案上的 1,5 Tb 是一個小型資料庫。 嚴重的規模 - 從 10 Tb 開始,並且需要其他方法。

認證的下一步是大數據課程。 他幫助理解數據流的組織並加快生產運作。 並且也要注意小工具,例如開始使用Excel來解決單一微任務。

證書:
微軟專業計畫:大數據證書

架構師之路:認證與產品沉浸

第六步:從開發人員到架構師

在收到所有列出的憑證後,雖然還是一名開發人員,Alexey 開始明白收到的訊息具有高度抽象性,這還不錯。

對流程的大規模願景可以提升架構師的水平,這是最高級別的認證之一。

為了尋求建築師認證,阿列克謝來到了 認證軟體架構師 - Microsoft 平台 由桑德布拉德和桑德布拉德製作。 這是微軟認可的一個計劃,其開發始於14年前,並與公司總部和瑞典辦事處合作。 它涵蓋了.NET Framework、需求收集、資訊流管理和許多其他高級主題,被認為是架構師技能的有力證明。

該計劃中有一些課程可供學習。 認證將知識系統化,讓我們進入了一個新的發展階段—從開發人員到架構師。

架構師之路:認證與產品沉浸

總結

正如 Alexey 所指出的,在使用大型 IT 系統時,重要的是要記住,程式設計不是一種昂貴的娛樂,而是解決業務問題的工具。 當面臨這樣或那樣的挑戰時,你肯定需要寫下商業價值,這樣專案才不會走進死胡同。

架構師對程式設計及其基本組件有特殊的看法:

  • 建立和/或維護資料流
  • 從資料流中提取資訊流
  • 從資訊流中提取價值流
  • 價值流貨幣化

如果你透過架構師的眼光來看一個項目,你需要從最後開始:制定價值,然後透過資料流走向它。

建築師遵循開發規則,對專案具有全球視野。 透過練習和你自己的錯誤幾乎不可能達到這一目標——或者更確切地說,有可能,但需要很長時間。 認證可以讓您拓寬視野,了解每個問題的完整背景,熟悉數千名專業人士的經驗,並培養有效解決問題的技能。

迄今為止,我們已經與上述醫療系統合作了五年多,並且取得了顯著的改進。 在此期間,Alexey 通過了 20 多項認證考試:

  1. TS:使用 Microsoft .NET Framework 4 進行 Windows 應用程式開發
  2. TS:使用 Microsoft .NET Framework 4 C# 程式設計存取數據
  3. TS:Microsoft .NET Framework 3.5 Windows 表單應用程式開發
  4. PRO:使用 Microsoft .NET Framework 3.5 設計和開發 Windows 應用程式
  5. PRO:使用 Microsoft .NET Framework 設計和開發基於 Windows 的應用程式
  6. TS:Microsoft .NET Framework 2.0 - 基於 Windows 的用戶端開發
  7. 98-361:軟體開發基礎知識
  8. 98-364:資料庫基礎知識
  9. M_o_R 風險管理基礎證書
  10. 敏捷 Scrum 基礎
  11. IT服務管理基礎
  12. EXIN商業資訊管理基礎
  13. PRINCE2 專案管理基礎證書
  14. 測試工程師證書
  15. 微軟營運框架基金會
  16. 敏捷服務項目
  17. 精益生產
  18. 六個西格瑪:分析,改進,控制
  19. 六西格瑪:定義與衡量
  20. 微軟專業計畫:大數據證書
  21. 認證軟體架構師 - Microsoft 平台

架構師之路:認證與產品沉浸

通過所有考試後,Alexey 從首席開發人員晉升為專案架構師。 同時,認證已成為專業發展和在客戶眼中建立聲譽的有力工具。

「認證記憶體」有助於存取需要控制和細化的各個關鍵流程。 通常,IT 解決方案的歐洲客戶都高度重視經過認證的專家,並準備給予他們更多的行動自由。

感謝您的關注! 我們希望這篇文章對您有用。

來源: www.habr.com

添加評論