Findyとは
Findyはエンジニアのスキルを偏差値化するサービスで、会社ホームページには
高度かつオリジナルなアルゴリズムを用いて
テクノロジーを担う「人(=技術者)」と「組織」の間にある
相互不理解の壁を壊し、両者を適切につなぎます。
https://findy.co.jp/
とのことが記載されています。
具体的には、エンジニアがGitHubのレポジトリをサイトに登録することで、Findyが勝手にそのエンジニアのスキルを偏差値化してくれます。
いろんな言語があり、いろんなフレームワークがある中で、どの様にGitHubのレポジトリ から偏差値を算出しているのかというと、コミットの量であったり、PRの量やIssueの量などで判断している様です。
「年収予測機能」のアルゴリズムも用意している様で、これは経験年数やスキル偏差値から割り出している様な感じになっていると思います。
「スキル偏差値」
GitHubのコミットの量やPR、Issueの量からスキルを判定できるんでしょうか?
GitHubのレポジトリからスキルを算出する「スキル偏差値」に期待するものって、質の高い天才が書いたコードは偏差値70がついて、素人プログラマが書いたコードに偏差値40がつく様なものであって、コードの質に関係なくどのくらい活動しているかでその人のスキルを判定するサービスではないですよね。
なので現在のFindyのGitHubにおける「活動量」をスキル偏差値として扱うのはどう考えても間違っています。
特にこのスキル偏差値ですが実務でGitHubを使っているかどうかでかなり偏差値変わってくるんじゃないかと思っています。
実務では一年で千コミットするのは当たり前かもしれないですが、これがプライベートとなるとそれなりに毎日頑張らないと達成しません。
ここら辺の違いももちろん考慮されずに偏差値が算出されるので、参考にすらならない「スキル偏差値」になっているのかと思います。
そもそも「スキル」とはプログラミングスキルのみ?
企業がエンジニアを雇う際に重視する点って本当にプログラミングスキルでしょうか?
いくつかの会社を転職していく中で思うのは、優秀なエンジニア、そうでもないエンジニアはいるものの、基本的に必要最低限、自分で機能を実装できればプログラミングスキルとしては十分なのではないかなと思うことがあります。
作るアプリケーションによってはとてもハイスキルな能力が求められる場面があるのかもしれませんが、基本的に2~3年位経験あるエンジニアとそれ以上のエンジニアは技術的な面ではそんなに差がないと思っています。
じゃあどんなことが具体的に求められるのかというと、チーム開発においてスムーズに開発を進められるかや、与えられたタスクを簡単に見積もり、見積もった期間内で問題なく終わらせる様なスキルが必要なのかと思います。
それに加えて、サービスを向上させていくために何が必要かを考え行動してくれたりするとチームとしては良かったり、保守性の高いコードを書くために周りにレビューしてくれる様な人がいると今後の開発が進めていきやすくなったりすると思います。
どれも単純にプログラミングスキルとして測れる様なものではない気がします。
Findyに必要なこと
詰まるところエンジニアとして必要な能力ってGitHubの活動量を見て判断できるものでは無いのでそもそもGitHubからスキル偏差値を出すってことが間違っているんだと思います。
じゃあどんなことが必要かですが、そのエンジニアと直接面接を行い、詳細なヒアリングを行ってそのエンジニアのスキルを判定し、スキル判定の結果をある程度担保する形で公開すればエンジニアを雇いたい会社としてはかなりありがたいはずです。
エンジニアとしては技術に対してよくわかっていない採用担当に自分の能力を決められるよりも、エンジニアに関して理解ある人に自分のスキルを経歴やポートフォリオの質、ソースコードの内容、面接でのコミュニケーション能力などから総合的にスキルを判定してもらう方が正しく能力を判定してもらえるのでありがたいはずです。
人間の能力を簡単なアルゴリズムで判定する、しかもそれの元となるデータがGitHubの活動量なのであればどう考えても無理があるので、「スキル偏差値」をアピールしてサービスを展開したいならスキル判定をするためのエンジニアに対して理解のあるスタッフを雇い、人間が面接で詳細な内容を聞いて判定するのが一番良いと思います。
今のままでは、GitHubでたくさん活動してる人を評価するだけのサービスです。
スキルチェックに関して Paizaの様な転職サイトのスキルチェックが意味ない理由(「スキルの可視化」が機能していない) という記事も書いています。
コメントを残す