我的程序员蜕变之路
2008年,我進(jìn)入騰訊實習(xí)。
實習(xí)了兩個月,過得挺開心。寫了一個 epoll svr,后來又寫了一個純udp 的 svr。導(dǎo)師當(dāng)時有個項目剛好要用到 udp 通信,我?guī)退瓿闪藆dp 通信在我們的網(wǎng)絡(luò),機(jī)器環(huán)境下的性能測評工作。
導(dǎo)師經(jīng)常跟我溝通,不斷指引我,幫助我,一切感覺都很好。
感覺那時候的實習(xí)是真的實習(xí),學(xué)到了很多的東西,不像現(xiàn)在都是把實習(xí)生當(dāng)正式員工用。
2009年,正式入職,開始了自己的職業(yè)程序員之路。
那時候,我感覺最明顯的是壓力。
這個壓力來自工作任務(wù),來自同時期入職的同事的競爭,也來自新的人際關(guān)系。
為系統(tǒng)質(zhì)量負(fù)責(zé)
相對于實習(xí)期,在工作任務(wù)上最明顯的變化,是要為系統(tǒng)的質(zhì)量負(fù)責(zé)了。
在學(xué)校寫代碼,雖然也會盡力寫好,盡量保證不出bug ,但幾乎都是自娛自樂的項目,沒有實際的用戶在使用,所謂質(zhì)量,也是自己臆想的。
工作后才發(fā)現(xiàn),一個系統(tǒng)里1000行代碼,可能有三分之一是為了系統(tǒng)質(zhì)量而存在的。比如各種log ,監(jiān)控,為了產(chǎn)品運(yùn)營而增加的數(shù)據(jù)統(tǒng)計打點(diǎn)等。
除了在代碼上用盡各種措施保證質(zhì)量,在研發(fā)流程上,也是極盡保證質(zhì)量之事。
當(dāng)時做設(shè)計,寫代碼會再三思考,考慮的特別全面,我的導(dǎo)師和技術(shù)總監(jiān)都是這種風(fēng)格。一個看似簡單需求的設(shè)計方案,他們能給你想出很多你沒有想到的特殊情況。現(xiàn)在看來,這個就是一般架構(gòu)師和優(yōu)秀架構(gòu)師的一個重要區(qū)別了。
當(dāng)時我的導(dǎo)師給我的一個目標(biāo)是,架構(gòu)設(shè)計要做到一切盡在掌握!有些極端的異常情況和應(yīng)對措施,不一定要做,但心里面一定要清楚,各種情況會產(chǎn)生什么結(jié)果,可不可控,而不是等系統(tǒng)上線后,靠用戶的“測試”來發(fā)現(xiàn)。
這個理念,一直影響著我,后面我自己做設(shè)計的時候,也經(jīng)常一遍又一遍地問自己,是不是把所有異常的情況都考慮全面了,是不是把依賴系統(tǒng)的各種情況都考慮到位了。。。。
我入職后第一個接觸的系統(tǒng),是QQ的接入層---全部門質(zhì)量要求最高的系統(tǒng)。
我們當(dāng)時寫完代碼提交后,要一并提交一份測試用例,同時子項目負(fù)責(zé)人會再review 一遍代碼。周四作為統(tǒng)一上線日,灰度這周合入的新特性。(周五不上線,擔(dān)心周六出問題,處理不及時)。
這個流程在現(xiàn)今的互聯(lián)網(wǎng)行業(yè)來說,算是很重的流程了,可見當(dāng)時對質(zhì)量的重視程度。我也在那個時候被培養(yǎng)起了很深的質(zhì)量意識。
項目的壓力
如此苛刻的質(zhì)量要求,自然也帶來了不小的項目壓力。
代碼寫得很仔細(xì),也很慢,寫完,測試完,自己還要review幾遍,才敢提交給項目負(fù)責(zé)人,因為擔(dān)心被項目負(fù)責(zé)人打回重改。
還有一個壓力,是來自于項目的值班制度。
那時候值班有兩種。
一種是白天的接口人。值班那天你需要處理外部其他團(tuán)隊的咨詢,一些小bug 的處理,那天,你自己的任務(wù)幾乎就是沒有時間做的。
還有一種是夜間的報警值班。我們有一個專門的值班手機(jī),組里每個人輪流值班一天,24小時待命。手機(jī)有報警,就要起來觀察曲線,看看有沒有問題。這個很累人,特別是當(dāng)晚有故障,處理到深夜之后,第二天還要正常去上班,就特別的累。
有一段時間,感覺壓力特別大,當(dāng)時以為,后面十幾年的職業(yè)生涯都要這么過了,曾陷入深深的痛苦中。
壓力最大的時期,也是成長最大的時期。
有一段時間特別難受,感覺要被壓跨了,幸好最后堅持了下來,自己的抗壓能力得到了一次質(zhì)的提升。
現(xiàn)在回過頭來看,確實印證了那句:你覺得最艱難的時候,也是你收獲最大的時候!
單干到團(tuán)干
還有一個我不太適應(yīng)的事情,是開始做團(tuán)體項目了。以前在學(xué)校,幾乎都是單干,現(xiàn)在要開始跟其他同事合作項目了。合作的人里面,有跟我一樣剛?cè)肼毜耐?#xff0c;有工作了幾年的老員工。
當(dāng)時對自己的定位不明確,老是想搶頭功。一個新的任務(wù)過來,按自己的能力,明明不能成為這個任務(wù)的第一負(fù)責(zé)人,自己非要去搶,結(jié)果也搞砸過不少的事情,這些也算是成長的代價了。
那時候,團(tuán)隊實行的是系統(tǒng)負(fù)責(zé)人+項目制。
每個人都會負(fù)責(zé)幾個子系統(tǒng),子模塊,這些系統(tǒng),模塊的日常維護(hù)和一些日常小需求都由系統(tǒng)負(fù)責(zé)人,負(fù)責(zé)設(shè)計和實施。
對于一些比較大的業(yè)務(wù)性需求或系統(tǒng)性需求,則會為其起一個新的項目來推動。一個項目會有明確的開始時間和項目周期,會有固定的項目成員和明確的目標(biāo)。
剛開始,被分配到一個三人的小項目組。我,一個同期入職的新人,一個工作了兩年的“前輩”。
任務(wù)分配下來后,很興奮,想好好干一番,好好表現(xiàn)一番。除了花時間看文檔,熟悉代碼,在項目討論會議上,自己也想盡量表現(xiàn)。另一個新人似乎也感受了我的沖勁,于是對方也不甘落后,大家開始互相比拼。
本來這種良性的比拼和競爭對項目是好事,可惜兩人拼到后面,開始帶上情緒了,無論是私底下討論還是項目會議上的討論,都有種在杠的感覺。
好在最后,項目正常完成上線,沒有因為我們的杠而影響到任務(wù)本身。不過我們的leader 也覺察到了這個問題,后面在分配任務(wù)的時候,就特地的把我們給分開了。
現(xiàn)在想起來,那時候真的是 ”學(xué)生氣“ 太重,有啥好爭的。
一來,公司不是請你來表演自己的牛B的;二來,工作貢獻(xiàn)的衡量,也不是看你比多少人厲害,更重要的是看你做了什么,產(chǎn)出了什么。
之后自己也意識到了這個問題,慢慢調(diào)整了過來。后面再跟其他同事的合作的時候,也沒有再發(fā)生類似的情況。自己關(guān)注的焦點(diǎn)也從人轉(zhuǎn)移到了事情本身。
為自己的成長負(fù)責(zé)
自己在實習(xí)的兩個月的時間里,是很受導(dǎo)師照顧的。實習(xí)的時候,導(dǎo)師隔三岔五的會跟我聊,聊我目前學(xué)的東西,也會關(guān)心我的生活情況,比如租住的房子舒不舒服,上班交通情況怎樣等生活上的問題,當(dāng)時感覺特別好。
正式入職后,也慣性的以為會持續(xù)這種狀態(tài)。
但正式入職后,導(dǎo)師和我的溝通明顯的少了。當(dāng)時以為是導(dǎo)師把我忘記了,有時候還特地挑些問題去問他,有一兩次,我明顯感覺到了他的不耐煩。
后面跟其他同事吃飯,才得知,導(dǎo)師那個時候接到了一個很重要的任務(wù),難度大且時間趕,壓力大,周六日還經(jīng)常過來加班。那個時候,我突然意識到,我已經(jīng)是正式員工了,導(dǎo)師的真正身份是公司員工,作為我導(dǎo)師,也只是他在一個特定時期內(nèi)的工作任務(wù),而他還有他正式的工作。
從那個時候起,我也開始慢慢調(diào)整自己的心態(tài),開始以一個正式員工的心態(tài)在工作和學(xué)習(xí)。自己在看項目文檔和代碼得時候,如果遇到問題,都會多看幾遍文檔和代碼,然后盡力地思考,到最后實在是搞不明白地時候,才會去請教其他的同事。
在請教其他同事的時候,也會選好時間,比如一起吃飯或者閑聊的時候,或者趁著大家有空的時候去問,不會隨便地打斷別人正在進(jìn)行的工作。
后面自己做別人導(dǎo)師的時候,才真實地感受到,當(dāng)項目壓力很大的時候,真的沒有太多地精力可以顧及自己所帶的新人。
所以,自己的成長還是要自己做主。
和諧的人際關(guān)系
我剛?cè)肼毜臅r候,帶著很濃的”學(xué)生氣“。一個是不太愿意主動地”搭訕“ 別人,覺得主動地”搭訕“ 老員工,有點(diǎn)”獻(xiàn)媚“的感覺;另一個是喜歡跟人杠,特別是在一些技術(shù)點(diǎn)上,喜歡跟人杠,無論是新人還是老人。
我印象深刻的一次。
當(dāng)時,一個老員工在會議室里給大家分享 linux 內(nèi)核相關(guān)的知識。我因為在實習(xí)的時候,特地地看過這部分的代碼,而且還寫了不少的文檔,筆記,所以對這部分還比較熟悉。
我在聽他分享的過程中,發(fā)現(xiàn)了幾處錯誤的地方,于是在過程地不斷地打斷他,不斷地”指正“ 出他的錯誤。那一刻自己還洋洋得意,以為自己很牛B,但分享結(jié)束后,我明顯地感覺到了那位老員工的尷尬和不爽。
人家辛辛苦苦準(zhǔn)備得一場分享,結(jié)果你一個錯誤指正,又一個錯誤指正,搞得人家下不了臺,面子上也掛不住。
當(dāng)時,我沒意識到這個問題,只是在分享結(jié)束后,感覺到氛圍不對。
后面,有幾次跟著他做項目,才明顯地感受到了他對我的不爽。他沒有明顯的要整我或怎樣,就是跟我保持了一定的距離,但單就這種距離感,已經(jīng)讓我很難受了。
我不能說他心胸狹隘,確實是我的行為先讓人不爽,他后面對我保持冷漠,不給我提供幫助,也沒錯,因為幫助我也不是他的義務(wù)。但沒有了他的幫助,我工作的開展卻遇到不少的困難。
后來,我開始學(xué)會顧及別人的感受,跟其他同事保持良好的關(guān)系。
融洽的人際關(guān)系,不但使得工作,生活更加開心,別人也更加愿意主動幫助自己,使自己的工作能更好的開展。
結(jié)語
第一年的正式工作,讓我真正實現(xiàn)了一個學(xué)生,一個業(yè)余程序員到職業(yè)程序員的蛻變。開始懂得了為 系統(tǒng)的質(zhì)量負(fù)責(zé), 在實際工作中鍛煉自己的抗壓能力,學(xué)會了團(tuán)隊合作,知道了自己的成長要自己做主,也學(xué)會了,如何可以保持一份和諧融洽的人際關(guān)系。那一年的成長很大,收獲很多,也為自己后面的發(fā)展打下了堅實的基礎(chǔ)。
總結(jié)
- 上一篇: Spring Boot中如何干掉过多的i
- 下一篇: 许式伟:毕业两年成为首席架构师,我的技术