エンジニア採用に携わったことのある方であれば、多くの方が「GitHub(ギットハブ)」や「Qiita(キータ)」を聞いたことがあるのではないでしょうか? なんとなくどういうものか把握はしていても、採用でどう活用すればよいかわからない、という採用担当者も多く見受けられます。
エンジニア採用を進めるにあたっては、エンジニアが日々活用するツールへの理解が必要不可欠です。求職者のスキルチェックや書類選考はすべてエンジニアに任せきりという方も、GitHubやQiitaを理解することで、その人がどんなスキルを持っていて、どんな技術志向なのかを把握することが可能となります。
Qiita Jobsでは、2021年6月2日に「採用担当が押さえておくべきGitHubとQiitaの使い方」というタイトルでセミナーを実施しました。GitHubやQiitaの仕組みや役割を理解することで、現場エンジニアとのコミュニケーションが非常にスムーズになります。
本記事では、こちらのイベント内容についてレポートします。そのエンジニアがどんなエンジニアで、自社とスキルや指向性の観点でマッチする人物なのか。これらの判断で悩みのある方は、是非ご覧ください。
アルバイトを経て、2019年にエイチームに入社。Qiita Jobs開発グループでQiita Jobsの開発に携わる。2020年よりQiita プロダクトマネージャーに就任する。趣味はサウナ。
--まず「GitHub(ギットハブ)」とは何でしょうか?
清野:「GitHub」とは、GitHub社によって提供されている、「Git」を利⽤したソースコー ドを管理するサービスの一つです。Gitとは、プログラムの変更履歴などのバージョンを管理するシステムの一つを示します。つまりGitHubは、このGitを使ったバージョン管理をクラウド上で行い、視覚的に認識できるようにしたものとも言えます。
--バージョン管理とは、具体的にどういうことですか?
清野:例えばソフトウェア開発を考えてみると、システムを作っておしまいではなく、段階的に機能をリリースしていくことになります。その際のリリースをバージョンとして管理していくことを、バージョン管理と言っています。柔軟かつ継続的に開発を進めることができるために必要な仕組みと言えますね。
世界中のエンジニアに利用されているGitHubは、上述のバージョン管理はもちろん、フォローしたり、他ユーザーの活動にリアクションをしたりする機能も備えています。また、公開されたリポジトリ(コードを格納する箱のようなもの)を元に、対象のユーザーがどんな開発を行っていて、どんな活動を行っているのかを把握することもできます。
Gitだけだと一人で開発しているものですが、それをみんなでやるためのプラットフォームがGitHubだと捉えてください。
このGitHubには、さまざまな情報がユーザーに紐付けられています。採用担当としては、たとえば以下のような項目から、対象者の属性情報や、書類選考時・スカウトサービス利用時のスキルチェック、その他の指向性を読み解くことができます。
ここからは、以下の清野のGitHubユーザーページをもとに、解説がなされました。
コントリビューションカレンダーの下には、具体的にどんな活動をしたのかを示す4象限マトリクスも表示されています。コード改善活動を示す4つの指標「Commits」「Code review」「Issues」「Pull requests」に基づいた活動の分布が示されることになります。
--この4つの指標はそれぞれ何を示しているのでしょうか?
清野:Commitsとは要するに自分でコードを書くことで、Code reviewは人が書いたコードのチェックに該当します。またIssuesはタスクをどれだけ作ったかを示すもので、Pull requestはリリースするチェックをするときに作るPull request数を示します。ここを見るだけでも、その人がエンジニアとしてGitHub上でどんな活動をしているのかが、ざっくりとですがわかります。ちなみに僕の場合、2016年の頃はCommitsが100%だったので趣味レベルでコードを書いていることがわかるのですが、現在はCode review が60%でIssuesが40%なので、よりエンジニアマネジメントに振り切っていることがわかります。
清野:ユーザーページのPopular repositoriesでは、ユーザー自らがピン留めしたリポジトリが表示されており、その人がどんなソースコードを書いているのかを確認することができます。また、ここでは送られたスターの数やフォーク(他ユーザーが自分で編集する用にコピーすること)された数を確認することもできます。
とはいえ、コードからその人のプログラミングスキルを定量的に把握するのは、なかなか難しいと感じます。言語も千差万別であれば、絶対に正しいという書き方があるわけでもないので、あくまで参考情報として見るのが良いでしょう。中身だけでなく、量などを見て大きなプロジェクトに携わっているのかも、といったことを把握できるのも、役立つ情報になると思います。
ちなみに、GitHubではここまで見てきたような属性情報などを、さまざまな条件で検索することができます。例えば、日本におけるRubyを使っているエンジニアの人口やどんなユーザーがいるのか、などを確認したい場合は、検索ウィンドウで、以下のように入力することで確認ができます。
例:【 language:ruby location:japan 】
また特定ユーザーのプルリクエスト(他者への編集のリクエストやコメント)なども検索することができるため、そのユーザーのOSS活動なども確認することができます。例:【 is:pr author:ユーザーID 】
清野:GitHubがコードだったのに対して、「Qiita(キータ)」は、エンジニアに関する知識やノウハウを記録・共有するためのサービスです。ユーザーはテキスト記事の投稿・閲覧や、質問の投稿・閲覧をすることができるので、エンジニアにとっては、実装方法やバグの解決方法など何か分からないことがあった時に閲覧するサイトとして機能しています。
またプログラミングに関するものだけではなく、エンジニアのキャリアや学習方法、マネジメントなど、エンジニアにまつわる幅広いテーマの記事が投稿されているので、純粋な読み物としても楽しめるサイトになっています。
先ほどGitHubのところで、コードからだけではその人が何を知っていてどんなスキルがあるのかが読みにくいとお伝えしましたが、Qiitaだとその辺りがより見えるようになると言えます。
--Qiitaって、現在どれくらいのエンジニアが使っているのでしょうか?
清野:会員数は60万人を突破しています。日本のIT人材が110万人ちょっとなので、2人に1人以上がQiitaの会員だということになります。ちなみに、Qiitaに投稿された累計文字数が25億くらいになる、とのことです。(※いずれの数字も、2021年6月2日時点)
前述のとおり、Qiitaの登録ユーザーはほとんどがエンジニアなので、記事を投稿したり、積極的に活動しているユーザーから読み取れることはたくさんあります。例えば以下のような項目から、採用担当者は、書類選考時やスカウトサービス利用時のスキルチェックや指向性を読み解くことができます。
まずは、以下の清野氏のQiitaユーザーページをもとに、解説がなされました。
--ここは何を表しているのでしょうか?
清野:これは、ユーザーの統計情報を表示したものです。
例えばユーザーが記事を投稿する時には、必ずタグを紐つけることになります。Rubyやブロックチェーン、スクラム、アルゴリズムなど、その記事がどういった技術にまつわるものなのかを明確にするために用意されています。これらのタグを集計した上位5つが、ここに表示されることになります。
僕の場合、左側の「投稿した記事」列を見てみると、Rubyという言語に関する投稿をよくしていることが分かりますね。また、tipsやpm(プロダクトマネジメント)も上位にあるので、よりプロマネに近い業務をやっている可能性がある、とも読めるでしょう。
--なるほど。真ん中列の「LGTM」とは何のことですか?
清野:LGTMとは「Looks Good To Me」の略称で、要するに「読んでよかった」「面白かった」と思った記事やコメントに対して行える評価アクションです。つまり、この列では僕が他の記事に対してLGTMしたもののタグを集計したものです。
読んでいてかつ評価している記事なので、その人がどういう情報をどれくらいインプットしているかが分かります。
僕の場合はJavascroptについて一番多く読んで反応してて、その次はReactになっています。アウトプットとインプットが全然違うことが分かりますね。
--最後の列の「回答した質問」とは、どういうことですか?
清野:QitaにはQ&A機能もあって、そこでの回答状況のタグを集計したものが「回答した質問」列の表示になっています。Qiitaのユーザーページには、「フォロー中のタグ」を表示する部分もあるのですが、投稿やLGTMはQiita上での実際のアウトプットに基づいたデータであるという点で、違うものとなっています。実際の行動に基づいているからこそ、各自が持っているスキルを把握することに役立てられると言えます。
--ここでも、よく投稿されているタグの集計がありますね。その会社が注力している技術である可能性が高い、ということですね?
清野:そうですね。例えばIncrementsの場合はRailsとReactを使っているので、まさに、ということになりますね。
--例えば複数のエンジニアが候補者になっている場合、全員の記事を全部読むのって、非現実的だと思います。その場合、最低限何をチェックすれば良いのでしょうか?
清野:その場合は、ユーザーページにある「ピックアップ記事」が良いでしょう。これはユーザー自身で自分の記事をチョイスして、ここに固定表示させている投稿になります。
候補者がここの設定をしている場合は、まずはここを見るのが良いかなと思います。
清野:もし、この設定がされていない場合は、記事の一覧を見て、その中からLGTMの数値が高いものを見るのが良いかなと思います。それが、その人がアウトプットしたものの中で一番評価されたものなので、その人の上限のスキルが分かることになると思います。
今回は「採用担当が押さえておくべきGitHubとQiitaの使い方」というテーマで、GitHubやQiitaの概要や、それぞれの画面の見方、そして人事担当がエンジニア候補者をチェックする場合のポイントについて、それぞれお伝えしました。本記事の内容を理解することで、GitHubとQiitaをより効果的に使えるようになり、エンジニアの技術志向を適切に把握して、結果として現場エンジニアとのコミュニケーションもよりスムーズになるでしょう。
Qiita Jobsでは、今回のようなオンラインセミナーイベントを定期開催しております。本テーマ以外にも、エンジニアリングの基礎知識やスカウト対象の広げ方、採用戦略やブランディングなど、幅広いテーマで開催しているので、興味のあるものがあればぜひご参加ください。
取材/文:長岡 武司