互聯網工程師是如何做技術方案的

互聯網工程師是如何做技術方案的

不同體現在很多方面,從業務屬性上,阿里主要是電商、支付,大部分面向的是2C的場景;而釘釘主要是做辦公協同,主要是面向2B的場景。
(想加入釘釘的可以聯繫我哦)
還有很多運營和產品上的區別,今天跟大家分享一下在技術側,我個人比較喜歡的的“技術方案reivew”機制。

技術委員會

首先要提一下互聯網公司今年流行的“技術委員會”,阿里巴巴、騰訊、小米都提出了相似的概念,並且都在公司內用各種方式進行了落地。
“小米組織架構調整成立技術委員會,加強互聯網成色”、“騰訊成立了技術委員會,但燃眉之急尚未解決|騰訊|技術委…_新浪科技”、“阿里巴巴技術委員會主席:互聯網下半場是互聯網公司杜撰出來的”等新聞也是層出不窮。
那麼技術委員會是個什麼組織?有什麼用途?我先簡單介紹一下我的理解。
技術委員會一般是互聯網科技公司成立的一個虛擬組織,由一羣較爲資深的技術專家組成,主要來統一整理公司技術架構保持統一性,同時指導公司核心技術架構選型、演變和升級過程,並向內外輸出公司技術文化等功能。

產出技術方案

每個互聯網科技公司的每個團隊,都或多或少有自己的技術方案產出方式,阿里也是一樣,有的部門會專門制定一些規則,首先就需要針對技術方案有一個可量化的衡量標準,即超過指定開發人日的項目,就必須由技術委員會來review方案,並且進行評分,根據評分情況來判定方案的優劣和不足,分數過低的情況下,不允許方案落地。

方案標準流程

首先,技術方案產出有默認的格式,一般用語雀文檔來承載,主要結構也基本上是:
方案背景->方案目標->業務流程->核心技術架構->穩定性->安全性->工時人日
其中要求方案背景要描述清楚業務價值,技術是爲業務服務的,方案背景必須要陳訴清楚業務痛點是什麼。
方案目標要詳細寫明,本次落地後能拿到多少優化的結果,結果如何可量化。
業務流程,則是用流程圖劃清楚本次方案的產品或者模塊流程圖。
核心技術架構,則要用架構圖、序列圖等形式表述清楚方案的整體架構、依賴關係、系統邊界等。
技術架構還包括庫表設計、模塊設計、類設計、異常考慮等。這一步是核心的內容,內容務必詳盡周全。

在這裏插入圖片描述
在這裏插入圖片描述

穩定性和安全性,則是表明如何保證系統的穩定,如何保證異常可監控,如何降級,如何限流,如何防止外部攻擊等。
工時人日,則是產出完成本項目需要多少人力資源,評委也會根據投入產出比來評估項目是否值得做。

當然,前端、客戶端、後端每個端都會有從事該端的自身專家來參與評判,不會出現外行評內行的現象。

方案表述

在產出了技術方案後,還需要邀請技術委員會的相關資深專家來進行評審,一般是定一個會議室,拉上幾個P8P9的專家來指導。
在簡要的介紹完背景後,如果項目比較複雜,可以對核心技術方案進行講解,如果項目比較簡單,則評委會直接進行提問。
工程師需要對每個問題進行回答,有一些問題是答疑性質的,還有一些問題是挑戰性質的,就比如說,你說用了某個google框架,使得性能提升了30%,那麼評委會挑戰,爲什麼能提升這麼多入,爲什麼其他公司不用等等。

方案評分

評委會根據技術方案的文檔以及在評審過程,會給與評分,多個評委一般取最低分作爲本次技術方案的最終分數。除了評分外,阿里的資深專家一般也會給出比較好的意見同時也希望工程師能追求卓越。

總結

我覺得自己技術進步最大的阿里五年,其中就是在釘釘參與技術方案review的時間裏,從這段時間,不僅僅對整體技術方案的編寫有了一個非常清晰的認識,知道如何去表示一個方案,去表述清楚一個實現方式,還對方案的穩定性、邊界、系統依賴等邊角的地方有了更深的認識。同時還接觸到一些其他的技術點。最後,也是最重要的,就是通過技術評委的挑戰和意見,能夠更好的更周全去思考。比如被和老師知道,如何做好冪等、如何做好兜底方案等。

原文來自:http://www.javaer.com.cn/?p=724

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章