英文原文:Who are you ?? Coder ? Developer ? Programmer? or an Engineer ??
这是一个老生常谈的问题。
在我早前工作的时候,我喜欢称呼自己为开发人员,因为在面试录取通知中,我被任命为初级软件开发人员。后来我跳槽之后,我的 offer 上变成了软件程序员。而最近我被晋升为高级软件工程师。以上都是我的职称,但是我还是很困惑我现在真正的称谓应该是什么。
很多人都会问我,“你是做什么工作的?”,每次我都需要先想一想,想个 1 分钟,才终于意识到“哦……我是写 Java 的”。时间一长,我觉得很有必要将这些关系理理清。
基本上码农就是编写代码逻辑,但是却并不清楚程序的逻辑,不过使用的相应编程语言的语法还是知道的(即使不会,也不意味着他不会自己思考)。有人定义好业务逻辑,有人制定好相应业务逻辑的程序流程图,然后交给码农,码农要做的就是写代码,也只是写代码。
其中,程序员实际上就是向码农提供逻辑的那个人,码农就按照他的要求编写计算机指令使之工作。如果码农在写代码的时候犯了错,那么程序就不能如期运行。如果码农没问题,但是程序还是不能良好表现,那就是程序员的职责了。
开发人员不但需要写代码也参与 SDLC(软件开发生命周期)的全过程。以前我一直以为开发人员就只需要写代码或者编程就可以了,但是这大错特错。甚至那些测试程序和写测试场景的也是开发人员。这些都是软件开发的一部分。
工程师是高水平的称呼,如果上面任何一个还具备设计(业务级别)和维护的技能,那就可以拥有这个高大上的头衔。
所以我最后给自己的总结是:
工程师就是既参与写代码,又会开发软件的程序员。
哦,对了,敢问你是码农,开发人员,程序员,还是工程师呢?
译文链接:http://www.codeceo.com/article/who-are-you-coder-developer-programmer-or-an-engineer.html
翻译作者:码农网 – 小峰