我们想分享我们如何在Ockam对工程师进行分级。这是许多公司如何构建级别阶梯的幕后视图,但出于某种原因,它很少被分享。
如果您是一名初级工程师并且正在考虑您的职业轨迹,请查看未来的技能和责任。
如果您是创始人或正在为您的工程团队构建新结构,希望我们可以为您从头开始构建这些描述节省一些时间。
在 Ockam,有三个工程轨道可以容纳具有不同成长目标的团队成员:IC、管理和执行。通常,工程师会一路晋升到高级工程级别的职责,然后再转向人员管理轨道。
级别 | 个人贡献者轨道 | 管理轨迹 | 行政轨道 |
---|---|---|---|
L1 | 一级工程师 | - | - |
L2 | 二级工程师 | - | - |
L3 | 三级工程师 | - | - |
L4 | 一级高级工程师 | - | - |
L5 | 二级高级工程师 | 工程[团队]负责人 | - |
L6 | 一级工程师 | [地区]负责人 | - |
L7 | 二级工程师 | [产品]总监 | - |
L8 | 首席工程师 | 高级总监 | - |
L9 | - | - | 工程副总裁 |
下面,我们详细说明了 Ockam 工程级别的职责。
我们的职业阶梯将 L2/L3、L4/L5 和 L6/L7 的职责组合在一起。每个级别之间的区别在于第一级别;期望我们的团队成员表现出该级别的一些或许多行为。
在第二个层次,期望是掌握大部分行为,并开始表现出更高层次的行为。
根据 Ockam 的工程标准和开发最佳实践学习、编写、测试、审查和记录代码。
在直接监督下参与小功能和错误修复的软件设计。
在直接监督下完成小型系统管理项目。
可以按时按规格交付任务分配。
给定一个小任务的介绍,可以通过结合高级工程师的反馈和建议来推动完成该任务。
寻求帮助并从中学习。
有效传达任务进度。
可以沟通和阐明他们的责任,并有效地利用 RACI 框架。
在经理和高级工程师的指导下开发、发布和维护产品功能。
编写清晰、简洁、经过测试且易于他人理解的代码。
跟踪 GitHub 问题并在外部贡献者或客户提出与其代码相关的票证/问题时做出响应。
通过增强开发工具、测试覆盖率和/或代码结构来改善团队的开发体验。
为代码规范做出贡献并参与小规模代码审查。
从错误中吸取教训,并走在持续改进的道路上。
开始专注于获得相邻领域或特征的专业知识。
知道如何确定多项任务或任务的优先级并按时交付。
为外部开源贡献者提供基本指导。
知道什么时候寻求帮助以疏通自己。
学习如何从团队的高级成员那里获取知识、经验和反馈。
根据 RACI 的职责,有效地向他们的团队传达项目的进展情况,并能够向他们的团队提供深思熟虑的反馈。
了解他们的职责如何与团队的 OKR 保持一致。
与他们的经理保持持续沟通,并知道何时将适当的信息推送给他们的经理。
与他们的经理有效地管理 1:1 的议程。
了解大型或复杂产品功能并做出合理的设计决策。
作为团队的倍增器。通常优先考虑和重视那些使他人能够更快行动的无主或不受欢迎的任务。
设计抽象接口并构建经过良好测试且无错误的模块化库。
定期重构代码以改进错误处理、可测试性和可维护性。
始终如一地编写、共同编写和审查清晰、简洁、经过测试且易于他人理解的文档和生产就绪代码。
积极寻找需要立即修补/更新/澄清的东西,并归档 OSS 贡献者或 L1-3 工程师可以解决的问题。
方法与安全镜头一起工作,并在代码和提供代码审查时积极寻找安全漏洞。
提前两到三周准确预测可交付成果,并按时交付。
在高层指导之外需要最少的监督。
在没有被告知/分配的情况下主动修复问题。
识别问题或任务分配的不清晰、不一致和技术限制,并可以进行纠正性改进。
在他们的团队和相邻团队(例如 DevEx)中工作以解决问题并推动项目完成。
尽早建设性地升级问题,以帮助纠正路线并确保在 OKR 方面取得进展。
识别整个公司的冲突要求并将它们标记给他们的经理。
识别代码、功能和设计中的风险,并将这些风险传达给他们的团队以协作制定解决方案。
在提出问题的解决方案时,有效地传达多种解决方案的影响和权衡。
能够理解提议的任务何时与团队 OKR 不一致,并能够将这些任务推迟到待办事项列表中。
理解并有效地传达 RACI 在整个团队中的任务。
为执行团队提供技术指导,并做出大规模的架构和设计决策。
与管理和执行团队一起估算、评估和管理项目时间表。
参与设计审查过程。
寻求建设性的批评,并确保技术反馈被分解并被团队中的其他人充分理解。
了解 Ockam 工具的局限性,当问题超出这些限制时,会产生或指导他们的团队构建新工具。
展示在跨多个轴的广泛复杂技术情况下取得成功的能力:例如,规模、不确定性和相互关联性。
产品源代码中很大一部分的专家。
是其他需要相邻功能帮助的团队的资源。
能够快速解决整个团队的战术问题,以确保按时完成项目。
确保知识在团队之间共享,并且不会将自己或其他人定位为单点故障。
与开源贡献者和附加合作伙伴建立关系。
监控并了解整个团队发生的工作。
提前两个月准确预测可交付成果,并按时交付。
推动 OKR 在组织范围内的一致性,并利用他们的影响力来激励他们的团队。
证明成功领导了可能对公司的长期发展产生特殊影响的大型、战略性或复杂项目。
主要通过构建系统、编写工具或引入提高公司生产力水平的政策或模式来充当乘数。
确保针对 RACI 下的项目正确评估技术设计,并就如何改进执行向团队提供建议。
在源产品代码的广泛领域塑造编码方法、风格、DevEx 和最佳实践。
领导大规模代码审查,并可以批准大型功能更新。
能够调试异常困难的大规模问题、安全漏洞或服务中断。
在多个 Ockam 产品中拥有深厚的专业知识,并为这些功能做出高质量的代码贡献。
与经理合作,将复杂的 OKR 分解为易于理解的项目,IC L1 至 L5 可以有效地构建和维护这些项目。
在 Ockam 的产品中培养可观察性文化,并帮助团队使用运营数据来提高其团队产品的稳定性和性能。
影响并领导与执行团队的对话,讨论全公司 OKR 和产品路线图的方向。
跨团队协作解决问题并构建复杂技术辩论的解决方案。
可以将他们先前存在的开源开发人员和企业架构师关系转换为用户和客户。