普通程序员与软件工程师的区别

 

 

 

“程序员”和“软件工程师”的概念常常被混淆在一起使用,很多人以为搞软件就是编程序、就是“程序员”,而很多各种各样的培训学校却宣传培养的是“高薪软件工程师”;有很多资深的软件开发高手称呼自己为“老程序员”,而很多新入行的年轻人就号称“软件工程师”或者“高级软件工程师”。那么,一个普通的程序员和一名软件工程师的区别到底在哪些方面呢?带着这个问题,笔者采访了号称“培养真正的软件工程师”的昂立·慧桥软件人才项目实训中心的负责老师:

所谓培养“真正的软件工程师”,就是用项目实训的教学模式,全程案例式教学,不仅学习企业需求的实用前沿开发技术(如 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 、软件工程师:

喜欢为同事走查代码,并以此获得学习他人优点的机会;

懂得自己只是可能比业务专家更懂编程。

项目开始时,喜欢问 : “那是什么?这是为什么?”。

项目大大延期时,喜欢说:“我为什么就没想到…”

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值