普通程序員與軟件工程師的區別

 

 

 

“程序員”和“軟件工程師”的概念常常被混淆在一起使用,很多人以爲搞軟件就是編程序、就是“程序員”,而很多各種各樣的培訓學校卻宣傳培養的是“高薪軟件工程師”;有很多資深的軟件開發高手稱呼自己爲“老程序員”,而很多新入行的年輕人就號稱“軟件工程師”或者“高級軟件工程師”。那麼,一個普通的程序員和一名軟件工程師的區別到底在哪些方面呢?帶着這個問題,筆者採訪了號稱“培養真正的軟件工程師”的昂立·慧橋軟件人才項目實訓中心的負責老師:

所謂培養“真正的軟件工程師”,就是用項目實訓的教學模式,全程案例式教學,不僅學習企業需求的實用前沿開發技術(如 Java EE 中的 Struts2 Spring Hibernate .Net 中的 Visual Studio2008 ASP.Net 4.0 等),還在經驗豐富的老師的帶領下,參與到真切的項目開發流程中,體驗團隊合作的工作環境和壓力。通過項目實訓鍛造出的一名真正的軟件工程師,應具有以下能力:

1. 熟練掌握Java 語言, 深入理解OOP,OOA,OOD 等編程思想.

2. 掌握Java EE 各個技術模塊( JSP/Servlet, JDBC, EJB, Websphere / Weblogic)

3. 熟悉各種Java IDE 和相關開發工具 (Eclipse, Jbuilder, WSAD, CVS, ANT, Junit)

4. 理解ROB 的設計原理, 熟練掌握Oracle/SQL Server/DB2 其中至少一種

5. 熟悉UML 建模, 熟練掌握Rational Rose

6. 深入理解Design Patten, 熟悉StrutsSpringHibernate 等框架技術

7. 有中大型項目開發經驗, 能獨立完成整個軟件模塊分析, 設計開發, 單元測試

8. 熟悉軟件工程, 瞭解前沿技術規範(CMM) 和先進開發模式(RUP, XP)

9. 能迅速接受新技術, 快速學習和應用

10. 英語, 邏輯思維能力, 團隊精神等非技術要求.

對比 1

A 、普通開發人員:

掌握了計算機基礎知識;

熟悉計算機資源,學會了編程語言,喜歡賣弄技巧,喜歡比較編程語言的優劣;

以能編出某種特殊功能的程序爲榮,不懂原理,不求甚解;

喜歡個人開發,不重視文檔編寫;

B 、軟件工程師:

計算機基礎知識紮實;

精通 1 2 門編程語言,很少停留在表面上去比較編程語言的優劣;

以編寫出用戶滿意的高質量軟件爲榮。

懂得個人開發和團隊開發的利弊,文檔規範,齊全。

對比 2

A 、普通開發人員:

只重視功能的實現,不重進度和質量的把握。

怕被“管”得太死,動不動就說限制了思路,沒有發揮空間。

不喜歡做測試工作,認爲測試低人一等,從來沒有做過測試工作。

只根據自己的愛好學習技術;

B 、軟件工程師:

懂得在進度、質量(功能)和成本之間平衡。

懂得規範的目的在於重用,重用有利於提高效率和集中精力創新。

認爲測試工作比編碼更具挑戰性,自己經常爲同伴的代碼做白盒測試。

根據企業項目的需求和自己發展目標的共同點選擇學習內容和方向;

對比 3

A 、普通開發人員:

認爲別人程序很差,不喜歡看別人的代碼;

總認爲自己比業務專家還更理解需求。

項目開始時,喜歡說 : “沒問題, SO EASY ”。

項目大大延期時,喜歡說:“設計太爛,沒法編程”。

B 、軟件工程師:

喜歡爲同事走查代碼,並以此獲得學習他人優點的機會;

懂得自己只是可能比業務專家更懂編程。

項目開始時,喜歡問 : “那是什麼?這是爲什麼?”。

項目大大延期時,喜歡說:“我爲什麼就沒想到…”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章