今天這篇是架構師大劉的系列故事程序員
小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花了 五、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,大劉想再看他一年的表現,若是依然表現優秀,大劉決定再給他加一次薪,優秀的工程師必須盡全力挽留下來。
你好,我是四猿外。
一家上市公司的技術總監,管理的技術團隊一百餘人。
我從一名非計算機專業的畢業生,轉行到程序員,一路打拼,一路成長。
我會把本身的成長故事寫成文章,把枯燥的技術文章寫成故事。
歡迎關注個人公衆號,關注後能夠領取高併發、算法學習資料。