前段时间准备实习时, 跟 HR 打了个电话. 跟她说我想做软件工程师. 她愣了一下, 只好继续追问. 经过进一步的交流后, 我最终被安排了 Java 软件工程师的实习.
虽然我知道软件工程师有多个细分方向, 但是通常国外多数程序员都会比较笼统的自称为 SE 或 SDE, 并不会强调具体职称, 我也就没有想太多. 毕竟语言都差不多, 单靠移花接木很快就能熟练掌握其他语言, 因此我想用语言作为定语来修饰软件工程师的意义不大.
不过, 既然落漆了, 我就查了查资料了解一下软件工程师有什么层次与职称.
注意: 不同公司面向的业务不同, 因此级别设计和职称设计都可能与本文有出路. 本文仅提供入门级参考, 具体请参照贵公司实际运行情况.
软件工程师层次
根据 Hierarchy - Software Company Hierarchy 的信息, 软件工程师大体可以分为三个级别. 通常说的 SDE(资深开发工程师) 就是按这个层次来做大致区分的.
入门级专业 (Entry Level Professionals)
较新的人员在此级别任命。这个水平被认为是他们职业生涯的垫脚石。他们负责按照中层官员的要求准备报告并维护工作成绩和行政信息记录。他们主要负责按时完成项目。对于入门级或较低级别的专业人员,许多培训和学习计划都是由高级专业人员组织的,这将有助于激励和鼓励他们。该级别的职位如下:
- 高级软件工程师 (Senior Software Engineer)
- 软件工程师 (Software Engineer)
- 软件开发师 (Software developer)
- 初级开发人员 (Junior Developer)
- 程序员分析师 (Programmer analyst)
- 软件测试官 (Software Testing Officer)
- 质量检测官 (Quality Testing Officer)
- 小组领袖 (Team Leader)
中级专业 (Mid Level Professionals)
中层官员在软件公司的成长中扮演着最重要的角色。与组织的其他专业人员相比,它们对组织的绩效和发展有很大的影响。这些专业人员利用其丰富的知识和多年的经验来设计业务计划,公司战略和管理系统。
中级专业人员负责处理组织中的技术和科学问题。这些官员与软件开发专业人员进行交流,以确保项目应满足客户的期望。该级别的职位如下:
- 高级项目经理 (Senior Project Manager)
- 项目总监/项目负责人 (Project Director/Project Head)
- 专案经理 (Project manager)
- 高级项目负责人 (Senior Project leader)
- 项目负责人 (Project leader)
- 高级技术主管 (Senior technical Head)
- 技术负责人 (Technical Head)
- 高级质量分析师 (Senior Quality Analyst)
- 高级测试官 (Senior Testing Officer)
- 高级资源管理官 (Senior Resource Management Officer)
- 人力资源经理 (Human Resource Manager)
高级或顶级专业人员 (Senior Level Professionals)
高级专业人员的奉献精神,奉献精神和参与精神已日益被认为是任何成功的软件组织的先决条件。这些高级专业人员具有丰富的经验和实践经验,对设计,创建和维护有效的业务联系管理计划负责。
该级别的官员主要监督软件开发,财务和市场营销三个职能。他们为公司的利益制定战略并设计计划,从而在其他软件专业人员之间委派责任。该级别的职位如下:
- 董事会 (Board of directors)
- 首席执行官(CEO) (Chief Executive Officer (CEO))
- 首席运营官(COO) (Chief Operation Officer (COO))
- 首席财务官(CFO) (Chief Finance Officer (CFO))
- 首席技术官(CTO) (Chief Technology Officer (CTO))
- 首席收入官(CRO) (Chief Revenue Officer (CRO))
- 首席远见官(CVO) (Chief Visionary Officer (CVO))
- 总裁 (President)
- 副总裁 (Vice president)
软件工程师职称细分
如果要更加准确的描述一个软件工程师的职称, 使用层次来形容就不是那么恰当了. 此时就会使用开发语言或是开发框架作为软件工程师的修饰语. 比如说 Java 软件工程师就是按这个细分来描述的.
根据 The Balance Careers - IT Jobs: Career Options, Job Titles, and Descriptions 中的介绍可知, 软件工程师有以下几类.
云计算工程师 (Cloud Computing Engineers)
云计算工程师利用由Amazon Web Services(AWS)和Microsoft Azure等云提供商管理的系统和基础架构来定义,设计,构建和维护系统和解决方案。
- 云架构师 (Cloud Architect)
- 云顾问 (Cloud Consultant)
- 云产品和项目经理 (Cloud Product and Project Manager)
- 云服务开发人员 (Cloud Services Developer)
- 云软件和网络工程师 (Cloud Software and Network Engineer)
- 云系统管理员 (Cloud System Administrator)
- 云系统工程师 (Cloud System Engineer)
计算机网络专家 (Computer Network Specialists)
计算机网络专家和分析师定义,设计,构建和维护各种数据通信网络和系统。他们通常拥有计算机科学或相关领域的学士学位。有些还拥有工商管理硕士学位(MBA),重点是信息系统。计算机网络架构师的薪水特别高:平均薪水为109,020美元。
- 计算机与信息研究科学家 (Computer and Information Research Scientist)
- 计算机和信息系统经理 (Computer and Information Systems Manager)
- 计算机网络架构师 (Computer Network Architect)
- 计算机系统分析师 (Computer Systems Analyst)
- 计算机系统经理 (Computer Systems Manager)
- IT分析师 (IT Analyst)
- IT协调员 (IT Coordinator)
- 网络管理员 (Network Administrator)
- 网络架构师 (Network Architect)
- 网络和计算机系统管理员 (Network and Computer Systems Administrator)
- 网络工程师 (Network Engineer)
- 网络系统管理员 (Network Systems Administrator)
- 高级网络架构师 (Senior Network Architect)
- 高级网络工程师 (Senior Network Engineer)
- 高级网络系统管理员 (Senior Network System Administrator)
- 电信专家 (Telecommunications Specialist)
计算机支持专家 (Computer Support Specialist)
计算机支持专家和网络管理员可以帮助计算机用户和组织。其中一些工作人员通过测试和评估网络系统并确保日常运行正常工作来支持计算机网络。其他人则通过帮助人们解决计算机问题来提供客户服务。一些需要学士学位,而其他一些则需要副学士学位或专上课程。
- 客户支持管理员 (Customer Support Administrator)
- 客户支持专员 (Customer Support Specialist)
- 桌面支持管理器 (Desktop Support Manager)
- 桌面支持专家 (Desktop Support Specialist)
- 服务台专家 (Help Desk Specialist)
- 服务台技术员 (Help Desk Technician)
- IT支持经理 (IT Support Manager)
- IT支持专家 (IT Support Specialist)
- IT系统管理员 (IT Systems Administrator)
- 高级支持专家 (Senior Support Specialist)
- 高级系统管理员 (Senior System Administrator)
- 支持专家 (Support Specialist)
- 系统管理员 (Systems Administrator)
- 技术专家 (Technical Specialist)
- 技术支持工程师 (Technical Support Engineer)
- 技术支持专员 (Technical Support Specialist)
数据库管理员 (Database Administrator)
数据库管理员帮助存储和组织数据或公司和/或客户。它们可以防止未经授权的用户访问数据。一些为提供计算机设计服务的公司工作。其他公司则为具有大型数据库系统的组织工作,例如教育机构,金融公司等。这些职位的增长速度快于平均水平,预计2018年至2028年之间的职位增长9%。
- 数据中心支持专家 (Data Center Support Specialist)
- 数据质量经理 (Data Quality Manager)
- 数据库管理员 (Database Administrator)
- 高级数据库管理员 (Senior Database Administrator)
信息技术分析师 (Information Technology Analysts)
IT分析师负责为企业设计和实施组织技术。他们创建用于收集和分析市场数据,客户输入和客户信息的解决方案。
- 应用支持分析师 (Application Support Analyst)
- 高级系统分析师 (Senior System Analyst)
- 系统分析 (Systems Analyst)
- 系统设计师 (Systems Designer)
信息技术领导 (Information Technology Leadership)
IT的领导力来自具有强大技术背景和卓越管理技能的候选人。他们具有创建和实施策略和系统以满足IT目标的经验,并且能够预算所需的时间和资金。
- 首席信息官(CIO) (Chief Information Officer (CIO))
- 首席技术官(CTO) (Chief Technology Officer (CTO))
- 技术总监 (Director of Technology)
- IT总监 (IT Director)
- IT经理 (IT Manager)
- 管理信息系统总监 (Management Information Systems Director)
- 技术运营官 (Technical Operations Officer)
信息安全专员 (Information Security Specialist)
安全违规事件的增加以及身份盗用的相关危险增加了保护商业和政府站点上数据的重要性。信息安全分析师可帮助保护组织的计算机网络和计算机系统。
他们计划并执行各种安全措施,例如安装和使用软件,以及模拟网络攻击以测试系统。信息安全工作预计将以比平均速度快得多的速度增长,2018年至2028年之间将增长32%。
- 信息安全 (Information Security)
- 安全专员 (Security Specialist)
- 高级安全专员 (Senior Security Specialist)
软件/应用程序开发人员 (Software/Application Developer)
软件开发人员设计,运行和测试各种计算机程序和应用程序。应用程序开发人员创建新的应用程序和代码解决方案。他们通常拥有计算机科学或相关领域的学士学位。他们还具有很强的编程技巧。从2018年到2028年,软件开发人员的工作预计将增长约21%。软件开发人员的薪水中位数为$105,590。
- 应用程序开发人员 (Application Developer)
- 应用工程师 (Applications Engineer)
- 副开发人员 (Associate Developer)
- 计算机程序员 (Computer Programmer)
- 开发人员 (Developer)
- Java开发人员 (Java Developer)
- 初级软件工程师 (Junior Software Engineer)
- .NET开发人员 (.NET Developer)
- 程序员 (Programmer)
- 程序员分析师 (Programmer Analyst)
- 高级应用工程师 (Senior Applications Engineer)
- 高级程序员 (Senior Programmer)
- 高级程序员分析师 (Senior Programmer Analyst)
- 高级软件工程师 (Senior Software Engineer)
- 高级系统架构师 (Senior System Architect)
- 高级系统设计师 (Senior System Designer)
- 高级系统软件工程师 (Senior Systems Software Engineer)
- 软件架构师 (Software Architect)
- 软件开发师 (Software Developer)
- 软件工程师 (Software Engineer)
- 软件质量保证分析师 (Software Quality Assurance Analyst)
- 系统架构师 (System Architect)
- 系统软件工程师 (Systems Software Engineer)
Web开发人员 (Web Developer)
Web开发人员设计,创建和修改网站。他们负责维护一个用户友好,稳定的网站,该网站可提供满足客户需求的必要功能。有些工作需要学士学位,而其他工作则需要副学士学位,包括HTML,JavaScript或SQL类。
- 前端开发人员 (Front End Developer)
- 高级Web管理员 (Senior Web Administrator)
- 高级Web开发人员 (Senior Web Developer)
- 网络管理员 (Web Administrator)
- Web开发人员 (Web Developer)
- 网站管理员 (Webmaster)
参考资料: