Programmer vs.Developer vs.Engineer

程序员、开发者和软件工程师
很多人对这个问题都不清楚,包括我自己,有时候我也不知道应该叫自己哪一个。翻译的时候,前两者我都直接翻译成程序员,而不是把Developer译成开发者或者开发人员 – “我是一个开发人员”听起来就别扭。

应该说,我肯定是个程序员,因为很多时候我都是在编写代码。而开发人员则不仅仅是写代码,可能还要了解需求,分析,设计最后实现,测试。而软件工程师就要从工程的角度去考虑软件开发这件事。
举个例子,在开发一套产品的时候,我需要开发人员来设计相应的模块,程序员来配合开发人员完成相应的部件,而软件工程师则要同时从工程管理,流程的角度去考虑软件成品的质量。程序员只是负责完成自己的一块任务,开发人员则要协调不同的模块和其他开发人员(程序员)来完成任务,而工程师则更进一步,从流程化、软件工程的角度去控制整个项目。
因为engineer这个词本身就是比较通用的概念,是从工程中抽离出来的角色,无论是软件还是建筑,所以engineer考虑的东西,即便不是做相似的东西,但是还是有很多共通之处。

和programer相同级别的还有analyst,比如有时候叫做 program analyst,business analyst,因为他们也只是做“某一方面”的事情。而不能统摄全局。

Comments are closed.