tft每日頭條

 > 圖文

 > 資深架構師幹貨

資深架構師幹貨

圖文 更新时间:2024-07-22 00:19:07

資深架構師幹貨?在寫這篇博文時,我也不知道自己怎麼走上軟件架構師這條不歸路的,記得當初我負責研發的時候,業務同事以及其他領導都說我是研發中最懂産品的,業務提出很多棘手的問題,我都可以幫忙解決當我負責産品經理角色的時候,研發部門及其他領導說我是産品中最懂技術的,有些技術框架類的問題,我這個産品也得幫忙出技術架構設計方案,就這樣我就糊裡糊塗成為了架構師也許這個大家對我擡舉,但在我看來,架構師就是一個既懂技術,又理解産品的人,隻有懂技術,才能現有資源上設計符合産品要求的架構,又能在業務快速發展的時候,快速相應業務,那麼架構師是做什麼的?在團隊中擔任着什麼樣的角色?他解決了什麼問題?今天我們就來聊聊這個話題?,今天小編就來說說關于資深架構師幹貨?下面更多詳細答案一起來看看吧!

資深架構師幹貨(架構師是做什麼)1

資深架構師幹貨

在寫這篇博文時,我也不知道自己怎麼走上軟件架構師這條不歸路的,記得當初我負責研發的時候,業務同事以及其他領導都說我是研發中最懂産品的,業務提出很多棘手的問題,我都可以幫忙解決。當我負責産品經理角色的時候,研發部門及其他領導說我是産品中最懂技術的,有些技術框架類的問題,我這個産品也得幫忙出技術架構設計方案,就這樣我就糊裡糊塗成為了架構師。也許這個大家對我擡舉,但在我看來,架構師就是一個既懂技術,又理解産品的人,隻有懂技術,才能現有資源上設計符合産品要求的架構,又能在業務快速發展的時候,快速相應業務,那麼架構師是做什麼的?在團隊中擔任着什麼樣的角色?他解決了什麼問題?今天我們就來聊聊這個話題?

架構師這個崗位一般情況都是由有幾年工作經驗的研發人員擔任,很少有公司會聘請應屆生來擔任這個角色,基于這個原因,在這裡我默認架構師是必須會編程,而且是可以獨立完成某一業務研發,當然架構師還得有職責,不然對不起這個職稱啊。

從圖一,我們看出架構師是團隊的核心角色,肩負着與衆不同的職責,他們不是項目經理,卻決定着何時如何交付項目,他們不是産品經理,卻要确保如何滿足産品要求,他們不是軟件工程師,也要負責編寫核心代碼,但做得更多的是架構設計的事。

圖一:架構師的角色定位

那麼我們從工程角度來定義架構師的話,架構師需要具備以下三點要求:

  • 最基本的要求:架構師是将軟件系統分解成多個可實現的模塊,

  • 符合公司戰略要求:架構師在兼顧公司戰略的同時、,要确保系統整體高效工作,在軟件質量屬性(非功能性需求)進行權衡的同時,并管控着不可避免的技術債務(關于技術債務,可以看看我在2月份寫的技術債務衡量指标),

  • 提高研發團隊的整體研發能力:架構師需要在設計高效運行的系統的同時,需要鍛煉和提升整個團隊的架構設計能力,因為人人都可應該是架構師,知識是可以共享的。

    通過上面介紹的三點要求,想必大家對于架構師有了那麼一點點的理解,接下來,我将通過這三個方面詳細給大家介紹一下架構師到底要做什麼?他在團隊中起的作用重不重要?

    在介紹這三點之前,我們先來介紹兩個問題:優秀的軟件設計具備哪些條件?以及什麼是軟件架構,然後我們再聊說說架構師是如何工作的?

    一、什麼樣的軟件是出色的軟件

    軟件系統是盡量最大程度降低出差錯,再優秀的軟件,都會存在差錯的,國内的軟件微信、淘寶、百度,國外的谷歌、Facebook、亞馬遜等,都會出現大大小小的不,甚至會出現宕機現象,而架構是軟件成功的基礎,我們可以從以下六個方面來評估如何設計出出色的軟件

    1、優秀的架構可以将大問題分解成容易處理的小問題

    現在軟件系統龐大而複雜,有很多靈活的組件,我們都知道目前最流行的微服務SpringCloud就一個組件整合大家族。架構巧妙地解釋了如何将系統劃分為輕巧、獨立的小模塊,同時還能确保整個系統高效的協同運行,讓整個系統的價值高于每個模塊的價值之和。

    2、優秀的架構向大家傳達如何協同工作

    軟件研發是一門人際溝通的藝術,架構描述了整個系統如何組成有機的整體,同時也承擔着大家如何合作開發軟件。系統越複雜,溝通也越顯着重要

    3、優秀的架構統一團隊溝通語言

    在團隊讨論問題的時候,統一語言是非常重要的,在前段時間,我跟大家讨論一個行業語音架構問題的時候,就出現了大家讨論時,行業語言描述不統一,導緻讨論效率降低了很多,這個也錯在于我接觸這個行業不久。

    軟件架構為我們的溝通提供了基本概念和詞彙,這樣統一了我們的溝通語言,可以把時間花費在解決用戶實際問題上,而不需要花費在解釋新概念及詞彙中

    4、優秀的架構關注的不僅僅是功能

    軟件的特性和功能都很重要,但它考慮的不是具體的某個點,不是實現某個項目的具體功能,更多是全面的架構設計,除了功能需求,還要考慮成本、約束、進度、風險、團隊的交付能力,以及最重要的質量屬性(非功能性需求,如可伸縮性、可用性、性能、可維護性等)。

    5、優秀的架構可以讓你避免重大錯誤

    我記得幾年前讀過一本書,作者将軟件架構定義為:“架構是關于重要的東西,不管是什麼”,我們認為重要的東西是很難改變的,除非是增加了複雜性,國外大佬在這個基礎上重新定義了架構:···重要的設計決策。肯定架構在整個系統中起到了決策作用,架構師不是無所不能的,架構師無法考慮到系統運行時全部可能性,但他可以幫助我們發現那些今後可能會帶來的麻煩的問題和地方。

    6、優秀的架構讓系統更加靈活

    在産品初期,業務的複雜度一般不會很大,對技術的要求也不會很高,随着公司業務的不斷拓展,這時候業務需求越來越複雜,對技術要求會越來越高,如何在前期架構設計不好的情況下,我們需要償還我們的技術債務,優秀的架構設計,可以為軟件提供靈活可拓展的結構設計。

    以上就是優秀的架構為軟件研發帶來的好處,今天有點晚了,實在困得不行,明天我們接着聊聊:什麼是軟件架構?

    更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

    查看全部
  • 相关圖文资讯推荐

    热门圖文资讯推荐

    网友关注

    Copyright 2023-2024 - www.tftnews.com All Rights Reserved