程序员级别参考
Level 1
- 外部职称:[初级]软件工程师
- 角色:构建定义的功能,调查和修复错误,编写测试。沟通进度,识别阻塞问题,找到工作与生活的平衡点。
- 经验:0~3年
- 反模式:代码质量差。没有自我激励;需要有人告诉下一步该做什么;不断转向杂草。更倾向于责备抱怨而不是卷起袖子。感到无奈,缺少希望。无视团队流程;
- 特性:初级工程师为公司带来了大量的原始能源和潜力,需要帮助公司进行前期项目规划,并将任务分解为特定的工作块。团队负责人应该经常检查以确保初级软件工程师方向是否正确。
Level 2
- 外部职称:[二级]软件工程师
- 经验:1~8年
- 作用:拥有一个功能区。将大量请求分解为子任务,提供更高级别的状态更新。写测试计划。承担运营责任。设定可衡量的目标,并满足它们。评论代码更改。帮助指导新员工。
- 反模式:消失在与业务无关的项目中,无法识别或传达重大障碍。不断低估时间表。不认真对待运营,提出的解决方案比实际需要的更复杂。
- 特性:二级软件工程师可以拥有一大批重要软件。公司可以信任你分解复杂的任务,做出合理的决策,并在定期签到之间相当独立地运作。这一阶段,你的沟通和批判性思维技能至关重要。
Level 3
- 外部职称:高级/3级 软件工程师
- 经验:5年以上
- 角色:这一阶段的你拥有整个产品或大型项目的开发和推广,冠军进程(Scrum,TDD等)。在开始重大项目之前编写技术规范并识别风险。设定标准。尽力减少复杂性。根据需要,承担额外的“技术主管”责任,以推动完成计划。
- 反模式:傲慢的混蛋,不委托。总是说“是”并且对工作倦怠。在没有仔细考虑的情况下跳入执行,不重视细节。风险意识弱,不重视项目中的人员问题。忽略新技术和行业趋势。
- 特性:高级工程师对整个产品(例如整个应用程序或服务套件)拥有权限。除了提供可靠且可维护的软件外,还了解公司的动态和良好的流程。高级工程师经常戴上额外的“技术领导”帽子。这意味着他们承担了项目管理和流程监督的(不讨好的)工作,让项目按时运行。拥有稳固地位的高级工程师很乐意成为个人贡献者,并且不想转向管理或一般架构。
Level 4
- 外部职称:架构师(或首席工程师,或一个很酷的头衔)
- 经验:8年以上
- 角色:你拥有跨团队共享基础架构的权限。与CTO和其他架构师合作,选择新技术,促进文化/流程。在业务关键领域拥有深厚的技术专长。研究评估和测试选项。需要了解可靠性,可扩展性,运营成本,组织采用的便利性,招聘等的影响(和权衡)。
- 反模式:过分强调扩展或高可用性,远远超出业务需求。花太多时间追逐最新的“闪亮”技术。不合作或提问。居高临下。对高级领导感到愤怒。
- 特性:4级工程师是能够评估系统范围平台决策,并制定长期公司范围技术战略的架构师。4级工程师通常有两个角色,既可以作为功能团队的个人贡献者,也可以作为与CTO合作的架构审阅者。