eric.zhang1979

导航

程序员、工程师和高级工程师区别

        在各种招聘广告里,总能看到软件工程师,程序员或高级工程师的称谓。从工作职责来看,好像工程师和程序员没什么区别,如果加上高级俩字,也不过需要的工作年限要长一些,需要的知识多一些。下面是我对这几个称谓的看法。

一。  工程师和程序员

         程序员—Programmer ,写程序的人,可以是把写程序作为爱好的人,也可能是把写程序作为职业的人。程序员关心的是如何给出一个好的软件设计,如何写出好的代码。

         软件工程师-Engineer,就像其他行业的工程师一样,他属于一个组织,为了某个项目,他不光关心一个好的设计好的代码,他更关心如何把这个项目做成功。他的目标是和市场,销售,质量管理等其他人合作,按时,高质量的完成一个项目。所以,如果一个软件虽然有非常好的设计,高质量的代码,极少的bug,但是没有人买,那这个项目也是失败的。对工程师而言,也是一个失败的案例。

         可以这样说,如果比尔.盖茨业余时间写写程序,那是他的爱好,他可以称之为程序员。他不是软件工程师。

 

二。工程师和高级工程师

       在工作中,人们区别高级工程师和普通工程师往往看他们的经验和技术水平,而忽略了职业素养。一方面,高级工程师应该有更多的经验和解决问题的能力,另一方面他们还应该承担更多的责任和具备全局观。他们有责任在项目执行过程中,指出项目风险,软件缺陷。

       高级工程师考虑问题,会从项目计划,风险管理,质量管理等不同角度考虑 ,更多的是站在市场和客户的角度考虑问题。

       比如说,普通工程师会经常说:“这一个技术最好,咱们应该采用这个技术” 、“你们不应该这样测试,你们不懂技术瞎测试!”、“这些QA什么都不懂!”、“这些市场人员一点也不懂技术!”

       高级工程师会说:“应用这个技术风险很高,客户是否需要这个技术”,“如果我是客户,我会怎样做?”。


posted on 2009-02-20 10:57  eric.zhang1979  阅读(3289)  评论(6编辑  收藏  举报