でエンジニアをレベルアップする方法を共有したいと思います。これは、多くの企業がレベルのはしごを構築する方法の舞台裏のビューですが、何らかの理由で、めったに共有されません. オッカム あなたがジュニア エンジニアであり、キャリアの軌道を考えている場合は、今後のスキルと責任を確認してください。 あなたが創業者であるか、エンジニアリング チームのために新しい構造を構築している場合は、これらの説明をゼロから構築する時間を節約できることを願っています。 エンジニアリングラダーの概要 Ockam には、さまざまな成長目標を持つチーム メンバーに対応するために、IC、管理、およびエグゼクティブの 3 つのエンジニアリング トラックがあります。通常、エンジニアは、人事管理トラックに切り替える前に、シニア エンジニアリング レベルの責任を果たします。 レベル 個人貢献者トラック 管理トラック エグゼクティブトラック L1 機関士Ⅰ - - L2 エンジニアⅡ - - L3 エンジニアⅢ - - L4 シニアエンジニアI - - L5 シニアエンジニアⅡ エンジニアリング [チーム] リード - L6 スタッフエンジニアⅠ [エリア]の責任者 - L7 スタッフエンジニアⅡ [プロダクト] ディレクター - L8 プリンシパルエンジニア シニアディレクター - L9 - - エンジニアリング担当副社長 個人貢献者 (IC) トラック 以下に、Ockam のエンジニアリング レベルの責任について詳しく説明します。 私たちのキャリアラダーは、L2/L3、L4/L5、L6/L7 をまとめて担当しています。これらの各レベルの違いは最初のレベルにあります。私たちのチーム メンバーは、そのレベルの行動の一部または多くを示していることが期待されます。 第 2 レベルでは、ほとんどの行動を習得し、1 つ上のレベルで行動を示し始めることが期待されます。 L1: エンジニア I: 影響 範囲 Ockam のエンジニアリング標準と開発のベスト プラクティスに従って、コードを学習、記述、テスト、レビュー、文書化します。 責任 割り当てられたタスクを完了し、チームメイトのオンコール ファーストレスポンダーとして行動します。 機能的スキル 技術力 直接監督の下で、小規模な機能やバグ修正のためのソフトウェア設計に参加します。 直接の監督の下で小規模なシステム管理プロジェクトを完了します。 知識 Ockam の製品の少なくとも 1 つの重要なコンポーネントを理解している 自分の仕事がチームの OKR とどのように結びついているかを明確に説明できる。 小さな問題を特定して文書化する方法を理解しています。 セキュリティの重要性を理解しています。 行動 信頼性 タスクの割り当てを時間どおりに、仕様どおりに提供できます。 小さなタスクの紹介が与えられた場合、シニア エンジニアからのフィードバックや提案を取り入れて、そのタスクを完了に導くことができます。 コラボレーション / コミュニケーション 助けを求め、そこから学びます。 タスクの進行状況を効果的に伝えます。 自分の責任を伝えて明確にし、RACI フレームワークを効果的に利用することができます。 生活の価値 イニシアチブを示し、より自給自足を目指してエンジニアとして成長するためのツール、リソース、およびプロセスを学習する意欲があります。 継続的な改善、成長の考え方を持っています。 フィードバックを丁重に受け入れ、彼らの仕事から学びます。 L2/3: エンジニア II/III: 影響 範囲 マネージャーと上級エンジニアの指導を受けて、製品機能を開発、出荷、保守します。 責任 小規模から中規模のプロジェクトのライフサイクル全体 (開発、テスト、生産、およびその後の修正と改善) を担当します。 担当者またはそのチームが担当する機能について、オンコール サポートを提供できる。 機能的スキル 技術力 明確、簡潔、テスト済みで、他の人が簡単に理解できるコードを記述します。 GitHub の問題を追跡し、外部の貢献者または顧客がコードに関連するチケット/問題を提起した場合に対応します。 開発ツール、テスト カバレッジ、コード構造を強化することで、チームの開発エクスペリエンスを向上させます。 コード仕様に貢献し、小規模なコード レビューに参加します。 知識 Ockam のアーキテクチャの少なくとも 1 つの主要な機能またはセクションのすべてのコンポーネントを完全に理解し、他のいくつかの機能を高度に理解していること。 Ockam のエンジニアリング標準と開発のベスト プラクティスに関する理解。 行動 信頼性 間違いから学び、継続的な改善の道を歩みます。 隣接する領域または機能の専門知識を獲得することに集中し始めます。 複数のタスクまたは割り当てに優先順位を付け、時間どおりに配信する方法を知っています。 外部のオープンソースの貢献者に基本的なガイダンスを提供します。 コラボレーション / コミュニケーション ブロックを解除するためにいつ助けを求めるかを知っています。 チームの上級メンバーから知識、経験、フィードバックを引き出す方法を学びます。 RACI の責任に従ってプロジェクトの進捗状況をチームに効果的に伝え、チームに思慮深いフィードバックを提供することができます。 自分の責任がチームの OKR とどのように連携しているかを理解します。 マネージャーと継続的にコミュニケーションを取り、適切な情報をマネージャーにプッシュするタイミングを知っています。 マネージャーとの 1 対 1 の議題を効果的に管理します。 生活の価値 責任範囲内でチームから信頼されている。 頼まれなくても、率先して行動し、支援を提供します。 新しいスキルを習得する速度が向上します。 L4/5: シニアエンジニア I / II: 影響 範囲 大規模または複雑な製品機能を理解し、十分に合理的な設計上の決定を下します。 チームの乗数として機能します。多くの場合、他の人がより速く動けるようにする、所有されていないタスクまたは望ましくないタスクを優先し、評価します。 責任 中規模プロジェクトのライフサイクル全体 (エンジニアリング設計、開発、テスト、生産、展開、およびその後の修正と改善) を担当します。 未解決で大まかに定義された高度に技術的な問題の解決策を見つけます。 機能的スキル 技術力 抽象インターフェイスを設計し、十分にテストされバグのないモジュラー ライブラリを構築します。 コードを定期的にリファクタリングして、エラー処理、テスト容易性、および保守容易性を改善します。 明快で簡潔で、テスト済みで、他の人が簡単に理解できるドキュメントと本番環境対応のコードを一貫して作成、共同作成、およびレビューします。 早急なパッチ適用/更新/明確化が必要なものを積極的に探し、OSS コントリビューターまたは L1-3 エンジニアがピックアップできる明確な問題をファイルします。 アプローチはセキュリティ レンズで機能し、コードとコード レビューを提供する際の両方でセキュリティの脆弱性を積極的に探します。 知識 業界のトレンドと開発のベスト プラクティスに対する理解が深まり、オープンソース環境でコードを書くことに慣れていること。 Ockam のすべての製品コンポーネントをしっかりと理解し、その責任の下でそれらの機能を熟知していること。 CI / CD パイプラインの問題をデバッグおよび診断するために必要な体系的なツールを使用し、理解しています。 行動 信頼性 2 ~ 3 週間先の成果物を正確に予測し、そのタイムラインで成果物を提供します。 高レベルの指示を超えた最小限の監督が必要です。 指示や割り当てがなくても、積極的に問題を修正します。 問題またはタスクの割り当てに関する明確性の欠如、矛盾、および技術的な制限を特定し、是正的な改善を行うことができます。 コラボレーション / コミュニケーション 問題を解決し、プロジェクトを完了に導くために、チームや隣接するチーム (DevEx など) と連携します。 問題や問題を建設的に早期にエスカレートして、コースを修正し、OKR に向けて確実に前進できるようにします。 会社全体で相反する要件を特定し、マネージャーにフラグを立てます。 コード、機能、および設計のリスクを特定し、これらをチームに伝えてソリューションで協力します。 問題の解決策を提示する際に、複数の解決策の影響とトレードオフを効果的に伝えます。 影響 提案されたタスクがチームの OKR と一致しない場合を理解し、それらのタスクをバックログに延期できる。 チーム全体のタスクについて RACI を理解し、効果的に伝達します。 生活の価値 障害に直面しても粘り強く、プロジェクトを完了に導く決意を持っています。 開発者の共感を持ち、その共感を使用して、美しくシンプルで十分に文書化された開発者エクスペリエンスを作成します。 成長の考え方を維持し、高い水準の卓越性を備えています。 自分自身やチーム内の他の人のために、将来の仕事の領域を特定して提案することができます。 L6/L7: スタッフエンジニア I / II: 影響 範囲 エグゼクティブ チームに技術的なガイダンスを提供し、広範なアーキテクチャおよび設計に関する決定を行います。 経営陣および経営陣と共にプロジェクトのタイムラインを見積もり、評価し、管理します。 責任 ライフサイクル全体を通じて大規模なプロジェクトをリードします。 技術的な問題、リスク、および IC L1 ~ L5 に割り当てることができるタスクに変換できる問題を予測して定義します。 機能的スキル 技術力 設計審査プロセスに参加します。 建設的な批判を求め、技術的なフィードバックが分析され、チームの他のメンバーが十分に理解できるようにします。 Ockam のツールの限界を理解し、問題がそれらの限界を超えると、新しいツールを構築するようにチームを作成または指示します。 スケール、不確実性、相互接続性など、複数の軸にわたる複雑で幅広い技術的状況で成功する能力を実証します。 知識 ソース製品コードの非常に大きなセクションの専門家。 隣接する機能について支援が必要な他のチームのためのリソースです。 チームビルディング / コーチング チームを改善する洞察と推奨事項を管理チームにアドバイスします。 職務記述書の要件の作成を支援し、面接ループに参加します。 複数のチームメイトを指導します。 行動 影響 プロジェクトをタイムリーに完了するために、チーム全体で戦術的な問題を迅速に解決できます。 チーム内で知識が共有されていることを確認し、自分自身や他の人を単一障害点として位置付けません。 オープンソースの貢献者やアドオン パートナーとの関係を構築します。 チーム全体で発生する作業を監視し、認識します。 2 か月先の成果物を正確に予測し、そのタイムラインで成果物を提供します。 組織全体で OKR の連携を推進し、その影響力を利用してチームに刺激を与えます。 生活の価値 イニシアチブを示し、必要に応じてチーム内のあらゆるレベルで支援を提供します。 チーム全体の信頼を築く重要な支持者。 他の人を通して働きます。周囲の人々のスキル、影響力、専門知識を向上させます。 L8: プリンシパル エンジニア: 影響 範囲 会社の長期的な成長に大きな影響を与える可能性のある、大規模、戦略的、または複雑なプロジェクトを主導して成功を収める。 主に、システムの構築、ツールの作成、または会社の生産性のレベルを上げるポリシーやパターンの導入によって乗数として機能します。 責任 顧客やパートナーと協力して新しい製品のユースケースを予測し、製品のフロンティアを経営陣に提唱しています。 幅広い製品スペースを調査し、IC L6 から L7 と連携して問題を定義し、解決策を見つけるために IC L1 から L5 を導きます。 機能的スキル 技術力 RACI に基づくプロジェクトの技術設計が適切に評価されていることを確認し、実行を改善する方法についてチームにアドバイスします。 ソース製品コードの広い領域にわたるコーディング方法、スタイル、DevEx、およびベスト プラクティスを形作ります。 大規模なコード レビューを主導し、大規模な機能更新を承認できます。 非常に困難な大規模な問題、セキュリティ上の欠陥、またはサービスの停止をデバッグできます。 複数の Ockam 製品に関する深い専門知識を持ち、これらの機能に高品質のコードを提供しています。 エンジニアリング戦略 マネージャーと協力して、複雑な OKR を理解しやすいプロジェクトに分解し、IC L1 から L5 が効果的に構築および維持できるようにします。 Ockam の製品全体でオブザーバビリティの文化を育み、チームが運用データを使用してチーム製品の安定性とパフォーマンスを向上させるのに役立ちます。 チームビルディング / コーチング 世界的に多様な優秀な人材の採用担当者であり、マネージャーや IC へのオファーの調達、販売、成約を支援することができます。 行動 影響 全社的な OKR と製品ロードマップの方向性について経営陣との会話に影響を与え、リードします。 チーム間で協力して問題を解決し、複雑な技術的議論の解決を構築します。 既存のオープン ソース開発者とエンタープライズ アーキテクトの関係をユーザーと顧客に変換できます。 生活の価値 チーム全員のメンターおよびロールモデルになることに重点を置いています。チームの全員がそれぞれの役割で優れた能力を発揮できるようにします。 チームの枠を超えてオッカムの価値観と美徳を支持する。