年齡是一個(gè)永恒的話題,不論是演員、運(yùn)動(dòng)員,或是身邊的程序員。歲月帶來(lái)了經(jīng)驗(yàn)上的積累和慮事的周全,但也帶走了年輕時(shí)候的體力和沖勁。
技術(shù)變化太快,大齡程序員對(duì)新技術(shù)的興趣、學(xué)習(xí)和接受能力可能不如以前,年齡成為大齡程序員走出舒適區(qū)最大的障礙之一。
但我們身邊總會(huì)有一些年齡雖長(zhǎng),依舊保持樂(lè)觀、皮實(shí)、自省的前輩,不斷的進(jìn)行自我迭代,跳出舒適區(qū),我想,這是否就是技術(shù)成長(zhǎng)道路上最為關(guān)鍵的品質(zhì)?
本文整理自70后程序員至簡(jiǎn)于2012年底寫的一篇博客,時(shí)間雖然有點(diǎn)久遠(yuǎn),但文中內(nèi)容從現(xiàn)在來(lái)看,似乎比6年前更為受用。
時(shí)至今日的職場(chǎng)生涯中,每當(dāng)我與同事分享自己的成長(zhǎng)經(jīng)歷,總會(huì)有人為之振奮(希望你讀這篇文章時(shí)也能感受到),或許以我的成長(zhǎng)經(jīng)歷作為本文的寫作主線是一個(gè)不錯(cuò)的選擇!
通過(guò)這篇文章,你可以看到一個(gè)1997年畢業(yè)的大專生(畢業(yè)于南昌水利水電高等專科學(xué)校,現(xiàn)更名為南昌工程學(xué)院)、一個(gè)在高二時(shí)英語(yǔ)還只考29分的人,是如何一步一步成為Motorola的軟件架構(gòu)師的(至簡(jiǎn)目前就職于阿里巴巴中間件團(tuán)隊(duì))。
在繼續(xù)讀下去之前,讀者應(yīng)認(rèn)識(shí)到一點(diǎn):個(gè)人觀點(diǎn)的獨(dú)特性與自身的成長(zhǎng)經(jīng)歷有很大的關(guān)系。因此,千萬(wàn)不要盲從,而應(yīng)時(shí)刻保持一種批判接受的態(tài)度。
或者說(shuō),你得有自己的觀點(diǎn),你(也只有你自己)得對(duì)自己的職業(yè)發(fā)展負(fù)責(zé)!另外,文章主線是自傳形式,如果你對(duì)我的成長(zhǎng)經(jīng)歷不感興趣,可以快速地略讀,只關(guān)注文中highlight的24點(diǎn)職場(chǎng)感悟。
學(xué)生時(shí)代
故事的開(kāi)始得從大學(xué)以前開(kāi)始。從小受“學(xué)好數(shù)理化,走遍天下都不怕”觀念的影響,我認(rèn)為只要學(xué)好數(shù)理化就行了,所以偏科很嚴(yán)重,高二時(shí)英語(yǔ)還考過(guò)29分。那時(shí)也不愛(ài)讀書,高三時(shí),別的同學(xué)在復(fù)習(xí),我卻在看《晶體管技術(shù)》這類電子技術(shù)書。這種狀態(tài),直接的結(jié)果就是第一次高考落榜了。
落榜的那個(gè)暑假,父母為我的出路沒(méi)少操心。在一天早晨刷牙時(shí),當(dāng)我媽對(duì)我說(shuō)希望我去復(fù)讀時(shí),我當(dāng)時(shí)腦海里想“能像表哥那樣考上大學(xué)那該多好啊!”,在這個(gè)念頭驅(qū)使下,我答應(yīng)了去復(fù)讀。從那天開(kāi)始,我頓悟了,真正知道自己要什么了。在復(fù)讀的一年里,我學(xué)到的一種重要能力是— 自學(xué),這為以后大學(xué)乃至職場(chǎng)學(xué)習(xí)打下了很好的基礎(chǔ)。正因如此,我想給出:
我的職場(chǎng)第一感悟:自學(xué)能力是競(jìng)爭(zhēng)力之本。
經(jīng)過(guò)復(fù)讀,高考總成績(jī)提高了100多分,但也只夠?qū)?凭€。最終,我被南昌水利水高等專科學(xué)校錄取,專業(yè)是“供用電技術(shù)”。這個(gè)專業(yè)相信很多人不知其然,其實(shí)就是電力自動(dòng)化的變種專業(yè),其專業(yè)內(nèi)容主要是電站、發(fā)電廠高電壓的繼電保護(hù)技術(shù)。
大學(xué)讀書期間,我開(kāi)始有與人在成績(jī)上一爭(zhēng)高下的念頭了,加上復(fù)讀一年所獲得的自學(xué)能力,以及自己的努力,學(xué)習(xí)相當(dāng)輕松,尤其是只要與電子技術(shù)沾邊的課程,都能輕松地拔得頭籌。三年共六個(gè)學(xué)期的學(xué)習(xí),我拿了五個(gè)一等獎(jiǎng)學(xué)金,一個(gè)二等獎(jiǎng)學(xué)金。畢業(yè)時(shí),我是系里唯一的一名優(yōu)秀畢業(yè)生。期間通過(guò)了大學(xué)英語(yǔ)四級(jí)考試和計(jì)算機(jī)二級(jí)考試,獲得了江西省電子技能比賽一等獎(jiǎng)。需要提及的是,在大學(xué)期間所學(xué)的與計(jì)算機(jī)相關(guān)的課程只有:《電子技術(shù)基礎(chǔ)》、《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)軟件基礎(chǔ)》、《單片機(jī)技術(shù)》和《Basic編程語(yǔ)言》。
第一份工作 - 電氣設(shè)計(jì)工程師
在大學(xué)期間,我還完成了人生很重要的一件事 — 找好了現(xiàn)在的妻子。由于她是浙江人,所以畢業(yè)時(shí)工作地點(diǎn)毫不猶豫地選擇了杭州。那時(shí)很多同學(xué)的工作還是包分配的,而我來(lái)到了杭州的人才市場(chǎng)進(jìn)行雙向選擇,那時(shí)找一份工作還是相對(duì)輕松的(注:我們大學(xué)錄取那年的招生人數(shù)是90多萬(wàn)),投出一份簡(jiǎn)歷就找好了工作。第一個(gè)工作單位是一家不到100人、地處杭州花港觀魚(yú)對(duì)面(三臺(tái)山)的電力設(shè)備制造民企。
盡管選擇去這家民企后立馬到公司去做了實(shí)地調(diào)查,但由于沒(méi)有社會(huì)經(jīng)驗(yàn),加上被問(wèn)的人沒(méi)如實(shí)反應(yīng),所以進(jìn)入這家民企后所了解的情況讓人大跌眼鏡。另外也了解到單位會(huì)通過(guò)一些不入流的做法控制我們的戶口,不讓我們跳槽(那會(huì)兒的戶口還是相當(dāng)重要的,結(jié)婚要戶口證明,有同事就因?yàn)閼艨诒豢刂贫怯洸涣耍6覀冊(cè)谶M(jìn)入這家單位時(shí)簽訂了六年的勞動(dòng)合同。在這樣的小企業(yè)干上六年意味著什么?!當(dāng)時(shí)與家人打電話告知這一狀況時(shí),我都哭出來(lái)了(就在現(xiàn)在楊公堤與虎跑路交叉的、現(xiàn)早已不存在的一個(gè)電話亭里,記憶猶新呀!)。
盡管前途是那樣的渺茫,但帶有“優(yōu)秀畢業(yè)生光環(huán)”的我仍堅(jiān)信自己能做得比別人更好,因?yàn)橛形业模?/p>
我的職場(chǎng)第二感悟:自信能讓你與眾不同,盡管有時(shí)的自信有點(diǎn)莫名其妙。
在這個(gè)企業(yè)一開(kāi)始的工作職責(zé)是電站設(shè)備的電氣設(shè)計(jì)工程師,需要AutoCAD(到單位后學(xué)的)設(shè)計(jì)電氣圖紙,并指導(dǎo)工人最終完成電氣設(shè)備裝配及調(diào)試。
期間,企業(yè)經(jīng)營(yíng)范圍擴(kuò)大,需要從事電子設(shè)備的生產(chǎn),因此我開(kāi)始有機(jī)會(huì)接觸電子技術(shù)方面的設(shè)計(jì)工作。
在兄弟單位一同事的幫助下,在一個(gè)星期內(nèi)我掌握了如何用Tango(后來(lái)更名為Protel,現(xiàn)在的名稱是Altium Designer)進(jìn)行原理圖和PCB線路板設(shè)計(jì)。
而且,這一個(gè)星期的設(shè)計(jì)結(jié)果最終成為了電氣產(chǎn)品的一個(gè)部件。對(duì)于一個(gè)畢業(yè)不到一年的我來(lái)說(shuō),這是不小的進(jìn)步。那時(shí)知道了什么是網(wǎng)絡(luò)表、過(guò)孔、焊盤等,掌握了很多電子原件的工作原理(有的還自己用面包板做實(shí)驗(yàn)),明白了做電路板的大致業(yè)務(wù)流程,還能動(dòng)手焊接電路板,熟練運(yùn)用示波器和萬(wàn)用表進(jìn)行調(diào)試。
那段時(shí)間,我對(duì)電子技術(shù)的興趣幫上了大忙,學(xué)習(xí)起來(lái)遠(yuǎn)比別人快。當(dāng)我精通電路原理,能自如運(yùn)用示波器和萬(wàn)用表調(diào)試電子產(chǎn)品時(shí),別人卻還不明白我的調(diào)試動(dòng)機(jī)。
我的職場(chǎng)第三感悟:興趣是學(xué)習(xí)效率的催化劑,培養(yǎng)自己的職業(yè)興趣。
第一次真正對(duì)編程感興趣是從知道PLC(Programming Logic Controller)開(kāi)始的。當(dāng)時(shí)的電站設(shè)備采用了三菱的PLC,為了配合這一電氣產(chǎn)品的需要,企業(yè)社招了一名懂PLC編程的工程師。
由于老板擔(dān)心我們相互學(xué)技術(shù)而“翅膀變硬”,所以明確提出工程師所掌握的技能不能互通有無(wú)。
當(dāng)時(shí)看到這位兄弟能通過(guò)“梯形圖”改變PLC的行為,真是覺(jué)得他太神氣了,仰慕不已。后來(lái)通過(guò)這位兄弟的私下幫助(哥們呀!),我晚上偷偷地在廠房里面學(xué)習(xí)PLC編程。
為了獲得良好的學(xué)習(xí)效果,我設(shè)定了對(duì)電氣產(chǎn)品的PLC程序進(jìn)行重寫的目標(biāo),且最終達(dá)成了這一目標(biāo)(當(dāng)然,由于這個(gè)目標(biāo)不能讓老板知道,所以我的PLC程序不能用于商用)。
我的職場(chǎng)第四感悟:學(xué)習(xí)應(yīng)給自己設(shè)置虛擬的項(xiàng)目目標(biāo),以做項(xiàng)目的形式提升學(xué)習(xí)效果,只有這樣學(xué)到的內(nèi)容才會(huì)深入而實(shí)用,切忌無(wú)目標(biāo)地學(xué)到哪算哪。
從電氣產(chǎn)品的技術(shù)負(fù)責(zé)人到軟件工程師
一年多的功夫,我成為了某電氣產(chǎn)品的技術(shù)負(fù)責(zé)人,對(duì)整個(gè)產(chǎn)品的所有技術(shù)細(xì)節(jié)都了如指掌,我?guī)ьI(lǐng)了其他幾個(gè)工程師實(shí)現(xiàn)了該產(chǎn)品的“自主研發(fā)”。
有趣的一件事是,老板當(dāng)時(shí)并不知道我已經(jīng)“翅膀硬了”,想抵賴答應(yīng)過(guò)的8000元項(xiàng)目獎(jiǎng)金,年輕氣盛的我在與之拍完桌子之后對(duì)其他工程師下令:“沒(méi)有我的允許,誰(shuí)也不能將電氣圖紙和電路原理圖用于生產(chǎn)”(因?yàn)槟杲?jīng),所以二!)。對(duì)抗的結(jié)果以老板兌現(xiàn)承諾而告終。
我的職場(chǎng)第五感悟:話語(yǔ)權(quán)首先來(lái)自能力,而不是職位權(quán)力。
我那時(shí)還學(xué)會(huì)了CRC算法并將之運(yùn)用于PLC的串口通訊中,但對(duì)于計(jì)算機(jī)如何通過(guò)串口與PLC通訊獲得采集數(shù)據(jù)存在很大的好奇心。
于是想到了學(xué)習(xí)編程語(yǔ)言,并計(jì)劃做一個(gè)能在計(jì)算機(jī)上實(shí)時(shí)顯示PLC所采集數(shù)據(jù)的軟件。
在向PLC編程的兄弟表達(dá)了這一想法后,他給我的建議是:學(xué)習(xí)C語(yǔ)言比較難,Basic語(yǔ)言則更容易。于是,我毫不猶豫地選擇了自學(xué)C語(yǔ)言,因?yàn)槲疑钚牛?/p>
我的職場(chǎng)第六感悟:難學(xué)的技能一旦掌握更具競(jìng)爭(zhēng)優(yōu)勢(shì)。
也正是從那時(shí)開(kāi)始,我真正開(kāi)始了成為軟件工程師的自學(xué)旅程。那時(shí)比較幸運(yùn)的是,單位專為我配備了工作電腦,所以具備了自學(xué)的硬件條件。
由于那時(shí)Internet還不普及,學(xué)習(xí)書籍都來(lái)自浙江大學(xué)的科海書店(后來(lái)眼見(jiàn)著它的店面越來(lái)越小,這也是進(jìn)入電子商務(wù)時(shí)代的一個(gè)縮影),那時(shí)隔三叉五地到科海去找書,生活最大的花費(fèi)就在于購(gòu)書(那時(shí)這方面的書不少是質(zhì)次價(jià)高)。
當(dāng)然,學(xué)習(xí)的過(guò)程或多或少還得瞞著老板。那段時(shí)間,別人午休我就編程,除了看書和做書后的習(xí)題,還一直朝實(shí)現(xiàn)自己的計(jì)算機(jī)監(jiān)控軟件這個(gè)目標(biāo)邁進(jìn)(參見(jiàn)我的職場(chǎng)第四感悟)。
終于有一天,我用Turbo C在DOS環(huán)境下實(shí)現(xiàn)了具有串口通訊功能的、基于圖形界面的監(jiān)控軟件(如果你用現(xiàn)在的眼光看那個(gè)軟件,一定會(huì)說(shuō)“很土”)。
當(dāng)我樂(lè)此不疲地向他人演示時(shí),你可以想象我那時(shí)有多高興和自豪!這種小小的成功助長(zhǎng)了我的信心,也讓我感受到了:
我的職場(chǎng)第七感悟:用階段性成果不斷增強(qiáng)自己的自信,且最終支持自信的是能力,而不是自大。
嘗到了成功甜頭的我隨后拓展了自己就軟件開(kāi)發(fā)方面的學(xué)習(xí)內(nèi)容。那時(shí)的我已經(jīng)下定決心要向軟件開(kāi)發(fā)方向發(fā)展,這種選擇是因?yàn)椋?/p>
我的職場(chǎng)第八感悟:做自己喜歡的事,如果那是自己的興趣最好。
我的第一份專職軟件工程師工作
1999年的某月,在企業(yè)拖欠了一個(gè)月工資的情形下,“蓄謀”逃離企業(yè)束縛的我們(共19個(gè)工程師)經(jīng)過(guò)幾個(gè)月的勞動(dòng)仲裁后,與企業(yè)解除了勞動(dòng)合同。
在離開(kāi)這家民企的第二天,1999年11月的某天,我在浙江大立機(jī)電技術(shù)開(kāi)發(fā)公司(即現(xiàn)在的大立科技。后面都簡(jiǎn)稱為大立公司)找到了第一份專職的軟件開(kāi)發(fā)工作。我逃離束縛后能很快地找到新的支點(diǎn),完全得感謝我的:
我的職場(chǎng)第九感悟:不論身處多么困難的環(huán)境,即使覺(jué)得前途渺茫,也不要放棄學(xué)習(xí),否則就是“自斷筋脈”。
在大立公司所參與的第一個(gè)軟件項(xiàng)目,是使用Visual C++從事Windows某變電站圖像監(jiān)控桌面軟件的開(kāi)發(fā)。
盡管我之前自學(xué)過(guò)C++語(yǔ)言,但那時(shí)并未完全掌握面向?qū)ο缶幊蹋绕涫瞧渲械亩鄳B(tài)。
我在該桌面軟件中借鑒微軟的示例軟件DrawCli,獨(dú)立地實(shí)現(xiàn)了電子地圖功能。
正是通過(guò)掌握這個(gè)示例軟件的設(shè)計(jì)與實(shí)現(xiàn),我真正領(lǐng)悟到了面向?qū)ο笤O(shè)計(jì)的好處。
也通過(guò)該圖像監(jiān)控桌面軟件的開(kāi)發(fā)經(jīng)歷,掌握了Windows VxD驅(qū)動(dòng)開(kāi)發(fā)、Socket通訊、多線程編程、圖像處理(銳化、偽彩處理、圖像字符識(shí)別和圖像對(duì)比等)、ODBC數(shù)據(jù)庫(kù)編程(用的是SQL Server)等。
這里要插一個(gè)與我妻子相關(guān)的小故事。她是我大學(xué)的同班同學(xué),畢業(yè)以后進(jìn)了諸暨供電局從事農(nóng)網(wǎng)預(yù)算工作。
我在第一家民企工作時(shí),時(shí)常往返于兩地,有時(shí)覺(jué)得很是辛苦。另外,妻子在供電局安逸的工作環(huán)境下,時(shí)常會(huì)開(kāi)玩笑說(shuō)老了要是下崗了都不知能干什么。
在我進(jìn)入大立公司不到一年的時(shí)間里,我向公司提出了可否讓她到公司來(lái)從事軟件開(kāi)發(fā)工作。
當(dāng)時(shí)在我妻子沒(méi)有任何面試和編程經(jīng)驗(yàn)(她當(dāng)時(shí)只自學(xué)了譚浩強(qiáng)老師的《C程序設(shè)計(jì)》和一本C++的書,忘記書名了)的情況下,公司讓她過(guò)來(lái)了,我想這是緣于公司對(duì)我的器重(這里要謝謝龐總和章總兩位老總!)。
自然,我成了妻子學(xué)習(xí)編程的老師。我的岳父岳母當(dāng)時(shí)對(duì)于妻子放棄供電局的工作盡管不舍,但還是尊重了我們的想法,謝謝他們的開(kāi)明。支持我們做出這一決定,除了為了解決兩地分居問(wèn)題,還有:
我的職場(chǎng)第十感悟:長(zhǎng)期安逸的工作意味著將來(lái)更大的風(fēng)險(xiǎn)。
我在大立公司的職業(yè)機(jī)遇
在妻子進(jìn)入大立公司不久,由我擔(dān)綱了新版圖像監(jiān)控軟件的重新開(kāi)發(fā),這是我第一次擔(dān)任軟件項(xiàng)目負(fù)責(zé)人。
在這個(gè)項(xiàng)目上,我可以從技術(shù)層面盡情發(fā)揮,將我在老版本軟件上所看到的設(shè)計(jì)不足完全克服。
也正是通過(guò)這個(gè)軟件項(xiàng)目,我的面向?qū)ο缶幊棠芰τ辛撕艽蟮奶岣撸彝暾刈鲞^(guò)了一個(gè)軟件產(chǎn)品。
用我現(xiàn)在的眼光來(lái)看:那時(shí)的開(kāi)發(fā)工作除了引入了版本控制軟件外,是不折不扣的作坊式軟件開(kāi)發(fā);至于管理技能的提高,也可以說(shuō)是微乎其微。
2000年底,大立公司因?yàn)闃I(yè)務(wù)拓展的需要,需開(kāi)發(fā)嵌入式圖像監(jiān)控系統(tǒng)(系統(tǒng)中的前端產(chǎn)品是后來(lái)數(shù)字硬盤錄象機(jī)的前身)。
為此,公司社招了一位比我年長(zhǎng)十歲的資深硬件開(kāi)發(fā)工程師,他在進(jìn)公司時(shí)已經(jīng)有基于AMD的Elan SC520 x86嵌入式微控制器的硬件開(kāi)發(fā)經(jīng)驗(yàn)。他在進(jìn)公司之初與章總交談時(shí)指出:“做這類嵌入式產(chǎn)品,需要軟件功底非常強(qiáng)的人”,章總的回答是:“你放心好了,我一定找一個(gè)最好的人與你搭檔”(章總后來(lái)告訴我的)。
是的,所找的那個(gè)人就是我!而其實(shí)那時(shí)我只有用Visual C++從事Windows桌面軟件的開(kāi)發(fā)經(jīng)驗(yàn),可見(jiàn)公司領(lǐng)導(dǎo)對(duì)我能力之信任!
我的職場(chǎng)第十一感悟:機(jī)遇很重要,但你得有能力才能抓住它。
我當(dāng)時(shí)所面臨的技術(shù)挑戰(zhàn),讀者可以想象。要知道,在2000年時(shí)基于x86微控制器的嵌入式系統(tǒng)的開(kāi)發(fā)人員國(guó)內(nèi)還很少。
我的自學(xué)能力、電子愛(ài)好的興趣在這種挑戰(zhàn)面前又幫了大忙。
其實(shí),做嵌入式系統(tǒng)開(kāi)發(fā)最主要的是參考各種資料以便掌握各類技術(shù)細(xì)節(jié),這得通過(guò)大量地閱讀芯片手冊(cè)、用戶手冊(cè),以及研究AMD在其官網(wǎng)上所提供的示例程序。
在這個(gè)過(guò)程中,就技術(shù)困惑堅(jiān)持探究和養(yǎng)成各種好的工作習(xí)慣(思考習(xí)慣、筆記習(xí)慣、總結(jié)習(xí)慣、閱讀習(xí)慣)非常重要。
我的職場(chǎng)第十二感悟:職場(chǎng)首先比拼的不是智商,而是堅(jiān)持與好習(xí)慣。
我獨(dú)自完成了該嵌入式前端產(chǎn)品上的軟件開(kāi)發(fā)工作。
其中包含的大致技術(shù)內(nèi)容有:從編程的角度精通x86處理器架構(gòu); PCI、IDE硬盤、網(wǎng)卡、串口、閃存等總線或外設(shè)的驅(qū)動(dòng);
實(shí)時(shí)操作系統(tǒng)內(nèi)核的移植工作;MINUX操作系統(tǒng)的文件系統(tǒng)的移植; XINU操作系統(tǒng)的TCP/IP協(xié)議棧的移植工作。
移植工作往往會(huì)碰到各種技術(shù)細(xì)節(jié)問(wèn)題,等移植工作完成,對(duì)被移植模塊的實(shí)現(xiàn)和背后的原理也已了如指掌。
正應(yīng)如此,這一時(shí)期的工作讓我對(duì)操作系統(tǒng)的實(shí)現(xiàn)原理有了很深的理解。
除了軟件方面的進(jìn)步,我在大立公司時(shí)的硬件知識(shí)也得到了很強(qiáng)擴(kuò)充。不僅能輕松地閱讀數(shù)字電路原理圖,還自學(xué)了VHDL語(yǔ)言,使得拿到邏輯器件CPLD的VHDL程序就能調(diào)試軟件(通過(guò)VHDL程序,可以了解編程所需的譯碼端口、相關(guān)信號(hào)的操作時(shí)序等)。
還學(xué)會(huì)了如何使用邏輯分析儀輔助軟件調(diào)試工作。前面提到的這位兄長(zhǎng)式硬件工程師調(diào)侃我說(shuō):“你讓我看到了中國(guó)軟件的希望!”,而我將這話當(dāng)成了對(duì)自己的鼓勵(lì)。
另外,這期間還考入了浙江大學(xué)專升本的通訊工程專業(yè),給自己充電(2001年入學(xué),2004年畢業(yè),獲多學(xué)期“優(yōu)秀學(xué)生”和“優(yōu)秀畢業(yè)設(shè)計(jì)”)。
入職 UTSarcom
由于大立公司是浙江省測(cè)試技術(shù)研究所的子公司,它或多或少帶有事業(yè)單位的氣息。加上公司的技術(shù)舞臺(tái)有限,以及妻子也在同一家公司工作,我于2003年4月份左右離開(kāi)了大立公司。
在我離開(kāi)之前,浙江省科委已批復(fù)了公司的申請(qǐng),分配給我一套福利房。在我離開(kāi)之時(shí),房子仍在建,不少同事對(duì)于我的離職很是不解,也勸我拿到房再走。但我有:
我的職場(chǎng)第十三感悟:當(dāng)短期利益與長(zhǎng)遠(yuǎn)利益無(wú)法得兼時(shí),選擇長(zhǎng)遠(yuǎn)利益。
在大立公司工作期間,很希望自己能入職UTStarcom這樣的通訊企業(yè)(那時(shí)的UTStarcom是多么地輝煌!)。
計(jì)劃離開(kāi)大立公司之際,我向UTStarcom提交了求職簡(jiǎn)歷。這次求職開(kāi)始好像很順利,但到我真正入職UTStarcom的過(guò)程卻很是曲折。
一開(kāi)始當(dāng)我收到UTStartcom的面試通知時(shí),可能太希望能進(jìn)入這個(gè)公司了,在沒(méi)有很深入了解這個(gè)崗位的前提下,就去面試了,且馬上拿到了Offer。
但后來(lái)才了解到,我拿到的是生產(chǎn)部測(cè)試開(kāi)發(fā)崗位,與實(shí)際研發(fā)部門是有區(qū)別的。
當(dāng)時(shí)很糾結(jié) — 這是我想進(jìn)的公司,但卻不是我想要的崗位。如果拒絕生產(chǎn)部的Offer,我很有可能與UTStarcom無(wú)緣。
考慮再三,我還是選擇了拒絕(參見(jiàn)我的職場(chǎng)第十三感悟)。并重新向研發(fā)部門投了簡(jiǎn)歷。
經(jīng)過(guò)度日如年的一個(gè)多月等待(那會(huì)兒剛好發(fā)生了SARS疫情),在覺(jué)得入職UTStarcom研發(fā)部門無(wú)望的情況下,我入職了另外一家小公司。
令人意外的是,在入職那家公司的第二天,我收到了UTStarcom研發(fā)部門的面試通知。在HR面試的那一輪中,HR對(duì)我說(shuō),“你是我所面試的人中最有工作激情的”。
那時(shí)的技術(shù)面試官中,其中一位是我日后入職后的上司 — 夏青,他是我的伯樂(lè)。
由于我的學(xué)歷問(wèn)題,在技術(shù)面試通過(guò)后,別人只要一位VP面試通過(guò)就行,我卻需要兩位。
我的職場(chǎng)第十四感悟:學(xué)歷是很重要的敲門磚,即便你的能力很強(qiáng);學(xué)歷盡管很重要,但能力才是最終的通行證。
2003年6月份左右,我正式入職UTStarcom研發(fā)部,從事小靈通基站控制器(后面簡(jiǎn)稱為基站控制器)的軟件開(kāi)發(fā)工作,也從此踏入通訊行業(yè)。
入職之初,由于自認(rèn)為對(duì)于操作系統(tǒng)的原理很精通,又完整地做過(guò)軟件項(xiàng)目,有點(diǎn)飄飄然,覺(jué)得自己是個(gè)“小牛牛”。
然而,入職后一接觸工作就發(fā)現(xiàn),內(nèi)容沒(méi)有想象的那么簡(jiǎn)單!
首先,基站控制器的軟件規(guī)模比我以前主導(dǎo)開(kāi)發(fā)的項(xiàng)目要大很多,而且需要熟悉通訊行業(yè)的相關(guān)信令。
其次,盡管我那時(shí)精通x86處理器,基站控制器用的卻是PowerPC 8250,這意味著我得重新掌握它。再次,實(shí)時(shí)操作系統(tǒng)用的是前美國(guó)軍方的、開(kāi)源的RTEMS,那是我第一次接觸。
最后,UTStarcom的工作語(yǔ)言是英語(yǔ),寫文檔和郵件都得用英語(yǔ)。盡管我那時(shí)能無(wú)障礙地閱讀MSDN和各類芯片手冊(cè),但要著手寫,卻是一大挑戰(zhàn)(口語(yǔ)不作要求,因?yàn)椴恍柚苯咏佑|老外)。
一入職所分配的工作是網(wǎng)元網(wǎng)管部分告警抑制軟件模塊的開(kāi)發(fā)。
盡管PowerPC處理器和RTEMS操作系統(tǒng)技術(shù)細(xì)節(jié)的掌握與否并不影響日常開(kāi)發(fā)工作,但我仍將掌握它們作為自己的努力目標(biāo),因?yàn)椋?/p>
我的職場(chǎng)第十五感悟:技術(shù)細(xì)節(jié)掌握得越深,解決問(wèn)題時(shí)就越能游刃有余。
那時(shí)工作時(shí)間應(yīng)付日常開(kāi)發(fā)工作,業(yè)余時(shí)間則先將精力集中放在熟讀PowerPC 8250處理器相關(guān)的技術(shù)手冊(cè)上(晚上還得上夜大)。加起來(lái)超過(guò)2000頁(yè)的英文資料,我讀了不少于3遍。
隨著時(shí)間的推移,當(dāng)我對(duì)PowerPC 8250處理器很有感覺(jué)之后,我將工作重點(diǎn)轉(zhuǎn)移到了熟悉RTEMS操作系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)上。
先處理器后操作系統(tǒng)的學(xué)習(xí)安排,是基于我以往在x86處理器上的工作經(jīng)驗(yàn)而得出的,也是因?yàn)椋?/p>
我的職場(chǎng)第十六感悟:技能的發(fā)展應(yīng)采取深度先于廣度且交替進(jìn)行的方式,只有這樣,面對(duì)大量的新知識(shí)才能更淡定。
RTEMS是一個(gè)類UNIX的實(shí)時(shí)操作系統(tǒng),也正因?yàn)榻佑|這個(gè)操作系統(tǒng)我才意識(shí)到了自己在軟件設(shè)計(jì)能力上存在很大的提升空間。
盡管我對(duì)操作系統(tǒng)的實(shí)現(xiàn)原理胸有成竹,但卻無(wú)力于構(gòu)建一個(gè)象RTEMS那樣優(yōu)雅的操作系統(tǒng),也真切地體會(huì)到了RTEMS的設(shè)計(jì)之美。
那時(shí)基站控制器上運(yùn)行的RTEMS操作系統(tǒng)是由美國(guó)的新澤西研發(fā)中心移植好的,杭州研發(fā)中心只需在之上做應(yīng)用開(kāi)發(fā)。
為了就RTEMS操作系統(tǒng)獲得更好的學(xué)習(xí)效果,我又一次運(yùn)用了我的職場(chǎng)第四感悟,設(shè)定了自己完成RTEMS新版本移植這一目標(biāo)。
RTEMS新版本的移植工作雖不在公司的日常工作范圍內(nèi),但卻得到了上司的支持。
由于那時(shí)RTEMS還在開(kāi)發(fā)新的功能,并不是很穩(wěn)定,在移植過(guò)程中碰到各種奇怪的問(wèn)題,有些問(wèn)題還與GNU的binutils工具集有關(guān)(binutils中包括nm、ld、objdump等工具。RTEMS是用GCC編譯的)。
在無(wú)法確認(rèn)是GNU工具集的問(wèn)題之前,我甚至還向Wind River公司(其知名產(chǎn)品是VxWorks實(shí)時(shí)操作系統(tǒng))尋求過(guò)幫助,因?yàn)槟菚r(shí)用的是它的JTAG仿真器。
移植工作雖曲折,但最終還是成功了(我所移植的版本并沒(méi)有運(yùn)用到產(chǎn)品中,后來(lái)的同事又做過(guò)了RTEMS4.6.0pre4的移植,且運(yùn)用于產(chǎn)品中)。
這一移植經(jīng)歷,讓我對(duì)GNU的binutils、RTEMS操作系統(tǒng)的實(shí)現(xiàn)有了更為深入地掌握。
在UTStarcom工作的前期,我大多從事的是RTEMS操作系統(tǒng)相關(guān)的代碼維護(hù)工作,工作內(nèi)容除了OS內(nèi)核,還包括FTP、Telnet等協(xié)議。直到中期轉(zhuǎn)為做E-Box產(chǎn)品的互聯(lián)網(wǎng)接入模塊的開(kāi)發(fā)工作。
E-Box是一個(gè)企業(yè)級(jí)電話交換產(chǎn)品,其中還存在一塊基于ADSL的互聯(lián)網(wǎng)接入數(shù)據(jù)板(與現(xiàn)在的ADSL貓功能一樣),用于實(shí)現(xiàn)企業(yè)網(wǎng)對(duì)互聯(lián)網(wǎng)的數(shù)據(jù)接入功能,這一數(shù)據(jù)板使用的是VxWorks5.5.0實(shí)時(shí)操作系統(tǒng)(PNE 2.0),處理器是Intel的XScale IXP425。那時(shí)VxWorks的IP協(xié)議棧還是基于BSD的,但Wind River對(duì)之做了一定增強(qiáng)。
這段時(shí)期我的工作重點(diǎn)全在IP協(xié)議棧上(《TCP/IP詳解》這套書幫上了大忙)。
這一時(shí)期的開(kāi)發(fā)經(jīng)歷,讓我對(duì)PNE的Bridge、FastPath、MUX、PPPoE協(xié)議、Radix路由算法和VLAN協(xié)議很熟悉,也學(xué)會(huì)了用SmartBit儀器和Chariot軟件做網(wǎng)絡(luò)性能測(cè)試。總之,讓我對(duì)IP(v4)協(xié)議棧方面的知識(shí)和軟件實(shí)現(xiàn)有了長(zhǎng)足的進(jìn)步。
E-Box產(chǎn)品數(shù)據(jù)板上的開(kāi)發(fā)工作進(jìn)行了半年后,管理層決定放棄,于是我被調(diào)到了E-Box產(chǎn)品的軟件平臺(tái)組。
那時(shí)平臺(tái)組剛好面臨一個(gè)比較麻煩的問(wèn)題 — 在命令行上運(yùn)行reboot命令后,有時(shí)會(huì)出現(xiàn)整個(gè)系統(tǒng)掛起,而不是期望的重啟。平臺(tái)組的同事花了一個(gè)多星期的時(shí)間仍沒(méi)有解決這一問(wèn)題。
進(jìn)入平臺(tái)組之際,同樣是在沒(méi)有任何人安排的情況下,我自己主動(dòng)承擔(dān)解決reboot命令功能異常的工作。在我的職業(yè)生涯中,我一直熱衷于去解決別人難以解決的技術(shù)問(wèn)題,因?yàn)椋?/p>
我的職場(chǎng)第十七感悟:越難的技術(shù)問(wèn)題,其所蘊(yùn)藏的知識(shí)越豐富,也越具學(xué)習(xí)價(jià)值。
經(jīng)過(guò)一天半的時(shí)間,問(wèn)題被解決了。其根源在于,reboot之前沒(méi)有禁用CPM協(xié)處理器。
我能那么快地解決這一問(wèn)題,完全是因?yàn)橹笆熳x過(guò)PowerPC 8250處理器的資料。
我在UTStarcom工作的后期,致力于ACE在E-Box產(chǎn)品中的一些應(yīng)用,借助ACE的網(wǎng)絡(luò)通信功能幫助實(shí)現(xiàn)在Windows平臺(tái)上通過(guò)Visual Studio調(diào)試E-Box產(chǎn)品。
我在《專業(yè)嵌入式軟件開(kāi)發(fā)》一書的《可開(kāi)發(fā)性設(shè)計(jì),一種高效且經(jīng)濟(jì)的開(kāi)發(fā)模式》一章中所闡述的內(nèi)容其實(shí)就是這一工作經(jīng)歷的總結(jié)與延伸。
另外,我還在E-Box產(chǎn)品上做過(guò)難度比較大的一個(gè)特性是,利用PowerPC 8250的MMU功能在VxWorks操作系統(tǒng)上實(shí)現(xiàn)了對(duì)任務(wù)棧的保護(hù) — 當(dāng)一個(gè)任務(wù)被調(diào)度而處于運(yùn)行狀態(tài)時(shí),它的棧就處于可讀寫狀態(tài),而其他任務(wù)的棧全處于只讀狀態(tài)(VxWorks5.5.0內(nèi)核中,還沒(méi)有RealTime Process的概念,這一概念是從6.0開(kāi)始有的,所以那時(shí)我所做的這一特性很具實(shí)用性)。
通過(guò)這一特性,可以有效地防止任務(wù)棧被意外篡改(比如野指針操作),即便出現(xiàn)篡改也能盡早發(fā)現(xiàn)根源。
這個(gè)功能的實(shí)現(xiàn)過(guò)程需要調(diào)試VxWorks內(nèi)核,那時(shí)VxWorks的源碼雖對(duì)公司提供,但Wind River公司對(duì)所提供的GNU的binutils做了特殊處理,使得無(wú)法為內(nèi)核代碼生成調(diào)試所需的信息,結(jié)果是無(wú)法對(duì)內(nèi)核進(jìn)行源碼級(jí)程序調(diào)試。
由于我之前的RTEMS操作系統(tǒng)移植經(jīng)歷讓我對(duì)binutils非常熟悉,通過(guò)使用一定的方法(說(shuō)來(lái)話長(zhǎng)了)繞過(guò)了Wind River公司所設(shè)置的障礙,成功地實(shí)現(xiàn)了對(duì)VxWorks的源碼級(jí)程序調(diào)試。
在職場(chǎng)中,我不時(shí)能成功解決復(fù)雜問(wèn)題和克服技術(shù)障礙。
我的職場(chǎng)第十八感悟:每次積累的點(diǎn)滴知識(shí),一定會(huì)在將來(lái)不知不覺(jué)地發(fā)揮效能。
短暫停留的杭州華數(shù)-雷科通
2006年4月份左右,我離開(kāi)了UTStarcom。
在UTStarcom所學(xué)到的,不只是前面所介紹的那些技術(shù)知識(shí),更讓我知道了軟件開(kāi)發(fā)的“正規(guī)軍”是怎樣的,與小公司相比,UTStarcom的軟件開(kāi)發(fā)流程要正規(guī)得多;
也經(jīng)歷了英文寫作的“擠牙膏”時(shí)期過(guò)渡到輕松時(shí)期(好友周海東在我的英語(yǔ)學(xué)習(xí)中幫了不少忙);
看到了好友于善成如何通過(guò)大量閱讀成為一個(gè)知識(shí)淵博的人(他的閱讀量現(xiàn)在仍是我的學(xué)習(xí)榜樣);
還有上司夏青的技術(shù)敏感度到現(xiàn)在仍讓我為之稱道,是我職場(chǎng)至今所見(jiàn)過(guò)的二位具有良好技術(shù)敏感度的技術(shù)管理者之一(另一位是我在Motorola工作期間認(rèn)識(shí)的,后面會(huì)談到他);
團(tuán)隊(duì)實(shí)力之強(qiáng)使得開(kāi)發(fā)出的E-Box產(chǎn)品在我離開(kāi)UTStarcom后不時(shí)能聽(tīng)到正面的評(píng)價(jià)。
對(duì)了,我在大立公司工作時(shí)期,就很注重軟件設(shè)計(jì)文檔的編寫,而且在我離開(kāi)之時(shí),不僅完善了所有文檔,還為后繼同事做了全面的培訓(xùn)。我始終堅(jiān)守:
我的職場(chǎng)第十九感悟:通過(guò)文檔化的方式傳承知識(shí)給后繼者是你的基本責(zé)任,因?yàn)槟阕鳛楹罄^者時(shí)也希望如此,這也是對(duì)自己負(fù)責(zé)的一種表現(xiàn)。
在UTStarcom工作期間,我進(jìn)一步形成了將自己的技術(shù)想法寫成文章與大家分享的習(xí)慣(那時(shí)同事賀旭東稱我為“作家”,而我則稱他為“點(diǎn)評(píng)家),也因?yàn)樽约涸谇度胧杰浖_(kāi)發(fā)技術(shù)上的長(zhǎng)期點(diǎn)滴積累,開(kāi)始有了寫書的想法。
離開(kāi)UTStarcom后,我入職了杭州華數(shù)集團(tuán)旗下的雷科通技術(shù)(杭州)有限公司。
公司當(dāng)時(shí)的意向是安排我負(fù)責(zé)某寬帶接入產(chǎn)品的軟件開(kāi)發(fā)工作。在這個(gè)公司,盡管只有兩個(gè)月的時(shí)間但也做了些事。
除了一個(gè)月內(nèi)完成了寬帶接入產(chǎn)品以太網(wǎng)交換芯片在VxWorks操作系統(tǒng)上的驅(qū)動(dòng)開(kāi)發(fā),并使得產(chǎn)品支持VLAN功能外,還解決了好幾個(gè)影響整個(gè)產(chǎn)品系統(tǒng)穩(wěn)定性的嚴(yán)重遺留缺陷。
這兩個(gè)月的工作不光讓我在技術(shù)團(tuán)隊(duì)中很快地樹(shù)立了自己的威望,也使得公司高層管理者真切地看到了我的能力而在我提出離開(kāi)時(shí)極力地挽留。
這短暫兩個(gè)月的工作經(jīng)歷帶給:
我職場(chǎng)第二十感悟:別人對(duì)你價(jià)值的認(rèn)可,其實(shí)不是簡(jiǎn)單地根據(jù)你的自身能力,而是根據(jù)你對(duì)他人和團(tuán)隊(duì)的貢獻(xiàn)。
加入 Motorola
入職2006年初在杭州成立的Motorola研發(fā)中心的故事得從面試開(kāi)始。在入職雷科通不久,我收到了獵頭的電話,雖然那時(shí)并沒(méi)有換工作的想法,但也沒(méi)有拒絕獵頭投簡(jiǎn)歷。隨后我收到了Motorola的面試電話。
那次面試過(guò)程記得很清楚,因?yàn)槟鞘俏宜?jīng)歷的第一次英語(yǔ)口語(yǔ)技術(shù)面試。雖然工作中從沒(méi)有鍛煉過(guò)英語(yǔ)口語(yǔ),好在對(duì)于自己做過(guò)的技術(shù)知識(shí)很熟悉,也經(jīng)常需要查閱英文資料,所以對(duì)于所做過(guò)的內(nèi)容還能用英語(yǔ)勉強(qiáng)解釋清楚。
在面試的最后,我對(duì)印裔技術(shù)面試官說(shuō),“現(xiàn)在我的英語(yǔ)口語(yǔ)不好,但我相信只要有合適的環(huán)境,能很快地提高”。印裔技術(shù)面試官最后將我領(lǐng)到HR那,說(shuō)了一聲“Yes” — 我的技術(shù)面試通過(guò)了!
面試結(jié)束的第二天,收到了Motorola HR的電話,告知Offer的相關(guān)信息(我的入職級(jí)別是E09,E09及以上的人在整個(gè)Motorola杭州研發(fā)中心占比大約為10%)。
那時(shí)由于并沒(méi)有換工作的想法,所以拒絕了Offer。想法很簡(jiǎn)單,因?yàn)樵赨TStarcom這樣的公司呆過(guò)了,所以對(duì)外企的工作并不是很向往,反而認(rèn)為在雷科通這種小公司更能施展。
在我拒絕了Motorola的Offer后,我將這件事告訴了身邊的同事,他們的反饋幾乎都是“你應(yīng)當(dāng)去Motorola”。
幸運(yùn)的是,另一名HR再一次致電給我,試圖說(shuō)服我加入Motorola。她當(dāng)時(shí)說(shuō)“你一旦加入Motorola,以后離開(kāi)時(shí)所看到的就是HP或IBM這樣的大公司”,也正是這句話打動(dòng)了我。之后的經(jīng)歷證明,加入Motorola是很正確的一個(gè)選擇!
2006年7月6日,我正式入職Motorola杭州研發(fā)中心。加入的初期是大量的內(nèi)部培訓(xùn),培訓(xùn)內(nèi)容包括技術(shù)方面的、流程方面的和英語(yǔ)。
Motorola有著成熟的企業(yè)文化,通過(guò)培訓(xùn)可以讓工程師很快地融入企業(yè),使人行事象是Motorolan(摩托羅拉人)。
在經(jīng)歷了約半年的培訓(xùn)和學(xué)習(xí)后,2006年底,我開(kāi)始參與WiMAX產(chǎn)品線上的CLA中間件軟件項(xiàng)目。
盡管我在CLA項(xiàng)目上沒(méi)有具體的工作(比如,沒(méi)有缺陷修復(fù)工作會(huì)分配給我,也沒(méi)有新的特性開(kāi)發(fā)工作會(huì)掛在我的名下),但對(duì)整個(gè)團(tuán)隊(duì)所從事的技術(shù)工作都得負(fù)責(zé)。
我的日常工作主要是設(shè)計(jì)方案評(píng)審、代碼審查、幫助或帶領(lǐng)團(tuán)隊(duì)解決技術(shù)難題等。
在CLA項(xiàng)目上工作了一個(gè)月左右,2007年春節(jié)之后,我被第一位派到Motorola的芝加哥研發(fā)中心做為期二個(gè)月的現(xiàn)場(chǎng)技術(shù)支持。
之前盡管在公司有過(guò)英語(yǔ)培訓(xùn),但要很好地聽(tīng)與說(shuō)還是存在很大的障礙,加上芝加哥那邊一起工作的是口音較重的印度人和巴基斯坦人,挑戰(zhàn)可以想象。
在芝加哥研發(fā)中心除了做現(xiàn)場(chǎng)技術(shù)支持,還得為后續(xù)人員的到來(lái)做鋪墊。比如,租好房子、車子,準(zhǔn)備好生活所需的一些家當(dāng)(當(dāng)時(shí)因?yàn)轭A(yù)算有限,我們住的是公寓,還得自己燒飯)。
那段時(shí)間雖然因?yàn)檎Z(yǔ)言的問(wèn)題倍感壓力,但在全英文的環(huán)境中,我的聽(tīng)說(shuō)能力進(jìn)步也明顯。
之后差不多每年一次的出國(guó),見(jiàn)到以前認(rèn)識(shí)的外國(guó)同事,總會(huì)有人對(duì)我說(shuō)“Your English is getting better”。對(duì)于自認(rèn)為英語(yǔ)聽(tīng)說(shuō)能力不行的同仁,請(qǐng)記住:
我的職場(chǎng)第二十一感悟:英語(yǔ)的聽(tīng)說(shuō)能力只要有合適的環(huán)境,并勇于張嘴練習(xí)的情況下能快速地提高,不必?fù)?dān)心。
CLA軟件在技術(shù)上屬于運(yùn)行于Linux操作系統(tǒng)上的一個(gè)中間件,它存在多個(gè)進(jìn)程用于幫助通訊設(shè)備網(wǎng)元(包括WiMAX基站和接入網(wǎng)關(guān))實(shí)現(xiàn)網(wǎng)管功能。
由于軟件架構(gòu)的特點(diǎn),使得CLA團(tuán)隊(duì)不時(shí)會(huì)碰到由于其他團(tuán)隊(duì)沒(méi)有用好CLA而產(chǎn)生的技術(shù)問(wèn)題,這類問(wèn)題開(kāi)始大多難以定位是屬于CLA的、還是不屬于CLA的,因而查錯(cuò)過(guò)程很低效。
在CLA項(xiàng)目的后期,我希望通過(guò)引入新的軟件設(shè)計(jì)方案幫助團(tuán)隊(duì)提高軟件的查錯(cuò)能力,并改善軟件質(zhì)量。引入新設(shè)計(jì)需要增加很多代碼,如何讓管理層不擔(dān)心由此而引入更多的缺陷是我著力這事時(shí)首先要考慮和解決的問(wèn)題。
在這種背景下,我在CLA項(xiàng)目引入了單元測(cè)試,寄希望于通過(guò)單元測(cè)試提高新增代碼的質(zhì)量,以使管理層更具信心而獲得他們強(qiáng)有力的支持。
最終結(jié)果表明,在新增了近一萬(wàn)行代碼的情況下,代碼在最終發(fā)布后總共只發(fā)現(xiàn)了一個(gè)軟件缺陷。
這個(gè)項(xiàng)目上的工作經(jīng)歷讓我第一次真正嘗到了單元測(cè)試的甜頭,在《專業(yè)嵌入式軟件開(kāi)發(fā)》一書中,就單元測(cè)試方面的內(nèi)容很多源于我在這一項(xiàng)目上的成功經(jīng)驗(yàn)。
我在CLA上新增設(shè)計(jì)中的AED(Abnormal Exiting Detection)功能,在我離開(kāi)CLA項(xiàng)目之后,還幫助團(tuán)隊(duì)發(fā)現(xiàn)了很隱蔽的多線程問(wèn)題。
當(dāng)通過(guò)AED功能發(fā)現(xiàn)這一問(wèn)題的同事高興地跑過(guò)來(lái)對(duì)我說(shuō)這個(gè)功能管用時(shí),我的高興勁寫滿了整張臉。這個(gè)項(xiàng)目的經(jīng)歷,也讓我更加堅(jiān)信:
我的職場(chǎng)第二十二感悟:在軟件開(kāi)發(fā)活動(dòng)中,應(yīng)設(shè)法通過(guò)有效的技術(shù)途徑去解決工程困境。
軟件開(kāi)發(fā)架構(gòu)師 - 幫助團(tuán)隊(duì)成長(zhǎng)
2009年初,Motorola杭州研發(fā)中心迎來(lái)了一個(gè)重量級(jí)項(xiàng)目 — WiMAX產(chǎn)品線的接入網(wǎng)關(guān)ASN-GW,我被安排到該項(xiàng)目,角色是軟件開(kāi)發(fā)架構(gòu)師。
初期我的架構(gòu)師一職只是杭州研發(fā)中心單方面的角色安排,而非全球性的(當(dāng)時(shí)該產(chǎn)品由美國(guó)、印度和中國(guó)三個(gè)研發(fā)中心共同參與)。
在ASN-GW項(xiàng)目上與我一同共事的經(jīng)理,是曾在Motorola美國(guó)研發(fā)中心呆了近十年、后來(lái)臨時(shí)轉(zhuǎn)到國(guó)內(nèi)來(lái)工作的華人李亮(后面簡(jiǎn)稱亮,習(xí)慣了)。
他之前在美國(guó)工作時(shí)做過(guò)架構(gòu)師、軟件發(fā)布經(jīng)理(Release Manager)等職,是一個(gè)對(duì)技術(shù)很有敏感度的管理者(我前面提到過(guò)的兩位有技術(shù)敏感度的管理者之一)。
我在此之后的成長(zhǎng),完全離不開(kāi)他的支持與信任,以及他為我所創(chuàng)造的職場(chǎng)發(fā)展環(huán)境,能與他共事讓我倍感榮幸和感激。
我從亮身上學(xué)到的第一個(gè)內(nèi)容是如何與美國(guó)管理層打交道。總體說(shuō)來(lái),Motorola在軟件開(kāi)發(fā)管理方面很是四平八穩(wěn),其管理存在兩大特色,一是爭(zhēng)奪項(xiàng)目的所有權(quán)(Ownership),另一個(gè)是質(zhì)疑(Challenge)。
前者使得各團(tuán)隊(duì)職責(zé)清晰,不容易出現(xiàn)突發(fā)問(wèn)題或狀況找不到負(fù)責(zé)人;后者使得團(tuán)隊(duì)在工作中有所作為,不至于讓人渾水摸魚(yú)。
在面對(duì)美國(guó)團(tuán)隊(duì)的質(zhì)疑時(shí),我以前看到的大多管理者都很緊張,總想一味地達(dá)到美國(guó)方面的要求,但亮在這方面的表現(xiàn)卻明顯不同。
他告訴我們(包括Team Lead),“如果美國(guó)提的要求不合理,直接與他們‘掰’”。
后來(lái)我認(rèn)識(shí)到,美國(guó)方面做事其實(shí)很講邏輯,只要我們對(duì)于他們所質(zhì)疑的問(wèn)題能給出合理的解釋,很多異常事件根本就沒(méi)什么大不了。
我的職場(chǎng)第二十三感悟:不要用沉默的方式一味地迎合別人的要求,據(jù)理力爭(zhēng)或許才是作為的表現(xiàn)。
參與ASN-GW的呼叫處理子系統(tǒng)的開(kāi)發(fā)工作后,整個(gè)團(tuán)隊(duì)經(jīng)歷了大約半年的成長(zhǎng)痛苦。
痛苦的根源,一是對(duì)WiMAX無(wú)線接入技術(shù)相關(guān)的國(guó)際標(biāo)準(zhǔn)不熟悉,另外則是對(duì)ASN-GW產(chǎn)品的現(xiàn)有實(shí)現(xiàn)不了解,而且產(chǎn)品的復(fù)雜度的確很大(其中一個(gè)技術(shù)指標(biāo)是:必須達(dá)到99.999%的容錯(cuò)能力)。
在半年的痛苦期中,我很重要的一個(gè)工作職責(zé)是幫助團(tuán)隊(duì)成長(zhǎng),作為亮這類管理層與基層工程師間的橋梁。
比如,為團(tuán)隊(duì)起草《開(kāi)發(fā)者指南》和《測(cè)試指南》這樣的文檔,且要求和引導(dǎo)工程師通過(guò)文檔化的形式沉淀經(jīng)驗(yàn)與教訓(xùn),以便提高工作效率(雖然文檔化方法的實(shí)施過(guò)程需要我不斷地提醒,但這一方法被證明在這種時(shí)期很有效);我也會(huì)在例會(huì)上毫不留情地指出工程師的哪些行為影響了工作效率。
我的職場(chǎng)第二十四感悟:流程、文檔的作用,不只是引導(dǎo)我們做完事,更能規(guī)范我們的行為和幫助培養(yǎng)工作習(xí)慣。
亮在項(xiàng)目進(jìn)展的過(guò)程中,一直向美國(guó)方面主張杭州團(tuán)隊(duì)必須設(shè)置架構(gòu)師一職,也正是由于亮的一再爭(zhēng)取,美國(guó)方面最終努力地幫助我向這個(gè)方向發(fā)展,不斷為我分派屬于架構(gòu)師工作的任務(wù)(如更新產(chǎn)品架構(gòu)模型、參與需求管理、參與系統(tǒng)設(shè)計(jì)文檔的評(píng)審、完成新特性開(kāi)發(fā)工作評(píng)估等)。亮那時(shí)告訴我,我應(yīng)是杭州研發(fā)中心第一個(gè)真正從事架構(gòu)師工作的人。
剛接觸架構(gòu)師方面的工作時(shí),其實(shí)還是不大自信的,盡管我那時(shí)掌握了軟件架構(gòu)師所需的基礎(chǔ)技術(shù)技能(比如,我的軟件設(shè)計(jì)能力很強(qiáng)、UML從1998年開(kāi)始接觸加上之后的持續(xù)學(xué)習(xí)所以功底也很好),但對(duì)于軟件研發(fā)管理方面的內(nèi)容,以及WiMAX無(wú)線接入技術(shù)知識(shí)的系統(tǒng)性認(rèn)識(shí)還是相對(duì)單薄的。
那時(shí)與美國(guó)同事接觸下來(lái)的感覺(jué)是,他們的綜合能力都很強(qiáng),似乎隨便一個(gè)人都知道如何做架構(gòu)師,不少人有做GSM、iDen和CDMA產(chǎn)品的經(jīng)驗(yàn),而且長(zhǎng)期工作于無(wú)線接入技術(shù)領(lǐng)域。
隨著更多地參與架構(gòu)師方面的工作,不僅逐漸建立了自信,對(duì)Motorola的軟件研發(fā)管理也有了更為深入地認(rèn)識(shí)與理解。
所看到的不僅僅是產(chǎn)品技術(shù)本身的復(fù)雜度,更有開(kāi)發(fā)活動(dòng)運(yùn)作管理方面的復(fù)雜度。最終,我成為了整個(gè)ASN-GW產(chǎn)品的架構(gòu)師。
工作、學(xué)習(xí)和寫作
在2009年,我考入了浙江大學(xué)的MBA,同時(shí)還開(kāi)始著手寫自己的處女作《專業(yè)嵌入式軟件開(kāi)發(fā)》。
在之后長(zhǎng)達(dá)近兩年的工作、學(xué)習(xí)和寫作的三重壓力下,我在時(shí)間管理上有很大的進(jìn)步,抗壓能力也得到了很好的鍛煉,這時(shí)我的職場(chǎng)第十二感悟(指其中的堅(jiān)持)又讓我最終渡過(guò)了這段最為艱難的時(shí)期。
2010年中期,NSN宣布收購(gòu)我所在的Motorola網(wǎng)絡(luò)部門,收購(gòu)活動(dòng)直到2011年的4月份才結(jié)束。
同時(shí)由于WiMAX市場(chǎng)的不景氣,美國(guó)不少系統(tǒng)架構(gòu)師轉(zhuǎn)到了FDD-LTE產(chǎn)品線上,我也因?yàn)檫@一緣故擔(dān)任了大約半年的系統(tǒng)架構(gòu)師,主要負(fù)責(zé)WiMAX技術(shù)的移動(dòng)性與網(wǎng)絡(luò)安全方面的工作。
2012年7月份,因?yàn)閃iMAX產(chǎn)品線裁員,我轉(zhuǎn)到了NSN的WCDMA產(chǎn)品線。也從此開(kāi)始離開(kāi)了Motorola的研發(fā)管理環(huán)境,而真正步入了NSN的研發(fā)管理環(huán)境。
真感謝你花時(shí)間讀到這!盡管我們常將“職業(yè)規(guī)劃”掛在嘴邊,實(shí)際上職場(chǎng)發(fā)展真的是一種“布朗運(yùn)動(dòng)”。
你不知道下一站會(huì)是哪、也不知道后面將要從事什么工作、更不清楚后面會(huì)碰到怎樣的老板。
在眾多不確定因素面前,或許參照我一路走來(lái)所總結(jié)出的職場(chǎng)感悟能讓你不斷地朝好的方向發(fā)展。
-
程序員
+關(guān)注
關(guān)注
4文章
951瀏覽量
29799
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論