近年では、転職やフリーランスの求人情報に『GitHubを利用した開発経験』を求めるものが見受けられます。そこでこの記事では、GitHubの説明や、混同しがちなGitとの違い、転職やフリーランスの案件探しでGitHubを有効活用する方法などを説明しています。ぜひともご確認ください。
Contents
GitHubとGitとの違い
GitHubはGitをもとにしたサービスになっているため、まずはGitについて説明をし、そのあとにGitHubのサービス内容についてお伝えします。
Gitとは
出典: Git
Gitとは、ソースコードのバージョン管理システムです。Gitを使えば各種プログラムファイルの共有が簡単にできるようになります。加えて、システム開発や機能拡張などでファイルの内容を追加、変更した場合でも、旧バージョンの履歴をGitに残しておくことができるので、更新後でも簡単に古いバージョンに戻すことができます。
バージョン管理システムには集中型と分散型があり、Gitは分散型のバージョン管理システムになっています。
集中型のバージョン管理システムは、ソースコードの履歴を残しておける『リポジトリ』が全体でひとつしかありません。そのため、開発者が増えていった際にひとつのリポジトリを複数人で共有することになるため、バージョン管理がしづらくなるという欠点があります。
それに対して分散型は、全体の大もとのファイルを管理する『リモートリポジトリ』と、開発者のパソコン上で管理をする『ローカルリポジトリ』を持つため、大もとのリポジトリと開発者それぞれのリポジトリを分けることができます。
分散型は『リポジトリを分散させる』ことで、ローカルリポジトリを利用してネットワークがつながらない場所でも作業ができる、パソコン内で開発者個人のバージョン管理ができる、自分のタイミングでリモートリポジトリへ更新ができる、といった集中型にはないメリットがあります。
Gitは分散型のバージョン管理システムで利便性が高いうえに、オープンソースのツールになっているため世界中のエンジニアに利用されています。セールス情報ツールを作成する米国Slinte社のデータでは、Gitは『バージョン管理システム』でシェアNo.1となっています。(これ以降の情報もすべて2022年8月現在のもの)
出典:Git – Market Share, Competitor Insights in Version Control – Slintelを日本語に翻訳
GitHubとは
出典:GitHub
GitHubはMicrosoft社傘下のGitHub, Inc.が運営する、Gitを利用した開発者支援サービスのひとつです。『Git』というバージョン管理ツールの『Hub|中心地、拠点、結節点』という意味を持っています。
GitとGitHubの関係は、メールで考えるとわかりやすいかもしれません。メールは、インターネットを利用して情報をやり取りする機能がありますが、メールサービスを展開しているものにはGmailやYahoo!メール、Outlookなどがあります。ここでいうGitはメール機能そのもの、GitHubがメールサービスにあたるため、 GitHubはGitを利用したサービスであると説明することができます。
GitHubも、Gitと同じように分散型バージョン管理システムとして、『リモートリポジトリ』と『ローカルリポジトリ』を使って業務をすることができます。 そして、GitHubには業務の効率化に役立つ、便利な機能がたくさんあります。代表的なものは以下の3つです。
- フォーク
ひとつのプロジェクトをフォークの先端のように、複数に分割する機能です。 GitHubは、ユーザーが管理しているフォルダなどのリポジトリを複製して、プロジェクトを分けることができます。フォークを使えばオリジナルのフォルダに影響を与えずに、ローカルリポジトリでプロジェクトの変更がおこなえます。
- プルリクエスト
ローカルリポジトリで個人がおこなった変更を他の開発者に通知し、ソースコードをチェック(コードレビュー)してもらうための機能です。プルリクエストを利用すると担当者とのやり取りを含め、簡単にコードレビューをすることができます。
- マージ
フォークでプロジェクトを分割し、プルリクエストで確認したソースコードを元のリポジトリに統合することを『マージする』といいます。これらのプロセスを守ることで、複数人の開発者がいる場合でも安全で効率的に開発をすることができるようになります。
それ以外のGitHubの機能としては、履歴の流れを分岐して記録していく『ブランチ』、ファイルの追加・変更の履歴をリポジトリに保存する『コミット』、ファイルの追加・変更の履歴をリモートリポジトリにアップロードする『プッシュ』などがあります。
また、GitHubは自分が作成したソースコードを公開する機能があり、他の利用者に自分のソースコードを評価してもらうこともできます。FacebookやTwitterの『いいね』に該当する『スター』という機能や、ユーザーをフォローできる機能もあるため、そのような点は評価の可視化にもつながります。GitHubはSNSと似たような機能も持っているため、『ソースコードのSNS』とも呼ばれています。
米国Slinte社のデータでは、GitHubは『ソースコード管理システム』でシェアNo.1となっています。
出典:Github – Market Share, Competitor Insights in Source Code management market. を日本語に翻訳
GitHubへの登録・利用は転職に有利になるのか
GitHubでは、自分で開発したソースコードを公開すると、誰でも閲覧できるようになります。そのため、この機能を利用すれば公開しているソースコードをポートフォリオのように扱うことができ、履歴書や職務経歴書などと同じように、GitHubの情報を加味したうえで評価を受けることが可能になります。
また、弊社TechReachの案件ではGitHubのスキルについて言及しているものが215件あり、それらの企業はGitHubの利用を前提として募集をかけています。そのため、 GitHubでソースコードを公開していなくとも、GitHubを利用できるだけでそれらの企業には評価されるでしょう。
GitHubが転職時に役立つ理由
GitHubが転職時やフリーランスの案件探しに役立つ理由を3つピックアップしています。
Gitのホスティングサービスが使えることを示せる
GitHubのような分散型バージョン管理システムのことをGitのホスティングサービスといい、GitHub以外にはBitBucketやGitLabなどがあります。これらはGitHubと似ているシステムのため、GitHubが利用できればBitBucketやGitLabにすぐ対応できることが証明でき、その逆もしかりです。
GitHubのようなホスティングサービスを利用している企業では、エンジニアがこれらの業務経験があればある程度のスキルを有していることが予想でき、少なくともGitHubなどについての説明を詳細にする必要がなくなります。その点において、GitHubなどが使えない方よりも有利になることは間違いないでしょう。
また、GitHubなどを導入しようとしている企業にとっても、GitHubを利用できるエンジニアの評価が上がる可能性があります。
バージョン管理ができることを示せる
GitHubが使えるということはGitも使えることになりますので、分散型バージョン管理システムで業務のコントロールができることを証明できます。そのため、GitHubやGitを利用するチーム業務に適応できると判断されるでしょう。
開発実績やコードを公開することで力量を示せる
プログラミングスキルが高く、客観的にも評価されるソースコードが書ける方は、GitHubを利用することで自身の力量を示すことができます。最終学歴や職務経歴書だけではわからない、実際のスキルを企業側に伝えることができるため、評価の判断材料として有利に働くでしょう。
また、GitHubと連携したサービスを利用することで、GitHubの情報からスカウトが来る場合もあります。その点においても、転職時に役立つと判断できます。
GitHubが必須でない企業もある
弊社TechReachでは215件のGitHubに関する案件があるとお伝えしましたが、全体案件数は4,317件となっており、GitHubを利用していない企業も多くある状態です。
また、企業によってGitHubへの評価は変わりますが、大企業ほど採用時に重視しない傾向があるようです。大企業では、即戦力よりも将来性を含めたポテンシャル採用などがあり、人材育成を通してさまざまな知識を教えることができるため、就職や転職の必須スキルにGitHubが挙げられることはあまりありません。
それとは逆に、小規模の企業やスタートアップでは、GitHubのスキルや経験が有利になる可能性が高いです。小規模の企業では他社と連携をしてプロジェクトを進めていくこともあるため、GitHubを利用して開発をするパターンが見受けられます。
最終的なGitHubへの判断は企業によって違う、という結論になってはしまいますが、転職やフリーランスの案件探しで有利になる可能性があり、GitHubをうまく活用することでスキルアップにつながることもあるため、できるなら利用していったほうがよいでしょう。
ソースコードを掲載する際の注意点
まず第一に、情報漏洩事故を起こさないように注意しなければなりません。2021年1月には、三井住友銀行の業務システムのソースコードが流出してしまう事件が起こり、ニュースにもなってしまいました。
情報漏洩はエンジニアとして致命的なミスになり、自社だけでなく関連企業にも損害が発生する可能性があります。そのため、公開するソースコードの管理は厳格におこなわなければなりません。
転職や案件探しの注意点としては、GitHubを利用しているからといって簡単なソースコードだけを公開していたり、更新をまったくおこなっていなかった場合はマイナス評価になる可能性もあります。そのような点も加味したうえで、GitHubがメリットになるように利用していきましょう。
まとめ
今回の記事では、GitとGitHubの仕組みや転職時に役立つ理由などをお伝えしてきました。GitやGitHubなどの分散型バージョン管理システムが使えるようになることで業務の効率化につながり、企業によっては高く評価される可能性もあります。
これらのスキルや経験を持っていて損になることはありませんので、興味を持たれた方はぜひ一度、登録をして利用してみてください。この記事が少しでもお役立てになれば幸いです。
フリーランスの案件をお探しの方はTechReachにご相談ください。
TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。
そのため、高単価・高品質な数多くの案件紹介が可能です。
また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。
TechReachを活用して、理想の案件を見つけましょう!