エンジニア採用担当が知っておくべきGitHubの基礎知識

scoutyのカスタマーサクセス担当の金谷です。本記事をはじめとした様々な記事を通して、エンジニア採用の担当者向けに役立つ情報をお届けできればと思います。

今回は、採用担当者向けにGitHubの見方について解説します。GitHubが見れるようになると、候補者のエンジニアとしての得意領域やスキルレベルをおおよそ推測できるようになります。この記事では普段GitHubを使わない方でも候補者のアウトプットを確認できるように、GitHubの基本的な見方をわかりやすく説明していきます。選考やカジュアル面談が予定されている候補者のスキルの把握、面談時の話題、候補者へのダイレクトリクルーティング活動などにご活用ください。

GitHubとは

まず、GitHubとはどのようなWebサービスなのでしょうか。GitHubとは「世界中の人たちが自分のプログラムコードやデザインデータなどを保存、公開することが出来るようにしたWebサービス」です。もう少し噛み砕いて言うと、「書いたコードを誰でも見れるように保存する場所」と言えます。なお、どなたでも無料で登録して使うことができます。(有料プランもあります。)

そのようなGitHubですが、ある記事(※)によると現在約20〜40万人の国内エンジニアが使用していると言われています。IT人材白書によると国内エンジニアの総数がおおよそ約90万人ですから、国内エンジニアの約20〜45%が利用しているということになります。それほど、多くのエンジニアに支持されているサービスと言えます。

このようにGitHubは多くのエンジニアに利用されており、それによってエンジニアが書いたコードが大量に集まっています。採用担当者がGitHubの見方を理解すればエンジニアのスキルを把握したり、自社に必要なスキルを持ったエンジニアを見つけることができるのです。

ちなみに、scoutyのサービスではGitHubを含めた様々なサービスで行われているエンジニアのアウトプットを集約しており、一つのページから対象のエンジニアのアウトプットを横断的に確認する事が可能です。その後、採用したいエンジニアにお送りするスカウトメールでは、実際に確認していただいたGitHub等のアウトプットに言及することを推奨しています。採用側の思いが伝わるスカウトメールには、「しっかり見ていただいた上でのスカウトということで嬉しいです」という返信をいただくことも多いです。

GitHub上の用語整理

ここからは実際の解説に入っていきます。GitHubの使い方を解説する前に、まず知っておいてほしい用語がいくつかあるので説明していきます。

レポジトリ(repository)

リポジトリとも言います。レポジトリとは「ファイルやディレクトリの状態を記録する場所」です。レポジトリの中にエンジニアの書いたコードが入っています。
用語の使い方:〇〇さんのGitHubのレポジトリ「iott(レポジトリ名)」を見ました。

コミット

変更をレポジトリに登録すること。特定のレポジトリに多くコミットしている場合、その分そのレポジトリに手をかけているということがわかります。また最近、特定のレポジトリにコミットしている場合、そのレポジトリを最近更新していることが伺えます。
用語の使い方:◯◯さん、「iott(レポジトリ名)」というレポジトリにたくさんコミットされてますね。

フォーク(fork)

GitHub上の他人のレポジトリを編集するために自分のアカウントにコピーを作成することです。フォークしたレポジトリは、そのアカウントの持ち主のスキルを表すわけではないですが、興味分野を表している可能性があります。
用語の使い方:「iott(レポジトリ名)」をフォークしているのは、△△という分野に興味があるからですか?

スター(star)

TwitterやFacebookにおける「いいね」と同じ意味です。スター数が多いほど他の人にたくさん「いいね」をされています。ただ、基礎的な内容のレポジトリに対しても、参考にする人が多いためにスターが多くつくことがあります。
用語の使い方:◯◯さんの「iott(レポジトリ名)」、スターがたくさんついていてすごいですね。

GitHubの使い方

それでは実際にGitHubに触れていきましょう。
GitHubを使うにはユーザー登録が必要なので、まずは事前にユーザー登録を済ませておきましょう。

ユーザー検索

はじめに上の検索窓から特定のユーザーの名前を検索しましょう。すでに接点のある方であれば、「GitHubのアカウント名を教えてください」とお願いしてみましょう。

以下の画面が出てくるので、左の項目の中から「Users」を選択します。

そうすると、目的のユーザーが出てくるので、選択しましょう。

Overview

上の手順で特定のユーザーのGitHubに入るとまずこの画面が出てきます。いくつか項目があるので、それぞれ説明していきます。

①レポジトリ名
レポジトリの名前です。そのプロダクトが何をするのかを名詞でシンプルに説明しています。

②レポジトリの概要
そのレポジトリが何をするのかを文の形でシンプルに説明しています。

③スター数
スター数が多いと質の高いレポジトリである可能性が高いです。ただし、上述の通り基礎的なレポジトリの場合もあるので、注意が必要です。

④レポジトリがフォークされた数
そのレポジトリがどれだけの人に引用されているのかを示しています。

