エンジニア100人に聞いたら、一流のエンジニアになるには30,000コントリビューションが必要だと分かった
2024年12月22日 18:48
https://i-ssue.com/topics/de478ab0-b0d1-4449-a8ff-0d4c8f403896
Githubのprofileページ(https://github.com/:username
)から確認できるcontributionという機能があります。Github上で特定の活動をした場合カウントされます。この値は実質開発業務で必要な作業内容を表しているのでGithub上でどれだけ開発をしたかを測れる指標になると考えています。
contributionがカウントされるアクションでも具体的にどれくらいカウントできるかはわかりません。また、privateな活動でのcontributionは本人が許可しない限り、公開されることはありません。なので基準が不透明になりやすくあまり活用されていないように感じます。
ISSUEでの活動で100人のジュニアから経験豊富なエンジニアにヒアリングして得られた結果からcontribution対応票を作りました。
初学者レベルとしました。プログラムの仕組みやオブジェクト指向など基本的な内容を開発しながら覚えていく段階です。プログラミングを始めたての方やインターンとして開発業務に参加した方を想定しています。
基本的なプログラミングスキルを身につけつつ、その精度が高められていく段階です。小規模なプロジェクトを任せられたり、年次の浅いエンジニアのフォローなどを担当していることが多いようでした。
リードレベルです。中規模以上のプロジェクトを任せられ、技術選定でも発言力が出てきます。規模の小さい組織によっては最も技術力のあるポジションの場合もありました。業務内容もコーディングだけでなくレビューなど自分の担当した部分以外にも広がっていきます。
マネージャーレベルです。幅広いレイヤーに知見を持ちエンジニアに適切なタスクをアサインできます。上記のレベル感に比べてBiz側とのコミュニケーションを取るブリッジの役割も多くなります。スケジュールやプロダクトの方向性など非技術者に対するコミュニケーション能力も磨く必要があります。
CTO、技術責任者レベルです。技術はもちろんですが、事業の方向性や資金調達のタイミングなど経営視点を考慮した意思決定能力も必要になります。開発組織のあり方を導いていく立場にもあるのでコーディングだけでなく採用、技術トレンドなど幅広く網羅された経験と知識が必要になるようです。
毎日コードを書くような方なら2,000 ~ 5,000くらいが年間平均のcontribution数のようでした。中には10,000を超えた方もいたのですが、正確な原因を明らかにできませんでした。contribution数の変動要素としては以下のようなものが挙げられました。
contributionの変動要因
よく「1万時間の練習で一流になれる」と言います(例えばギタリストなるために1万時間練習するなど)。エンジニアも例外ではないと思います。単に業務時間を数えてもいいと思いますが、エンジニアならではなの新しい一流の定義としてcontribution数を上げてみました。ぜひ皆さんの参考になれば幸いです。
自分の力を測るには複数の軸を利用するのがおすすめです!単価診断はこちらから
エンジニアの副業やフリーランス、スキルアップについての情報発信してるのでフォローしていただけると励みになります!
@twinsdevelopper
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。