從程式設計師升級到工程師 (轉)

worldblog發表於2007-12-02
從程式設計師升級到工程師 (轉)[@more@]從員升級到工程師 (這條文章已經被閱讀了28次)
  時間:2000年12月08日 09:09 來源:arshioul轉貼

從程式設計師升級到工程師(璽龍閣收藏)

大多數象我這樣對有濃厚興趣的人,畢業後義無反顧地走進了企業,開始了程式設計師的生涯。那時,我們迷戀“大全”、“秘籍”一類的書籍,心中只有程式碼。當我看到一行行枯燥的程式碼變成了能夠打電話的裝置,變成了螢幕上漂亮的表格,變成了動聽的,成就感油然而生。我覺得自己也是一個出色的程式設計師了。

  在的機房中苦熬三晝夜解決軟體的,也成了一種可以誇耀的資歷。五年前的某一天,我把曾經讓我興奮自豪的大量程式碼和少得可憐的文件移交之後,來到了華為。這裡有更多的年輕人,我如魚得水,可以充分發揮自己的想象力。

  依然是程式碼,依然是匆匆地在紙上記下稍縱即逝的靈感(我們把它稱作文件),依然是無休止地和BUG作鬥爭。當有一天,一個新來的同事拿著署著我的大名的文件,小心翼翼地來問我時,我發現自己好象有點不認識它了。我心裡有點沮喪,再看看程式碼,發現文件上記錄的一些靈感已面目全非。我當時不知道那位新來的同事感受如何,但我從那時起,好象意識到什麼。現在來看,那時的很多事情都是事倍功半。

  去年年底,公司派我到印度從事專案開發,學習印度的管理方法。一種久違的衝動在心底升起。印度,我已去過兩次,雖說是走馬觀花,但是,印象還是比較深刻。我在訪問過程中和印度的工程師交流過,他們言談中透著自信。他們給我講解正在做的軟體的測試環境,給我看他們寫的單元測試文件。當我看到一個軟體模組的單元測試用例有三百多頁時,我覺得心裡很是沉重。

  當我第三次踏上這片土地時,我又見到了熟悉的人們,明亮的眼睛,溫和的笑容,隨意的穿著,風馳電掣的摩托,還有大學校園中穿著拖鞋,手抱書本的年輕人。

  我也見到了我的專案經理,一個個子較高,瘦瘦的年輕人,據說剛從美國回來,已工作了五、六年。我聽了心裡很高興,這回要一招一式地學兩手。

  需求分析的時間是一個月,專案經理和我們(實際上代表客戶)討論了PROPOSAL中的內容,確定每一項都是需要的。然後他把模組大致劃分了一下,開始進入計劃中的學習階段。每個人在學習階段要寫出功能描述的膠片,給其他人講解,不知不覺中,專案組的所有人對專案有了整體的瞭解。

  他還安排了一些培訓,如他們公司的軟體開發模型、專案組中各角色的定義,以後及時的培訓不斷,只要專案組中有需求,他總是把QA或相關的人請來,培訓很專業。需求分析完成後提交了一份四十多頁的文件,當我看到這份英文文件中我寫的部分整整齊齊地列在其中時,我的感覺很複雜,有些喜悅,但更多的是苦澀,我以前怎麼就從來沒有這樣做過需求分析呢。在我寫文件的過程中,QA給我們培訓過SRS的寫作模板,後來我還是不放心,讓他們一個有的工程師寫了一段,我們再琢磨著照著寫。這份SRS雖然是多個人合寫,但風格一致,內容詳實。更為可貴的是,一直到最後,這份需求分析的內容都沒有改過,以至於我們沒有機會走一下他們的需求更改流程。

  需求分析是專案的第一階段,第二階段的開發時間要根據需求分析的結果來確定。當對方的技術長(相當於我們業務部的總體組長)來和我們討論計劃時,他們已列出了對每個模組的程式碼行數的預測,可能存在的風險。根據他們公司的生產率--300行/人月,他得出了專案第二階段需要多少周。我們當時就提出了異議:1)公司對該專案需求很急;2)每月300行是否太少;3)我們還有的參考。他解釋說,300行/人月是使得專案能達到他們質量標準的經驗資料,考慮到有原始碼參考,生產率最多不能超過350行/人月。當他問我們公司的生產率時,我腦袋裡轉了三個圈,沒敢多說,大概六、七百行吧。他沉默了一會兒,然後堅定地說,我們這個計劃是建立在確保質量的基礎上的,我想你們到印度來開發軟體,首先看中的應該是我們印度公司的質量保證。我知道你們不缺乏軟體開發人員,你們為什麼不選擇下載的軟體呢。幾句話說到了我的痛處,現在國內的弟兄們還在為使用下載軟體移植的產品四處奔波呢!

  隨後的開發活動有條不紊,我們老老實實地跟著做。測試計劃、用例,概要設計,整合測試計劃、用例,詳細設計,單元測試計劃、用例,編碼,單元測試,整合測試,系統測試。一個完整的V模型開發過程,其中每個過程都有REVIEW。當我們對一些設計的方法不太明白時,專案經理給我們發來了相關的資料,我不知道他當時是怎麼想的,一些基本的分析、設計方法是十年,甚至二十年前的軟體工程書中就講到的,印度每個專業的人員都是必修這些內容的。而我們除了對一些具體的程式碼很熟之外,對這些常用的方法似乎一無所知。我感到一些羞愧,進城直奔書店,把他給我開列的書找了出來,晚上躺在床上,仔細研讀,我彷彿突然又遇到了能給我指點迷津的良師益友。現在印度所已形成了強烈的學習風氣。我回來後也推銷了700多本書,這些書教我們如何用工程化的方法開發軟體,是成為一個軟體工程師必讀的資料。

  我們的專案經理的計劃控制能力很強,當有什麼影響到專案計劃的事情發生時,如人員辭職、實驗室搬家、某一模組預測不準(該模組是我們預測的),他總是採取必要的措施,減少延期,調整計劃。剛開始,我們對他們每天上午11點,下午4點下樓喝咖啡還有點意見,後來也跟著喝去了,原來,喝咖啡時的交流非常豐富,從到設計方法,從技術發展到風土人情,無所不包,對我們互相之間的理解,對團隊的氣氛很有幫助。我們專案的QA也在適當的時候出現在我們的面前,我們對她的工作只有一些感性認識。她每次參加會議時,手裡時常拿著一個CHECK LIST,專案經理準備相應的資料,回答一些問題,她打著勾,或寫著專案經理的解釋。她給我們做培訓時也很耐心,體現出很好的職業素養,我至今還在懷念她給我們的幫助。

  我從事軟體開發已有九個年頭了,可我現在仍然不能說自己是個合格的軟體工程師,更不用談什麼合格的管理者。我看到一份報導說,瑞士洛桑一權威機構把中國的科技綜合競爭力從原來的第十三位調到二十多位,原因是他們調整了一些評估標準,其中有一條是中國合格工程師的可獲得性非常低。想著弟兄們熬紅的雙眼,四處奔波升級的疲憊身影,我有一個強烈的願望:快把我們自己升級成合格的工程師吧

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987405/,如需轉載,請註明出處,否則將追究法律責任。

相關文章