工程師意識

 
工程師意識
對有些同學來說,前兩週是非常忙碌的兩週。線上發生了幾起事故,雖不全是我們部門的,但很多同學也在羣策羣力的一起去解決、覆盤、改進。同時,我們上週也對部門H1的冒煙、事故進行了回顧。
我們希望通過對踩過坑的深度覆盤,去發現需要改進的點,然後下次不再犯同樣的錯誤。覆盤後發現,引發故障的原因中,變更佔比100%,其中代碼邏輯佔比45%,方案設計佔比15%。“變更是萬惡之源”。我們對變更的管理,有沒有達到10成的把握,這裏面有流程機制的問題,也有各位工程師的意識及執行的問題。流程機制上,我們想了一些對策,接下來會對變更三大件(技術方案 + Codereview + 上線回滾方案)進行強執行。接下來想談一談工程師意識和執行的問題。
回首這些冒煙和事故,是不是我們在技術方案設計的時候多考慮一下異常情況,就可以避免這次事故?是不是我們在自測的時候真正測試到改動的功能點、前後對比是否一致,就可以避免這次事故?是不是我們在寫每一行代碼的時候、認真的瞭解到調用的函數的副作用和運行機制,就可以避免這次事故?是不是我們在使用中間件的時候對實現機制有更透徹的瞭解和確認,是不是我們在巡檢的時候更細緻的檢查毛刺並追查原因,就可以避免這次事故?是不是我們沒有想當然,改過的配置真正去調一下接口,是不是就可以避免這次事故?
在我看來,一件事情沒有做到位,有兩方面原因。 一方面,是沒有這方面的意識,不知道應該這樣去做,如何去做。 另外一個方面,就是偷懶了,心存僥倖,但我們並不會一直這麼好運。根據墨菲定律,該發生的一定會發生。
對於工程師意識,百度已經有非常好的總結了,希望大家都每個字每個字的認真研讀,一個合格的工程師應該具備怎樣的意識。這都是前人的智慧,我們應該把它傳承下去。
  • 質量意識
    • 流程意識
      • world class procedure:用流程解決具有共性的、重複性問題,提高效率
  • 既有的流程應嚴格遵守;沒有流程的應創建流程
  • 要對自己的工作質量負責,不要期待別人來發現自己的問題
  • “穩定”壓倒一切,線上服務最重要
    • 用戶體驗最重要
  • 工作安排:二八原則
  • 優先解決線上服務穩定性問題
  • 不要“想當然”:
    • 不要默認“沒問題”,而是缺省認爲“有問題”;“肯定沒問題”一定有問題
  • 反覆覈實(double check)十分重要
  • “我以爲他們已經開始做,但我也沒有跟他們確認一下”—導致項目延期
  • “我以爲這個接口是這樣定義,但誰想到是那樣的”—導致程序崩潰
  • “我以爲發出郵件,他肯定就知道了”—實際上,他/她根本不在相應的郵件列表中
  • 時間意識
    • 目標管理、結果導向
      • 彈性工作制:上下班時間自由支配
  • 關鍵是要按時保質完成工作
  • 只爭朝夕,爭分奪秒
    • 激烈的產業競爭環境
  • 不要拖到最後纔開始工作,因爲總可能會有意外
  • 能今天做完的絕不拖到明天
  • 自我管理,自我推動
    • 每件事情都有完成時間表,給自己一個約束,給別人一個承諾
  • 每件事情有始有終,設立一些里程碑,在里程碑上檢查進度,主動向其他人通報進度
  • 建立個人品牌,樹立別人對自己的信心
  • 溝通意識
    • 平等溝通
      • 在溝通上沒有級別概念
  • 不要礙於面子,不要怕犯錯誤:報喜亦報憂
  • CC文化
  • 及時溝通:
    • 郵件是最主要的溝通形式,但有時不是最有效的
  • 當面溝通,電話溝通,召集會議都是有效的形式,但要留下文字
  • 有效溝通
    • 溝通要達到效果
  • 如果沒有效果,應讓更多人知道,尤其是你的老闆和對方的老闆
  • 團隊意識
    • 集體榮譽感:
      • 用你的成績爲你的團隊帶來光榮
  • 互相幫助,互相學習
    • 樂於給別人提供幫助
  • 也勇於向別人學習:有問題不要憋在肚子裏
  • 互相理解
  • 把周圍同事當作你的資源,包括你的經理
  • 對事不對人,尊敬身邊每一個人
  • 求實意識
    • 科學求實是技術發展的基礎
  • 用數字說話,用事實證明,不要有“想當然”的思想
    • 大膽假設,小心求證,不放過每一個細節和疑點
  • 客觀公正
  • 杜絕“可能”,“大概”,“應該”這樣模棱兩可的用詞,而是用準確的數字和事實來論證
  • 每個工作能用量化的指標來進行衡量
    • 性能、容量、準確性、召回率、死鏈率,etc.
  • 沒有量化,就沒有績效
  • 通過這些指標衡量自己的成長和進步
  • 通過這些指標知道工作的方向和重點
  • 進取意識
    • 永葆激情,積極主動
      • 熱愛你所從事的工作
  • 不要等別人爲你分配任務,你就是自己的老闆
  • 與時俱進,不斷學習
    • 在高速成長的公司,你纔會有高速成長的可能
  • 要有和公司、團隊的同步成長的意識
  • 對技術、對質量的追求永無止境
    • 沒有最好,只有更好
  • 目標遠大,不固步自封,自我滿足
  • 憂患意識
      • Case study和自我總結,自我學習和提高
  • Case study是一種文化,從事故中吸取經驗教訓
  • 容忍失敗,但不容忍重複失敗
  • 經常反思一下自己
  • 不放過任何一次問題,勇敢地剖析自己
 
除了意識之外,我們還希望我們的工作夥伴有什麼樣的特質?
  1. 靠譜:凡事有交代,件件有着落,事事有迴音
    1. 別人交辦的事情,請第一時間給出預計完成的時間點。
    2. 過程之中注意按時通報進展。
    3. 如果預計要延遲,延遲多久,提前多久通報。
    4. 如果請求別人做事情,請給出期望完成的時間點。
  2. Ownership:高度負責,結果導向
    1. 對自己的代碼質量負責、線上系統負責,確保結果
    2. 對交辦的事情負責,確保結果
    3. 開發質量的保證,是自己的職責,不是測試的職責。寫優雅、可維護的代碼是自己的追求,決不妥協。
    4. 二八原則,確保自己的精力在解決主要問題,拿主要的結果
    5. 學會時間管理,4象限安排工作優先級,確保重要結果產出
    6. 工程師的核心競爭力就是解決問題的能力,不管你用什麼方法
    7. 認真負責,思考全面,提前計劃,步步爲營
  3. 自驅自發:我的工作我做主
    1. 不要等別人爲你分配任務,你就是自己的老闆
    2. 主動承擔更多的職責、主動學習更多的知識
    3. 自己盡力都搞不定的事情及時尋求幫助
  4. No Excuse,實事求是:不怕犯錯,不找藉口,主動反思,持續改進
  5. 主動溝通,善於協作
    1. 報喜亦報憂,確保協作方信息的及時性、有效性
    2. 主動語音聊,電話聊,跟進聊
希望我們的工程師,都具備以上工作準則,作爲球隊的不可或缺的一員,各自發揮自己的才能,一起贏!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章