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


硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
【華秋DFM】V4.6正式上線:工程師的PCB設(shè)計“好搭子”來了!

(仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

從“設(shè)計到生產(chǎn)”的蛻變:華秋DFM如何讓工程師們“輕松上陣”?
Allegro工程師能力升級建議 工程師技能如何升級進(jìn)階



硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體
嵌入式軟件工程師就業(yè)好不好?

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技

當(dāng)你的工程師朋友失聯(lián)時,別氣,ta真的是在忙工作 #搞笑 #電子愛好者 #硬件工程師 #晶振 #揚興科技


評論