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