paint-brush
工程水平阶梯解释经过@ockam
27,496 讀數
27,496 讀數

工程水平阶梯解释

经过 Ockam10m2023/03/02
Read on Terminal Reader

太長; 讀書

我们想分享我们如何在 Ockam (https://www.ockam.io/) 对工程师进行分级。这是许多公司如何构建级别阶梯的幕后视图。如果您是创始人或正在为您的工程团队构建新结构,希望我们可以为您从头开始构建这些描述节省一些时间。
featured image - 工程水平阶梯解释
Ockam HackerNoon profile picture

我们想分享我们如何在Ockam对工程师进行分级。这是许多公司如何构建级别阶梯的幕后视图,但出于某种原因,它很少被分享。


如果您是一名初级工程师并且正在考虑您的职业轨迹,请查看未来的技能和责任。


如果您是创始人或正在为您的工程团队构建新结构,希望我们可以为您从头开始构建这些描述节省一些时间。

我们的工程阶梯概览

在 Ockam,有三个工程轨道可以容纳具有不同成长目标的团队成员:IC、管理和执行。通常,工程师会一路晋升到高级工程级别的职责,然后再转向人员管理轨道。

级别

个人贡献者轨道

管理轨迹

行政轨道

L1

一级工程师

-

-

L2

二级工程师

-

-

L3

三级工程师

-

-

L4

一级高级工程师

-

-

L5

二级高级工程师

工程[团队]负责人

-

L6

一级工程师

[地区]负责人

-

L7

二级工程师

[产品]总监

-

L8

首席工程师

高级总监

-

L9

-

-

工程副总裁

个人贡献者 (IC) 轨道

下面,我们详细说明了 Ockam 工程级别的职责。


我们的职业阶梯将 L2/L3、L4/L5 和 L6/L7 的职责组合在一起。每个级别之间的区别在于第一级别;期望我们的团队成员表现出该级别的一些或许多行为。


在第二个层次,期望是掌握大部分行为,并开始表现出更高层次的行为。

L1:我的工程师:

影响

  • 范围
    • 根据 Ockam 的工程标准和开发最佳实践学习、编写、测试、审查和记录代码。


  • 责任
    • 完成分配给他们的任务,并充当队友的随叫随到的第一响应者。

功能技能

  • 技术能力
    • 在直接监督下参与小功能和错误修复的软件设计。

    • 在直接监督下完成小型系统管理项目。


  • 知识
    • 至少了解 Ockam 产品中的一个关键组件
    • 可以阐明他们的工作如何与团队的 OKR 联系起来。
    • 了解如何识别和记录小问题。
    • 了解安全的重要性。

行为

  • 可靠性
    • 可以按时按规格交付任务分配。

    • 给定一个小任务的介绍,可以通过结合高级工程师的反馈和建议来推动完成该任务。


  • 协作/沟通
    • 寻求帮助并从中学习。

    • 有效传达任务进度。

    • 可以沟通和阐明他们的责任,并有效地利用 RACI 框架。


  • 生活价值
    • 表现出主动性,并有动力学习工具、资源和流程,以成长为一名工程师,以期更加自给自足。
    • 拥有持续改进、成长的心态。
    • 慷慨地接受反馈并从他们的工作中学习。

L2/3:工程师 II/III:

影响

  • 范围
    • 在经理和高级工程师的指导下开发、发布和维护产品功能。


  • 责任
    • 负责中小型项目的整个生命周期:开发、测试、生产以及后续修复和改进。
    • 能够为他们或他们的团队负责的功能提供随叫随到的支持。

功能技能

  • 技术能力
    • 编写清晰、简洁、经过测试且易于他人理解的代码。

    • 跟踪 GitHub 问题并在外部贡献者或客户提出与其代码相关的票证/问题时做出响应。

    • 通过增强开发工具、测试覆盖率和/或代码结构来改善团队的开发体验。

    • 为代码规范做出贡献并参与小规模代码审查。


  • 知识
    • 掌握对 Ockam 体系结构的至少一个关键特性或部分的所有组件的理解,并对其他几个特性有高层次的理解。
    • 了解 Ockam 的工程标准和开发最佳实践。

行为

  • 可靠性
    • 从错误中吸取教训,并走在持续改进的道路上。

    • 开始专注于获得相邻领域或特征的专业知识。

    • 知道如何确定多项任务或任务的优先级并按时交付。

    • 为外部开源贡献者提供基本指导。


  • 协作/沟通
    • 知道什么时候寻求帮助以疏通自己。

    • 学习如何从团队的高级成员那里获取知识、经验和反馈。

    • 根据 RACI 的职责,有效地向他们的团队传达项目的进展情况,并能够向他们的团队提供深思熟虑的反馈。

    • 了解他们的职责如何与团队的 OKR 保持一致。

    • 与他们的经理保持持续沟通,并知道何时将适当的信息推送给他们的经理。

    • 与他们的经理有效地管理 1:1 的议程。


  • 生活价值
    • 在他们的职责范围内受到他们团队的信任。
    • 积极主动,主动提出并提供帮助,即使没有被要求。
    • 提高他们学习新技能的速度。

L4/5:一级高级工程师/二级:

影响

  • 范围
    • 了解大型或复杂产品功能并做出合理的设计决策。

    • 作为团队的倍增器。通常优先考虑和重视那些使他人能够更快行动的无主或不受欢迎的任务。


  • 责任
    • 负责中型项目的全生命周期:工程设计、开发、测试、生产、部署及后续修复和改进。
    • 为未解决的、定义松散的、技术含量高的问题寻找解决方案。

功能技能

  • 技术能力
    • 设计抽象接口并构建经过良好测试且无错误的模块化库。

    • 定期重构代码以改进错误处理、可测试性和可维护性。

    • 始终如一地编写、共同编写和审查清晰、简洁、经过测试且易于他人理解的文档和生产就绪代码。

    • 积极寻找需要立即修补/更新/澄清的东西,并归档 OSS 贡献者或 L1-3 工程师可以解决的问题。

    • 方法与安全镜头一起工作,并在代码和提供代码审查时积极寻找安全漏洞。


  • 知识
    • 对行业趋势和开发最佳实践的理解不断加深,并且乐于在开源环境中编写代码。
    • 深入了解 Ockam 的所有产品组件并掌握其职责范围内的这些功能。
    • 使用并理解调试和诊断 CI/CD 管道中的问题所需的系统工具。

行为

  • 可靠性
    • 提前两到三周准确预测可交付成果,并按时交付。

    • 在高层指导之外需要最少的监督。

    • 在没有被告知/分配的情况下主动修复问题。

    • 识别问题或任务分配的不清晰、不一致和技术限制,并可以进行纠正性改进。


  • 协作/沟通
    • 在他们的团队和相邻团队(例如 DevEx)中工作以解决问题并推动项目完成。

    • 尽早建设性地升级问题,以帮助纠正路线并确保在 OKR 方面取得进展。

    • 识别整个公司的冲突要求并将它们标记给他们的经理。

    • 识别代码、功能和设计中的风险,并将这些风险传达给他们的团队以协作制定解决方案。

    • 在提出问题的解决方案时,有效地传达多种解决方案的影响和权衡。


  • 影响
    • 能够理解提议的任务何时与团队 OKR 不一致,并能够将这些任务推迟到待办事项列表中。

    • 理解并有效地传达 RACI 在整个团队中的任务。


  • 生活价值
    • 面对障碍坚持不懈,决心推动项目完成。
    • 拥有开发人员的同理心,并利用这种同理心来创造美观、简单且文档齐全的开发人员体验。
    • 保持成长心态,并为自己制定高标准的卓越标准。
    • 能够为自己和团队中的其他人确定并建议未来的工作领域。

L6/L7:高级工程师 I / II:

影响

  • 范围
    • 为执行团队提供技术指导,并做出大规模的架构和设计决策。

    • 与管理和执行团队一起估算、评估和管理项目时间表。


  • 责任
    • 在整个生命周期中领导大型项目。
    • 预测并定义技术问题、风险和问题,这些问题、风险和问题可以转化为任务,然后分配给 IC L1 - L5。

功能技能

  • 技术能力
    • 参与设计审查过程。

    • 寻求建设性的批评,并确保技术反馈被分解并被团队中的其他人充分理解。

    • 了解 Ockam 工具的局限性,当问题超出这些限制时,会产生或指导他们的团队构建新工具。

    • 展示在跨多个轴的广泛复杂技术情况下取得成功的能力:例如,规模、不确定性和相互关联性。


  • 知识
    • 产品源代码中很大一部分的专家。

    • 是其他需要相邻功能帮助的团队的资源。


  • 团队建设/辅导
    • 向管理团队提出意见和建议,以改进团队。
    • 帮助创建职位描述要求,并参与面试循环。
    • 指导多名队友。

行为

  • 影响
    • 能够快速解决整个团队的战术问题,以确保按时完成项目。

    • 确保知识在团队之间共享,并且不会将自己或其他人定位为单点故障。

    • 与开源贡献者和附加合作伙伴建立关系。

    • 监控并了解整个团队发生的工作。

    • 提前两个月准确预测可交付成果,并按时交付。

    • 推动 OKR 在组织范围内的一致性,并利用他们的影响力来激励他们的团队。


  • 生活价值
    • 表现出主动性,并在需要时在团队中的各个级别提供帮助,而不被要求。
    • 在整个团队中建立信任的主要倡导者。
    • 通过他人工作。提升周围人的技能、影响力和专业知识。

L8:首席工程师:

影响

  • 范围
    • 证明成功领导了可能对公司的长期发展产生特殊影响的大型、战略性或复杂项目。

    • 主要通过构建系统、编写工具或引入提高公司生产力水平的政策或模式来充当乘数。


  • 责任
    • 与客户和合作伙伴一起预测新产品用例,并倡导执行团队的产品前沿。
    • 探索广阔的产品空间,与 IC L6 至 L7 合作,定义问题并指导 IC L1 至 L5 寻找解决方案。

功能技能

  • 技术能力
    • 确保针对 RACI 下的项目正确评估技术设计,并就如何改进执行向团队提供建议。

    • 在源产品代码的广泛领域塑造编码方法、风格、DevEx 和最佳实践。

    • 领导大规模代码审查,并可以批准大型功能更新。

    • 能够调试异常困难的大规模问题、安全漏洞或服务中断。

    • 在多个 Ockam 产品中拥有深厚的专业知识,并为这些功能做出高质量的代码贡献。


  • 工程策略
    • 与经理合作,将复杂的 OKR 分解为易于理解的项目,IC L1 至 L5 可以有效地构建和维护这些项目。

    • 在 Ockam 的产品中培养可观察性文化,并帮助团队使用运营数据来提高其团队产品的稳定性和性能。


  • 团队建设/辅导
    • 是全球多元化顶尖人才的招聘人员,可以寻找、销售和帮助关闭对经理和 IC 的报价。

行为

  • 影响
    • 影响并领导与执行团队的对话,讨论全公司 OKR 和产品路线图的方向。

    • 跨团队协作解决问题并构建复杂技术辩论的解决方案。

    • 可以将他们先前存在的开源开发人员和企业架构师关系转换为用户和客户。


  • 生活价值
    • 专注于成为所有团队的导师和榜样;赋予团队中的每个人以出色的角色。
    • 在团队边界之外是 Ockam 价值观和美德的倡导者。