工程师、程序员、码农有什么区别?
作为一名从业多年的IT人,我来说说我对这几个概念的理解。
工程师是一个比较宽泛的称呼,比如软件工程师、硬件工程师、网络工程师、前端工程师等等,往往工程师岗位的工作内容更偏向于实施。比如我们研究所里有研究员职称体系,也有工程师职称体系,一般从事实施任务的技术人员走的都是工程师职称体系。工程师体系以项目实施情况作为重要考核标准,而研究体系则更多的看研究成果的技术含量、论文质量等等内容。
程序员则是对专注于程序设计工作岗位的一种称呼,程序员的岗位细分也非常多,有后端程序员、前端程序员、嵌入式程序员、移动端程序员(Android、iOS)等。程序员通常分为应用级程序员和研发级程序员,应用级程序员主要的工作内容是做业务功能实现,而研发级程序员往往解决的是系统级问题。简单的说,应用级程序员往往是调用研发级程序员的功能模块来解决业务问题。科技公司中应用级程序员的数量通常大于研发级程序员,尤其是大型软件企业。
码农是很多程序员对自己的一个“戏称”,早期国内很多大型软件公司的主要业务以外包为主,这种开发整体上来说技术含量比较低,大量的工作就是复制粘贴,而且加班情况非常普遍,因此很多从事此类工作的程序员戏称自己为“复制粘贴员”、“搬运工”或者“码农”等。目前随着我国IT领域的结构化升级,“码农”会逐渐消失。
简单的总结一下,工程口的技术人员多称为工程师,研发口的技术人员多称为程序员,技术含量低、工作量大的应用级程序员称自己为“码农”。
我的研发方向是大数据和人工智能,我会陆续在新知上分享一些互联网的科普知识,感兴趣的朋友可以关注我的新知号,相信一定会有所收获。
如果有IT领域的问题,也可以咨询我。
谢谢!