從畢業入行到現在已有13年,期間經歷過很多領導,自己也做了幾年別人的領導,帶過一個遊戲研發團隊,客戶端、伺服器、網站加測試團隊。
如今回想起來,衷心感謝每個帶過我的領導,而更要感恩那些經常批評教育我、甚至對我的工作結果有些吹毛求疵的領導。
毫不誇張的說,我如今的工作職位和思維方式,很大程度上是被他們逼出來的!
如果沒有他們當年那些令人厭煩的甚至是讓人準備拿起鋤頭反抗的逼迫,也就不會有我今天的成績和成長。
我本身是個很懶的人,懶得學習、懶得動手、懶得把東西往深層次去思考和研究,但我很幸運,遇到了好幾個這種「煩人的」領導,一直在被他們推著往前走。
人是有惰性的,遇到問題時容易淺嘗則止或點到為止。
在實際編碼中,我們可能會緊盯著需求點,力求實現需求、趕緊寫完代碼、快速提測、然後在休息中悠閒的等待修改bug,反正自己的事兒做完了。
「公司有專職的測試人員,我自己沒必要做自測吧?就讓他們測吧!測出問題後我再做修改就行了」。如果您有這樣的思維方式和工作習慣,那麼這就是典型的點到為止(其實是對工作的不認真、不負責)。
一方面,我們只關注實現需求,並沒有仔細考慮過程序在未來可能面臨的擴展性、負載能力等,很有可能是給自己埋了一個大坑,指不定在未來的某一天就掉到坑裡了;
而另一方面,我們寫完代碼後就做了甩手掌柜,不自測,而完全交由別人去測試,這從根本上是對別人工作的不尊重,因為你並沒有替同事做好交付前的檢查工作,而是把本該由你完成的工作交給別人代替你完成。
曾經在工作中,我就做過這樣的事兒,然後被領導劈頭蓋臉的罵,可以用慘不忍睹來形容,當時真想一拳甩過去,讓他閉嘴。當然哈,並沒有把想像變成實際行動的勇氣。
從那以後,我學會了尊重別人的工作,提交測試前,必須先自測;同時,我也學會了事先思考未來可能遇到的問題,以免給自己留坑。
曾經有合作過的產品經理評價我,是他所遇到的程式設計師中,最願意花時間幫他尋找產品策劃案漏洞、主動諮詢和討論未來是否存在某種產品改進的可能性、提前做好系統架構規劃的程式設計師;
也有測試工程師表示願意測我的代碼,因為不用反反覆覆的測很多遍,浪費很多不必要的時間。
得到他們正面的評價,我很心虛,因為他們不知道,他們的評價應該給予的不是我,而是曾經差點罵的我出拳的那個領導。
在對程序的重構和改進方面,我也遇到過這麼一位吹毛求疵的領導。
在入行的第二年,領導安排我寫一個提供給第三方遊戲使用的支付接口,並且要兼容已經在線上運營的十幾款遊戲。
在開發程序的第一版本時,我針對原有老遊戲、新遊戲,按不同接入類型各實現了一個接口,然後書寫了清晰的接口文檔,和接入流程圖。以後如果有遊戲接入,由我給對方分配一個接入密鑰就行。
自測沒問題後,自信滿滿的拿去領導那交差。領導看了看,丟給我一句:「可優化,回去改吧」。
我問領導:「您指哪個部分呢?」,領導看看我,然後繼續忙自己事兒,只留給我一句:「自己想吧。」,然後留下獨自在風中凌亂了7、8、9、10秒的我。
無奈之下,回到座位生悶氣。當時在想,這哥們跟我關係挺好的啊,應該不至於給我小鞋穿故意為難我,既然他說能改那肯定是有優化空間。可是您老倒是告訴我該改哪兒啊。
在經過大量腦細胞被殺死無數次的冥思苦想之後,突然一拍大腿。原來如此,原來如此啊,哈哈哈哈哈。
因為各遊戲按不同類型要接入不同的接口,所以每次接入時,我不僅要給對方分配密鑰,還同時要在對應接口上增加新接入遊戲的授權。那麼,我為何不自動化的來生成這個密鑰並且通過提前設置好配置文件,讓系統自動解析並授權呢?
接下來,開始給程序做手術。很快改成了自己想像的樣子,生成了一個XML文檔,每個遊戲有一個獨立的節點,其中配置了該遊戲應該使用的接口、密鑰、以及該遊戲可動態配置的一些自定義參數欄位。
改造後的程序,從接入簡易性和擴展性上,得到了很大的提升。基本上,未來不用再對接口做代碼上的變更了,哪怕有一些遊戲有特殊的參數需求也可以通過自定義欄位來解決。
這回兄弟我是趾高氣揚的把方案丟在了領導桌子上,領導看的比上次還快,然後又是丟給我那句話:「可優化,回去改吧。該改哪,怎麼改,自己想去。」
我靠,你XXX的大頭鬼。我這程序作了升級,您這話術也做了升級,把原來的兩句直接變成一句了。
無奈的我,又在風中凌亂了7、8、9、10秒,然後繼續回座位生悶氣。當時就覺得,我肯定是哪得罪他了,要不犯得著這麼整我麼?
可是生氣歸生氣,工作還得幹,怎麼辦?想轍吧!又在殺死無數腦細胞並且掉了點兒頭髮之後,總算讓我找到了解決方案。
上一版本是需要手動處理XML文件的內容增加,並且沒有XML的動態更新機制,這將導致新遊戲上線,必須要停服更新程序才行。對於24小時在線運營的遊戲來說,每次停服都是很傷用戶的。
找到問題後,立刻動手,XML不要了,直接改成數據表存在資料庫裡,做好密鑰的加密處理,然後做個後臺頁面交給運營。
拿著這個版本給領導看,他終於換了一句話:「還可繼續優化,但是能上線使用了,提交給測試部,安排後續上線事宜吧。」
此時,我在心裡默念了好幾遍:「你大爺的,做成這樣還能優化麼?好歹做完了,您倒是給個正向的鼓勵啊!」。
從此,在那個絕大部分公司做接口聯調還停留在接口文檔以doc方式傳來傳去的年代,我們實現了一個遊戲接入接口,不需要技術人員做任何處理,只要運營人員在後臺點幾下滑鼠,新遊戲就能接入上線了。
哪怕直到今天,做了這麼多項目,我還依然覺得這個接口程序,是我做過的最好也是最有成就感的一個。
也許很多技術好的朋友會覺得這事兒很小兒科,其實我也覺得這事兒挺容易實現的,但重點還是回到咱們這篇文章的主題。
因為有了這個吹毛求疵的領導,才有了這個接口程序的誕生,因為有了這個不直接提出改進意見的領導,才促使我獨立思考,最終實現了在那個工作經驗下很難想到並實現的程序。
並且這件事兒,也使我個人的工作習慣、工作思維、甚至是架構思想體系的形成,有了一個穩健的基石。
現在想想,真的十分感謝老天在我剛工作兩年的時候,讓我遇到了這位領導,使自己少走了很多彎路。
還有很多領導,在我畫流程圖、架構圖等方面給予了嚴格要求,一張流程圖最多的一次改了10版;還有郵件方面的,曾經有一個匯報郵件,來來回回的改了5次;
在管理方面,也被嚴格要求過,有個領導要求我在限期之內必須開除部門內的一個員工(不是公司裁員時期),是誰自己挑,沒有指定人選,反正必須開除一個,名目是要鍛鍊我的膽量和魄力,當時感覺那是人生很灰暗的一段時間,開誰都覺得對不起人家(其實老大心裡早有人選,就是鍛鍊我,看看能不能發現那個人的問題)。
其實,我個人在嚴格要求這方面做的很差,骨子裡得過且過的情緒太嚴重,一般事兒,差不多就過去了。
感覺自己的差不多思想,算是坑害了很多在我手底下帶過的兵,根本沒有完全激發出他們的聰明才智,甚至使他們養成了驕傲易滿、和我一樣得過且過的思想。
最後,再次感謝那些曾經給予我幫助,特別是對於我的工作成果有嚴格要求的那些領導。
在職場生涯中,感恩有您。
也希望大家能夠珍惜那些嚴格要求你的領導,他們對你的嚴格要求,不會給自身帶來實際的收穫,反而在當下會讓你怨恨他詛咒他。
可對你來講,每一次接受嚴苛要求的洗禮,都是人生中不可多得的財富。
願天下沒有得過且過,願你遇到的領導都能認真嚴苛。
註:本文章圖片來源於網絡,如有侵權,請聯繫刪除。