大多數(shù)象我這樣對(duì)軟件有濃厚興趣的人,畢業(yè)后義無(wú)反顧地走進(jìn)了企業(yè),開始了程序員的生涯。那時(shí),我們迷戀“大全”、“秘籍”一類的書籍,心中只有代碼。當(dāng)我看到一行行枯燥的代碼變成了能夠打電話的設(shè)備,變成了屏幕上漂亮的表格,變成了動(dòng)聽的音樂(lè),成就感油然而生。我覺(jué)得自己也是一個(gè)出色的程序員了。在用戶的機(jī)房中苦熬三晝夜解決軟件的bug,也成了一種可以夸耀的資歷。五年前的某一天,我把曾經(jīng)讓我興奮自豪的大量代碼和少得可憐的文檔移交之后,來(lái)到了華為。這里有更多的年輕人,我如魚得水,可以充分發(fā)揮自己的想象力。依然是代碼,依然是匆匆地在紙上記下稍縱即逝的靈感(我們把它稱作文檔),依然是無(wú)休止地和bug作斗爭(zhēng)。當(dāng)有一天,一個(gè)新來(lái)的同事拿著署著我的大名的文檔,小心翼翼地來(lái)問(wèn)我時(shí),我發(fā)現(xiàn)自己好象有點(diǎn)不認(rèn)識(shí)它了。我心里有點(diǎn)沮喪,再看看代碼,發(fā)現(xiàn)文檔上記錄的一些靈感已面目全非。我當(dāng)時(shí)不知道那位新來(lái)的同事感受如何,但我從那時(shí)起,好象意識(shí)到什么?,F(xiàn)在來(lái)看,那時(shí)的很多事情都是事倍功半。
去年年底,公司派我到印度從事項(xiàng)目開發(fā),學(xué)習(xí)印度的軟件開發(fā)管理方法。一種久違的沖動(dòng)在心底升起。印度,我已去過(guò)兩次,雖說(shuō)是走馬觀花,但是,印象還是比較深刻。我在訪問(wèn)過(guò)程中和印度的工程師交流過(guò),他們言談中透著自信。他們給我講解正在做的軟件的測(cè)試環(huán)境,給我看他們寫的單元測(cè)試文檔。當(dāng)我看到一個(gè)軟件模塊的單元測(cè)試用例有三百多頁(yè)時(shí),我覺(jué)得心里很是沉重。當(dāng)我第三次踏上這片土地時(shí),我又見(jiàn)到了熟悉的人們,明亮的眼睛,溫和的笑容,隨意的穿著,風(fēng)馳電掣的摩托,還有大學(xué)校園中穿著拖鞋,手抱書本的年輕人。
我也見(jiàn)到了我的項(xiàng)目經(jīng)理,一個(gè)個(gè)子較高,瘦瘦的年輕人,據(jù)說(shuō)剛從美國(guó)回來(lái),已工作了五、六年。我聽了心里很高興,這回要一招一式地學(xué)兩手。需求分析的時(shí)間是一個(gè)月,項(xiàng)目經(jīng)理和我們(實(shí)際上代表客戶)討論了proposal中的內(nèi)容,確定每一項(xiàng)都是需要的。然后他把模塊大致劃分了一下,開始進(jìn)入計(jì)劃中的學(xué)習(xí)階段。每個(gè)人在學(xué)習(xí)階段要寫出功能描述的膠片,給其他人講解,不知不覺(jué)中,項(xiàng)目組的所有人對(duì)項(xiàng)目有了整體的了解。
他還安排了一些培訓(xùn),如他們公司的軟件開發(fā)模型、項(xiàng)目組中各角色的定義,以后及時(shí)的培訓(xùn)不斷,只要項(xiàng)目組中有需求,他總是把qa或相關(guān)的人請(qǐng)來(lái),培訓(xùn)很專業(yè)。需求分析完成后提交了一份四十多頁(yè)的文檔,當(dāng)我看到這份英文文檔中我寫的部分整整齊齊地列在其中時(shí),我的感覺(jué)很復(fù)雜,有些喜悅,但更多的是苦澀,我以前怎么就從來(lái)沒(méi)有這樣做過(guò)需求分析呢。
在我寫文檔的過(guò)程中,qa給我們培訓(xùn)過(guò)srs的寫作模板,后來(lái)我還是不放心,讓他們一個(gè)有經(jīng)驗(yàn)的工程師寫了一段,我們?cè)僮聊ブ罩鴮?。這份srs雖然是多個(gè)人合寫,但風(fēng)格一致,內(nèi)容詳實(shí)。更為可貴的是,一直到最后,這份需求分析的內(nèi)容都沒(méi)有改過(guò),以至于我們沒(méi)有機(jī)會(huì)走一下他們的需求更改流程。
需求分析是項(xiàng)目的第一階段,第二階段的開發(fā)時(shí)間要根據(jù)需求分析的結(jié)果來(lái)確定。當(dāng)對(duì)方的首席技術(shù)官(相當(dāng)于我們業(yè)務(wù)部的總體組長(zhǎng))來(lái)和我們討論計(jì)劃時(shí),他們已列出了對(duì)每個(gè)模塊的代碼行數(shù)的預(yù)測(cè),可能存在的風(fēng)險(xiǎn)。根據(jù)他們公司的生產(chǎn)率--300行/人月,他得出了項(xiàng)目第二階段需要多少周。
我們當(dāng)時(shí)就提出了異議:1)公司對(duì)該項(xiàng)目需求很急;2)每月300行是否太少;3)我們還有下載的源代碼參考。他解釋說(shuō),300行/人月是使得項(xiàng)目能達(dá)到他們質(zhì)量標(biāo)準(zhǔn)的經(jīng)驗(yàn)數(shù)據(jù),考慮到有源代碼參考,生產(chǎn)率最多不能超過(guò)350行/人月。
當(dāng)他問(wèn)我們公司的生產(chǎn)率時(shí),我腦袋里轉(zhuǎn)了三個(gè)圈,沒(méi)敢多說(shuō),大概六、七百行吧。他沉默了一會(huì)兒,然后堅(jiān)定地說(shuō),我們這個(gè)計(jì)劃是建立在確保質(zhì)量的基礎(chǔ)上的,我想你們到印度來(lái)開發(fā)軟件,首先看中的應(yīng)該是我們印度公司的質(zhì)量保證。我知道你們不缺乏軟件開發(fā)人員,你們?yōu)槭裁床贿x擇下載的軟件呢。幾句話說(shuō)到了我的痛處,現(xiàn)在國(guó)內(nèi)的弟兄們還在為使用下載軟件移植的產(chǎn)品四處奔波呢!
隨后的開發(fā)活動(dòng)有條不紊,我們老老實(shí)實(shí)地跟著做。系統(tǒng)測(cè)試計(jì)劃、用例,概要設(shè)計(jì),集成測(cè)試計(jì)劃、用例,詳細(xì)設(shè)計(jì),單元測(cè)試計(jì)劃、用例,編碼,單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試。一個(gè)完整的v模型開發(fā)過(guò)程,其中每個(gè)過(guò)程都有review。當(dāng)我們對(duì)一些設(shè)計(jì)的方法不太明白時(shí),項(xiàng)目經(jīng)理給我們發(fā)來(lái)了相關(guān)的資料,我不知道他當(dāng)時(shí)是怎么想的,一些基本的分析、設(shè)計(jì)方法是十年,甚至二十年前的軟件工程書中就講到的,印度每個(gè)計(jì)算機(jī)專業(yè)的人員都是必修這些內(nèi)容的。而我們除了對(duì)一些具體協(xié)議的代碼很熟之外,對(duì)這些常用的方法似乎一無(wú)所知。我感到一些羞愧,進(jìn)城直奔書店,把他給我開列的書找了出來(lái),晚上躺在床上,仔細(xì)研讀,我仿佛突然又遇到了能給我指點(diǎn)迷津的良師益友?,F(xiàn)在印度所已形成了強(qiáng)烈的學(xué)習(xí)風(fēng)氣。我回來(lái)后也推銷了700多本書,這些書教我們?nèi)绾斡霉こ袒姆椒ㄩ_發(fā)軟件,是成為一個(gè)軟件工程師必讀的資料。
我們的項(xiàng)目經(jīng)理的計(jì)劃控制能力很強(qiáng),當(dāng)有什么影響到項(xiàng)目計(jì)劃的事情發(fā)生時(shí),如人員辭職、實(shí)驗(yàn)室搬家、某一模塊預(yù)測(cè)不準(zhǔn)(該模塊是我們預(yù)測(cè)的),他總是采取必要的措施,減少延期,調(diào)整計(jì)劃。剛開始,我們對(duì)他們每天上午11點(diǎn),下午4點(diǎn)下樓喝咖啡還有點(diǎn)意見(jiàn),后來(lái)也跟著喝去了,原來(lái),喝咖啡時(shí)的交流非常豐富,從項(xiàng)目管理到設(shè)計(jì)方法,從技術(shù)發(fā)展到風(fēng)土人情,無(wú)所不包,對(duì)我們互相之間的理解,對(duì)團(tuán)隊(duì)的氣氛很有幫助。我們項(xiàng)目的qa也在適當(dāng)?shù)臅r(shí)候出現(xiàn)在我們的面前,我們對(duì)她的工作只有一些感性認(rèn)識(shí)。她每次參加會(huì)議時(shí),手里時(shí)常拿著一個(gè)checklist,項(xiàng)目經(jīng)理準(zhǔn)備相應(yīng)的資料,回答一些問(wèn)題,她打著勾,或?qū)懼?xiàng)目經(jīng)理的解釋。她給我們做培訓(xùn)時(shí)也很耐心,體現(xiàn)出很好的職業(yè)素養(yǎng),我至今還在懷念她給我們的幫助。
我從事軟件開發(fā)已有九個(gè)年頭了,可我現(xiàn)在仍然不能說(shuō)自己是個(gè)合格的軟件工程師,更不用談什么合格的管理者。我看到一份報(bào)道說(shuō),瑞士洛桑一權(quán)威機(jī)構(gòu)把中國(guó)的科技綜合競(jìng)爭(zhēng)力從原來(lái)的第十三位調(diào)到二十多位,原因是他們調(diào)整了一些評(píng)估標(biāo)準(zhǔn),其中有一條是中國(guó)合格工程師的可獲得性非常低。想著弟兄們熬紅的雙眼,四處奔波升級(jí)的疲憊身影,我有一個(gè)強(qiáng)烈的愿望:快把我們自己升級(jí)成合格的工程師吧!
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
71160
發(fā)布評(píng)論請(qǐng)先 登錄
電子工程師的雙標(biāo)瞬間 #電子 #電子愛(ài)好者 #電子工程師 #揚(yáng)興科技 #雙標(biāo)
電子工程師看書的四個(gè)階段 #電子 #硬件工程師 #電子愛(ài)好者 #反轉(zhuǎn) #揚(yáng)興科技
什么是BSP工程師
硬件工程師:這才是真正的大學(xué)生就業(yè)指導(dǎo) #電子 #硬件工程師 #電子愛(ài)好者 #晶振 #揚(yáng)興科技
想成為硬件工程師?我教你啊!你得先學(xué)會(huì)這些...... #硬件工程師 #電子工程師 #電子愛(ài)好者 #電子行業(yè)
硬件工程師面試必會(huì):10個(gè)核心考點(diǎn)#硬件設(shè)計(jì) #硬件工程師 #電路設(shè)計(jì) #電路設(shè)計(jì)
電子發(fā)燒友工程師看!電子領(lǐng)域評(píng)職稱,技術(shù)之路更扎實(shí)
硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
【華秋DFM】V4.6正式上線:工程師的PCB設(shè)計(jì)“好搭子”來(lái)了!
(仰天長(zhǎng)嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師
一位工程師的自述:如何從程序員升級(jí)到工程師
評(píng)論