互聯網技術經理工作最佳實踐

來源:孔凡勇(雲狄)的分享:《細說Tech Leader在開發團隊的核心職責》

開發規範

協作流程

配置規範

統一配置規範,包括IDE、maven、git、各種環境參數等。這些配置都放在WIKI上,方便新來的同學看。

命名規範

包、類、接口都要按規範來命名,不要整些半土半洋,只有你自已理解的命名。可參考阿里之前出過一個JAVA編碼規範。

API規範

前後端分離、微服務架構,API規範尤其重要,版本的兼容性、錯誤碼的規則、鑑權方式、數據脫敏、設計API時的防重、冪等性問題要考慮到。

異常處理規範

好的程序,必定有好的異常處理機制,重試機制、超時的處理、極端情況下的熔斷機制、降級機制。

不要小看這些“雕蟲小技”,比如重試,如果沒有一個好的重試設計,在對方接口調不通的時候,調用端不做控制,頻繁重試,這不亞於一次DDOS攻擊,整個服務會被壓垮。

分支開發規範

分支管理同樣要遵守約定,什麼時候用雙主幹、什麼時候鎖分支,誰來負責分支的管理,緊急版本用主幹還是分支來發版,要根據實際情況來制定標準。

代碼commit規範

commit的標識要統一,如:feat : 新功能;fix : 修復bug;docs : 文檔改變;style : 代碼格式改變;refactor : 某個已有功能重構;perf : 性能優化;test : 增加測試。

可以結合IDE插件來實現。

日誌規範

通常公司的開發框架裏都會集成日誌處理模塊,在編碼的時候按規範調用,禁止用System.out/error來輸出日誌。上線後有統一的配置中心來控制日誌的輸出。

MySQL開發規範

在開發過程中,建表的規範,索引使用和優化,SQL語句的內聯、外聯,好的SQL習慣要養成。

統一工具與框架

常用的工具封裝,如http連接、ORM、文件讀寫。

分佈式基礎組件的使用,不要每個人自已實現,尤其是鎖、限流機制等,使用不當很容易造成線上事故,而且不好查。

需求管理

需求要有治理機制,要根據對主營業務的貢獻度來衡量價值,而不是哪位老闆的聲音大,需求要評出A\B\C等級,根據等級安排資源。

架構評審

架構設計的目標

架構評審的原則:合適原則、簡單原則、演化原則,“剛好夠用”也許是最“完美”的方案。

架構評審,要兼顧功能需求、非功能需求。

代碼評審

  • 開發規約插件掃描
  • Sonar掃描

不要流於形式,不要變成批鬥會,或是華山論劍,比誰的技術niublity。

目標是找出設計和實現時遺漏的地方,幫助開發人員成長。

發佈計劃評審

對比較大的版本發版,要做發佈計劃評審,要有外部依賴檢查、配置確認、二方庫與應用發佈順序、數據訂正和變更、回滾計劃、線上迴歸冒煙等。

技術規劃

作爲技術經理,要做團隊的技術規劃,如每週、每半年。

平時的技術運維要關注:系統指標、慢接口、慢查詢、錯誤日誌等等,從小處發現改進的點,儘早防範。

團隊建設與管理

依據團隊不同階段,分爲集權式管理、放權式管理。

團隊管理與激勵

團隊管理,分成“管”和“理”。

初級員工要“管”,設定目標、給與輔導,手把手幫助員工提升能力。

資深員工要“理”,給以空間,設定目標,幫助協調資源,有兜底方案,讓員工自由發揮。

團隊文化塑造

溝通與輔導

1on1

1on1是非常重要的溝通方法,尤其跟員工進行輔導的時候。

遵循3分講7分聽的原則,關注個人工作、個人成長、團隊、公司四個方面。

要提好的問題,比如:

你對近期工作滿意嗎?爲什麼?

現在做的事情,跟你的發展方向是一致的嗎?

團隊員你最佩服誰?爲什麼?

你對公司戰略有什麼不清楚的嗎?

團隊招聘

人才選拔要關注:專業能力、溝通、責任心、是否靠譜、價值觀等。不要只看技術,別忘了這個人進來是要跟人打交道的,要綜合考量。

員工解僱

管理者的職責是:定出高目標,帶領團隊共同前進,把團隊從愚昧之巔推向絕望之谷,幫助團隊成員走上開悟之坡。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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