【转】软件工程师的年终总结2
總想著每天、每個月、乃至每年都有點進步。2002年,對我來說,是起伏不定的一年,
也是收獲頗豐的一年。當然,最大的收獲是有了一個可愛的女兒。:-)
?? 在這一年,我跳了兩次槽,一次是自愿的,還有一次是被迫的。我目睹了一些公司從盛
到衰的過程,也看到了一些腳踏實地的公司。
??? 離開X1公司,是因為我覺得X1公司不是在做軟件,所謂的印度模式,我想,絕對不是
這么做的。理想不合,不想浪費時間,也只能背負跳槽的惡名,掛冠而去。去X2公司,是
因為看到他是美國獨資公司,做外包軟件,能夠接觸美國的客戶和技術,希望能夠有所收
獲,何況,職位也不錯。的確很想好好做,也跳累了,只想穩定發展,畢竟,是做父親的
人了。沒有想到的是,竟然讓我目睹了一場資產爭奪的好戲。公司易主,流言滿天,誹謗
四起,官司大戰,這種平常只有在電視和電影里看到的情節,我實實在在的親身經歷了,
也算是人生的重要一課吧,至少,讓我看到了人性最陰暗和惡毒的一面。自然,是做不下
去了,只能又走。
?? 也看到了一些踏踏實實做事情的公司。園區的瑞博軟件就是一個。很少看到如此踏實做
事的公司。若干年后,只要他能夠存活,必定是一個成功的公司。雖然老板對我也很有誠
意,只是,對于教育軟件,我實在沒有太大的興趣,何況,如果想做教育,我何不選擇安
博呢?畢竟,安博給于我很多。回頭想想,在其他公司,我都是在奉獻,只有在安博,是
學習了很多。
?? 說起跳槽,其實,看看那些公司,有多少是在踏踏實實做事情的?老板本不懂軟件,都
是看著軟件行業能賺錢,想來撈一票,結果把中國的軟件行業做壞了,也害苦了中國的程
序員。自己不好好做事,怎么怪別人跳槽?同工作經歷的坎坷相比,,在個人能力方面,
今年的進步是非常大的。今年上半年,我的進步集中在技術領域。我更加深入研究了設計
模式、EJB體系和.Net平臺,還有UML建模,終于有所突破,設計了一套自己的基于.Net平
臺的系統架構和開發工具,并且得到了應用的證實。在網上也陸續發表了一些文章,受到
比較好的歡迎,還上了賽迪網的開發之星。
? 下半年,在軟件工程方面收獲是很多的。
? 看到網上對于印度模式從吹捧到批駁的吵鬧,也看到X1公司學習印度的失敗,加上自己
從開始就對那些記者的懷疑,決定好好學習軟件工程。我一向認為,任何東西,不能道聽
途說,只有自己好好深入研究,才能得其精髓。同時,軟件工程絕對不能只看印度的,畢
竟,美國才是軟件業最發達的國度。
?? 列舉一些學習的參考資料:《RUP軟件工程過程》、《MSF微軟解決方案》、《XP極限編
程》、《CMM實踐應用——Infosys公司的軟件項目執行過程》、《人月神話》、《軟件需
求》、《軟件工程Java語言實現》。每本書,我都仔細研讀了,頗有體會。
?? 我開始就想,印度軟件工程絕對不會象那些記者所說的那么簡單,所謂的高中生編程說
。所以,我必須實際看看印度的軟件工程?!禖MM實踐應用——Infosys公司的軟件項目執
行過程》,是印度最大的軟件公司Infosys公司的分管質量的副總裁寫的,介紹他們的CMM
4的軟件工程,果然不同凡響。這是我了解印度軟件工程的主要窗口。
??? 首先,同原來的想法不同的,也可能同大多數人(尤其是受那些軟件記者影響很深的
“專業”和非專業人士)想法不同的是,軟件工程實際上不僅僅只是管理,而是一門涉及
很廣的交叉學科。在軟件工程中,大約一半的內容是專業性很強的,涉及到軟件分析、設
計甚至編碼的技術。所謂的結構化、面向對象,都在軟件工程的范疇內,同樣是軟件開發
和組織的重要內容,也是軟件質量保證的重要內容。至于軟件開發的管理部分,只能算是
軟件工程中軟件工程過程的部分,或者說項目管理部分。脫離管理來開發軟件是絕對不可
行的,同樣,拋棄技術基礎,空談管理出效益,便如無源之水、無本之木。誠如《軟件工
程Java語言實現》中所說:“軟件工程范圍極為廣泛。軟件工程的某些方面屬于數學或計
算機科學,其他方面可歸入經濟學、管理學或心理學中?!痹谶@里,我強調了軟件工程中
的技術部分,并非輕視管理,只想在軟件工程的概念上做一些撥亂反正,也希望多一些人
來關心軟件的核心技術,而不要空喊口號和概念。畢竟,中國的軟件太缺乏核心技術了。
??? 其次,對管理要求的嚴格不說(這個誰都知道),實際上,不管是美國的軟件工程,
還是印度的軟件工程,都是比較靈活的。即便是印度這樣的所謂“軟件工廠”模式,對于
軟件工程過程管理極為嚴格,也有一個部分是專門講述過程剪裁的。整個軟件工程過程是
非常龐大和繁復的,然而,由于項目具體情況不同,如項目的規模,參與人員的數量、素
質等的不同,對于軟件過程的每個部分,不是都必須的,可以根據具體情況來進行剪裁。
這個部分對于我的啟發是很大的。以前做什么ISO9000等,開始做了一個以為很好的規范,
但是,到具體項目,總是對不起來,到處有問題,現在想想,便是少了這個變通的部分。
不過,話說回來,這CMM也是老美想出來的,而不是印度。
??? 第三,對于開發人員的選用,我發現,美國人是非常注重選用優秀的開發人員的。Ma
rtin Fowler曾經開玩笑的說,如果給他一批水平不高的開發項目,他會考慮全部解雇,重
新招聘?!度嗽律裨挕分幸舱f,如果200人開發一個項目,其中25個人最能干,那么會考慮
解雇其余的175個人,讓項目經理來編程(當然,后面還有一些抉擇分析,這里斷章取義了
)。其結論的基礎是基于以下研究結果:優秀的開發人員和差的開發人員,其效率之差可
以達到數量級。另外,從管理的角度來說,只有人多了,才會有管理問題,當團隊規???br />制在一定的范圍內時,便不會有太大的管理問題。
對于軟件來說,很難實現同傳統產業一樣的工廠化生產,這是由軟件開發的本質決定的。
軟件的復雜性是軟件的本質屬性,在這個屬性沒有改變之前,軟件便不會實現同傳統產業
一樣的工廠化生產。至于印度的所謂“軟件工廠”,實際上,只是完成了軟件代碼的編寫
工作,并不是實現了整個軟件研發工作,而代碼編寫工作,恰恰是軟件開發中最簡單的一
環。至于印度是否真的有很多高中生程序員,印度人的書上沒有說,記者到說了不少,我
也無從考證。所以,軟件的開發,還是需要選用優秀的人的。除非,公司只想幫別人編寫
代碼,而不希望有自己的產品和技術。
??? 第四,軟件開發中,最重要的還是團隊合作和交流。這個是我目前最深切的感受。具
體的,大家都知道,也用不著多說。
??? 最后,對于軟件開發來說,公司老板的想法是最重要的。如果老板說“No”,那便是
水平再高,管理再好,也終歸無用。
??? 年齡漸長,也做父親了,卻總是在漂泊,沒有一個可以穩定發展的地方。希望目前的
公司能夠有這個機會。不想總是跳槽。
轉載于:https://www.cnblogs.com/xiaolinshushu/archive/2013/01/15/2861645.html
總結
以上是生活随笔為你收集整理的【转】软件工程师的年终总结2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LNMP下目录访问验证
- 下一篇: Ubuntu init启动流程分析浅析