工程师是一个比较宽泛的称呼,比如软件工程师、硬件工程师、网络工程师、前端工程师等等,往往工程师岗位的工作内容更偏向于实施。软件工程师是从事软件开发相关工作的人员的统称,随着互联网的快速发展,软件开发工程师从早些年只有很少一部分从业者,到现在发展到整个行业有大量的从业人员,可以说现在软件开发工程师已经是一个比较普通的工作岗位了。
1、什么是软件开发工程师?
软件工程师(SoftwareEngineer),是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称,通常人们会和程序员(英文Programmer)产生混淆,但其实是两种不同的性质。程序员是从事程序开发、维护的专业人员,一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。
2、工程师、程序员、码农有什么区别?
作为一名从业多年的IT人,我来说说我对这几个概念的理解,工程师是一个比较宽泛的称呼,比如软件工程师、硬件工程师、网络工程师、前端工程师等等,往往工程师岗位的工作内容更偏向于实施。比如我们研究所里有研究员职称体系,也有工程师职称体系,一般从事实施任务的技术人员走的都是工程师职称体系,工程师体系以项目实施情况作为重要考核标准,而研究体系则更多的看研究成果的技术含量、论文质量等等内容。
程序员则是对专注于程序设计工作岗位的一种称呼,程序员的岗位细分也非常多,有后端程序员、前端程序员、嵌入式程序员、移动端程序员(Android、iOS)等,程序员通常分为应用级程序员和研发级程序员,应用级程序员主要的工作内容是做业务功能实现,而研发级程序员往往解决的是系统级问题。简单的说,应用级程序员往往是调用研发级程序员的功能模块来解决业务问题,
科技公司中应用级程序员的数量通常大于研发级程序员,尤其是大型软件企业。码农是很多程序员对自己的一个“戏称”,早期国内很多大型软件公司的主要业务以外包为主,这种开发整体上来说技术含量比较低,大量的工作就是复制粘贴,而且加班情况非常普遍,因此很多从事此类工作的程序员戏称自己为“复制粘贴员”、“搬运工”或者“码农”等,
目前随着我国IT领域的结构化升级,“码农”会逐渐消失。简单的总结一下,工程口的技术人员多称为工程师,研发口的技术人员多称为程序员,技术含量低、工作量大的应用级程序员称自己为“码农”,我的研发方向是大数据和人工智能,我会陆续在头条上分享一些互联网的科普知识,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
3、有人说软件开发工程师是一个很高大上又高不可攀的职业,你认同吗?
随着互联网的快速发展,软件开发工程师从早些年只有很少一部分从业者,到现在发展到整个行业有大量的从业人员,可以说现在软件开发工程师已经是一个比较普通的工作岗位了,当然,软件工程师的从业门槛相对来说还是比较高的。软件开发工程师目前的细分领域也比较多,有专注于互联网开发的软件工程师,也有专注于具体行业(金融、通信等)的软件工程师,这些软件工程师由于从事的领域不同,需要掌握的技能和知识结构也有一定的差异,
目前,从事软件工程师的渠道有很多,比如可以通过报考计算机相关专业的方式,或者通过一个系统的培训过程,或者是自学,都有从事软件工程师工作岗位的机会。软件工程师的基本知识结构包括以下几个方面:操作系统知识,操作系统知识是软件工程师必须掌握的重要内容,通常软件工程师要系统的掌握操作系统体系结构、功能模块划分、系统API等内容,同时也要掌握多种操作系统的使用,一般Linux操作系统是必须掌握的。
计算机网络知识,计算机网络知识对于软件工程师来说同样重要,主要涉及到计算机网络的架构、交换机、路由器以及各种网络设备的功能。同时要掌握计算机网络数据通信的实现过程,对网络协议有一定程度的理解,数据库知识,软件工程师一定会与各种数据库打交道,因为数据是软件的核心内容之一,尤其是管理软件,数据库知识包括数据组织结构、sql语言、事务处理、数据备份等内容,现在的大数据时代还需要掌握NoSql数据库的原理和使用过程。