今天這篇是架構師大劉的系列故事
小W要離職了,大劉並沒有挽留,甚至有點慶幸。
小W離職的原因比較簡單,這次升職加薪,大劉提拔了和他同期進來,並且工作年限和他差不多的小L,而小W則是原地沒動,薪水也沒有加,他受不了,提出了離職。
小W就是典型的普信男,明明做的比小L差的很遠,卻又對自己是迷之自信。
他倆到公司已經快 2 年了,在這期間,小L和小W之間的差別越來越大,小L變得越來越優秀,而小W在工作期間卻問題不斷,沒有什麼明顯的成長。
離職前,小W覺得還是不服氣,找大劉深談了下,大劉耐心的指出了他和小L的區別:
1. 程式碼質量的區別
在大劉他們的 Bug 管理平臺上,小W的 Bug 是一片一片的。有許多 Bug 的原因是程式碼中方法計算返回的結果出現了錯誤,可引發這些錯誤的輸入值既不是極端值,也沒出現古怪的邊界條件,全是正常的業務引數。
這說明了什麼?說明小W他偷懶不寫單元測試,甚至有的都自己沒去測試,等著別人幫他測。
而小L的程式碼則非常健壯,Bug 平臺裡,小L的程式碼 Bug 非常少。如果去看專案的 Git,發現小L的單元測試程式碼非常的多,甚至遠遠超出了工程程式碼。
2. 開發速度的區別
從專案管理平臺上,可以看到大家的開發時間統計。相似的一個需求,小L需要的時間是小W的一半。
比如,上次專案需要新接兩個第三方渠道,小W和小L一人搞一個介面,引數相似,流程相似,小L花了 3 天,小W花了 5、6 天。
而且,後期介面出現變化,每次小W都要改個兩三天,而小L只需要半天一天。
究其原因,就是小W每次寫程式碼特別不優雅,不靈活,有點變更就需要大改,並且還經常改出 Bug。
而小L從來都是把方案想透徹了才開始寫,還不斷的重構程式碼,最終的程式碼又靈活又優雅,有需求變更了,特別省事的就可以改好。
3. 思維嚴謹的區別
有一次,小W寫公眾平臺的一個對外介面,寫完了拿出去測試,結果鬧了個大笑話。他寫的對外介面,連個驗證簽名也沒有。這事兒幸虧在內部測試的時候,被查了出來。不然直接放出去,整個團隊的專業性都要受到質疑。
而小L同樣寫一個介面,不僅考慮到了驗證簽名問題,他還考慮到了引數需要加一個時間戳,保證簽名不會被重複利用的問題。
4. 團隊合作的區別
開啟他們專案的 Git,就看公共工具類,小W一行都沒有提交過。然後,隨意開啟一部分程式碼,那麼多可以共用的程式碼,小W從來沒有想過提出來形成工具去方便別人。只管著自己的那攤子事兒,寫完完事兒。什麼程式碼風格、複用、團隊合作全部扔在了一邊兒。
小L不一樣,不但會主動寫一些工具類,有時候還會弄出一些小框架,減少別人的開發量。
5. 對業務理解的區別
需求會上,小W基本就沒認真參與過,也很少去和產品經理主動溝通分析需求。當開始寫程式碼了,小W要麼實現出現偏差,要麼就出現了遺漏。
有個許可權管理的需求,大劉本來想小W個機會,希望他能把這個做好,所以讓他負責。
結果是,這個功能,許可權配置甚至連個後臺都沒有,業務都沒地方配置許可權。就這樣,小W還非說功能實現完了,還和產品們爭吵了起來。最後結果就是被啪啪打臉,人家產品的原型圖和需求文件說的很明白,而且還連續開了好幾次需求分析會,大家都理解了,就小W出現了問題。
而小L則是非常重視業務需求,會寫出一些文件,並勾畫出設計實現去拉產品核對。如果出現了疑難問題,會同時叫上產品、運營開碰頭會,並確保大家形成共識後,開始執行。
小W失敗的許可權管理開發,小L接手了。他畫了角色和許可權的關係圖,然後全部和產品一一過了一遍。確認後,發郵件形成共識,然後開發。一切順利。
6. 工作態度的區別
要知道,產品雖然經常惹技術討厭,但是,大家都是普通人,自然也有想不到的地方。一般來說,小L和產品配合,產品想不到的地方,小L都會積極去溝通,查漏補缺。但是,到小W這裡,事情往往推不下去。
曾經有個功能,產品的需求是想在商戶資訊出現變動的時候,能通知到公司其他部門的系統。要通知到其他系統,就得先對接公司統一的公共訊息系統。
這事兒,小W直接給產品說“對接很麻煩,對方不配合”。雖然有時候跨部門配合是有難度,但是也不能因為這理由就把事情一直拖著。一直到大劉來問進度,才發現根本沒做。
把事兒交給小L後,人家第一時間去和產品解釋了原因和麵臨的問題,然後開會協調了一個新的上線時間,把對接公共訊息系統的工作量也進行了排期。
再往後,小L又把工位臨時搬到負責公共訊息系統的團隊那裡,在那裡就地開發。此事妥善解決。
7. 解決問題能力的區別
同屬一個技術團隊,小W遇到難題,就去鑽牛角尖,一個技術難題,能摳一週,結果別的工作也全部耽誤了。
曾經,小W遇到過一個輸出資料無序的問題,然後,他當時除錯,怎麼也找不到問題所在。就這個,墨跡了一週,後來是小L主動問他咋回事,才知道他遇到的問題。團隊裡幾個人一起幫他排查了問題,兩個小時解決。而他手頭的工作卻已經耽誤了一週。
而小L則是遇到技術問題,首先是自己努力去解決。如果發現自己解決不了,又要進度延誤的風險,他會立即積極求助,問團隊高手,問技術領導,總之想辦法儘快解決,好進入到工作的下一步。
說完以上幾點後,不管小W是不是認同,大劉還是希望小W以後能發展的越來越好,又說道:
要知道,程式設計師的官方稱謂是工程師,而工程師是做工程的。在特定的時間內完成高質量的工作才能是合格的工程。能按時高質的輸出工程量,才是合格的高階工程師。
而對於小L,大劉想再看他一年的表現,如果依然表現優秀,大劉決定再給他加一次薪,優秀的工程師必須盡全力挽留下來。
你好,我是四猿外。
一家上市公司的技術總監,管理的技術團隊一百餘人。
我從一名非計算機專業的畢業生,轉行到程式設計師,一路打拼,一路成長。
我會把自己的成長故事寫成文章,把枯燥的技術文章寫成故事。
歡迎關注我的公眾號,關注後可以領取高併發、演算法學習資料。