⑤何の言語のレポジトリか
Python、JavaScriptなど、何の開発言語でコードが書かれているのかを表しています。複数の開発言語で作成されている場合、最もコード量が多い言語が表示されます。

⑥GitHub上での活動履歴
色が濃いほどGitHub上での活動が活発であることを示しています。
この画面では、対象となるエンジニアがどのようなレポジトリを作っているのか(概要やスター数)、使用している開発言語は何が多いのか、最近活動しているのかを確認することができます。

Repositories

次に、上の「 Repositories」をタップすると、以下の画面が出てきます。
こちらでは、更に詳しく対象のエンジニアがどのような活動をしているのかを確認することができます。

①レポジトリのフィルタリング
Sources(本人により作成されたレポジトリ)なのか、Forks(引用したレポジトリなのか)などを選択し、絞り込むことができます。

②言語でレポジトリをフィルタリング
「Python」や「JavaScript」等、特定の開発言語で作成されたレポジトリに絞り込むことができます。

③最近のコミットの動向
右にいくほど最近で、山が大きく、色が濃いほど数多くコミットしています。

④最終アップデート
該当のレポジトリを最後にいつ更新したかが表示されます。

⑤フォーク元
誰からフォークしたレポジトリなのかを示しています。

レポジトリを言語で絞り込むことで、採用者に求める開発言語に対してアウトプットの数を確認することや、どれくらいのスターがついているかを確認することができます。

レポジトリの中身

最後に、レポジトリの中身を見ていきましょう。ここでは「iott」のレポジトリを選択しました。

①ファイル
レポジトリに内包されているファイルです。こちらを選択すると、ファイルごとにエンジニアが書いた実際のコードを見ることができます。

②README.md(リードミー)
レポジトリを作成したエンジニアが書いたレポジトリの説明文です。README.mdを読むとどのようなレポジトリなのか理解できることが多いです。
次の項目でより詳しくREADME.mdについて解説していきます。

README.md

README.mdとは
README.mdとは、GitHubに添付される使用法や注意事項が書かれたファイルのこと。そのレポジトリの説明書という認識で大丈夫です。

README.mdに書かれている内容
必ずしも全てのREADME.mdに以下のことが書かれているわけではないのですが、充実したREADME.mdには以下のことが書かれている場合が多いです。

・レポジトリ名
・どのようなレポジトリなのか
・使い方

これらのうち、見るべきは「どのようなレポジトリなのか」です。そこを読み取ることで、コードが読めなくてもエンジニアのやっていることがだいたい分かるようになります。
英語で書いてある場合が多いので、英語が苦手な方はGoogle翻訳などの手を借りてみましょう。

実際にREADME.mdを読んでみる
以下は、README.mdの中身です。上の画像を下にスクロールした画面が以下です。

一番上を見ると、「iott」とは「Internet Of The Toilet」の略であったとわかります。

その下の「toilet monitoring via raspberry pi.」の部分から、「Raspberry Piを活用したトイレをモニタリングするアプリ」であるとわかります。
(ここでRaspberry Piがわからない方はGoogle等で検索しましょう)

また、「set environment」を見ると「SLACK」の文字がありますので、Slack上で働くアプリであるとも推測できますね。

このように読み進めていくと該当のエンジニアがどのようなアウトプットをされている方なのか理解していくことが可能です。最初は慣れない操作や言葉も多く、苦労することもありますが、慣れていくと勘所がつかめていきます。

採用担当者がGitHubを読めるようになる一番の目的は候補者であるエンジニアのスキル把握です。そのため、コードは読めるに越したことはありませんが、コードが読めない方は、README.mdに書いてあることをGoogle等の検索を活用して理解するようにしてください。それだけで候補者であるエンジニアへの理解が深まることと思います。

終わりに

この記事では、採用担当者向けにGitHubの見方を説明してきました。GitHubはサービス内の表記に英語が多く、少しとっつきにくい印象もあるかもしれませんが、見方に慣れればそこから得るものも大きいです。なによりも、エンジニアの方のアウトプットを見ていると勉強になることも非常に多いので、ぜひ適宜ご確認いただけると良いかと考えます。

なお、scoutyのサービスでは、GitHubなどの様々なサイト上でアウトプットを行っているエンジニアを自社の欲しいスキルで検索し、その方のアウトプットを横断的に確認した上で、スカウトメールをお送りすることができます。人工知能が解析する転職可能性を絞り込みに活用した効率の良いダイレクトリクルーティングも可能です。

ご興味があれば、サービスサイトからサービス内容のご確認や資料請求ができますので、ご覧ください。

 

※参考記事/レポジトリ
Githubを使ってる日本人が何人いるか推計する( https://qiita.com/inamori/items/70177d7e5870bbbf5e50 )
iott ( https://github.com/denzow/iott )

この記事をシェアする
採用担当者様はこちら