エンジニアに関わりが深いツール・サービスとしてGitHubが挙げられます。実際に現場で利用しているエンジニアもいれば、耳にしたことがあるだけのエンジニアもいるでしょう。どちらの場合においても、エンジニアが転職する際にGitHubの経験やスキルが必須であるかどうかは気になるはずです。
今回は、転職を考えているエンジニアに向けて、GitHubのアカウント作成や利用の経験が必須であるかどうか解説します。また、GitHubを使いこなせるメリットや転職に活用する注意点についても同時に解説します。
エンジニアに関わりが深いツール・サービスとしてGitHubが挙げられます。実際に現場で利用しているエンジニアもいれば、耳にしたことがあるだけのエンジニアもいるでしょう。どちらの場合においても、エンジニアが転職する際にGitHubの経験やスキルが必須であるかどうかは気になるはずです。
今回は、転職を考えているエンジニアに向けて、GitHubのアカウント作成や利用の経験が必須であるかどうか解説します。また、GitHubを使いこなせるメリットや転職に活用する注意点についても同時に解説します。
GitHub is a tool and service that is closely associated with engineers. Some engineers may actually use GitHub in the field, while others may have only heard of it. In either case, you may be wondering whether or not GitHub experience and skills are required for an engineer looking to change jobs.
In this article, we will explain whether or not experience in creating and using a GitHub account is required for engineers considering a career change. We will also explain the advantages of being able to use GitHub and the points to keep in mind when using GitHub for your new job.
GitHubはエンジニアに関わりが深いものですが、その詳細を理解できていない人もいるでしょう。まずは、GitHubとはどのようなツールであるのか解説します。
GitHubは、エンジニアがソースコードを共有し、共同で作業するためのプラットフォームです。Gitバージョン管理システムを基盤に構築されたもので、開発プロジェクトにおいてソースコードを追跡したり、複数のエンジニアが同時に作業したりすることを実現します。
ソースコードを共有したり共同で開発したりするだけではなく、既存のソースコードを流用して別のソースコードを生成する機能があります。また、複数人で開発している場合は、管理者が変更を承認するかどうか判断できるため、統制が保てる仕組みです。これらの機能を駆使することで、新機能の開発やバグの修正をスムーズに進められるため、エンジニアの世界ではGitHubが多用されています。
GitとGitHubは密接に関連していますが、大きく異なる部分があります。
まず、Gitは2005年に開発されたオープンソースのバージョン管理システムです。ソフトウェア開発プロセスの変更管理を容易にするもので、分散型バージョン管理システムとして設計されています。それぞれのエンジニアがローカルにコピーを持ち、完璧にバージョン履歴を保持できるため、ネットワークに接続していない環境でも開発が可能です。
一方、GitHubはGitのバージョン管理機能を基盤として開発されたWebベースのツールです。ソフトウェア開発プロジェクトを効率化するために、多くのエンジニアが利用しています。
つまり、Gitはバージョン管理の根本的な考え方であり、GitHubは具体的なバージョン管理ツールです。似ていますが、厳密には異なっているため、これらの違いを理解しなければなりません。
GitHub is closely associated with engineers, but some may not understand its details. First, let us explain what kind of tool GitHub is.
GitHub is a platform for engineers to share and collaborate on source code, built on top of the Git version control system, which allows engineers to track source code and work simultaneously on development projects.
In addition to sharing and collaborating on source code, it has the ability to divert existing source code to generate different source code. In addition, if multiple people are developing the project, the system allows the administrator to decide whether to approve changes, thus maintaining control. Because these features make it possible to develop new features and fix bugs smoothly, GitHub is heavily used in the engineering world.
Although Git and GitHub are closely related, there are some major differences.
First, Git is an open source version control system developed in 2005. It facilitates change management in the software development process and is designed as a distributed version control system. Each engineer can have a local copy and keep a complete version history, allowing development even in environments without a network connection.
GitHub, on the other hand, is a web-based tool developed based on Git's version control functionality. It is used by many engineers to streamline software development projects.
In other words, Git is the fundamental concept of version control, and GitHub is a concrete version control tool. Although similar, they are strictly different and one must understand these differences.
エンジニアの転職時に、GitHubが必要であるか気になる人は多いでしょう。この疑問について、以下の通り解説していきます。
結論として、GitHubの内容を評価するかどうかは、転職先の考えに左右されます。開発してきた内容を大きく評価することもあれば、アカウントを持っているのかさえ問われないこともあるのです。また「履歴書や職務経歴書に記載されていればチェックする」というスタンスの会社もあります。
そのため、GitHubのアカウントを作成したり情報を発信したりすることは、絶対に必要であるとは言い切れません。エンジニアとしてどのような会社に転職したいかで大きく変化します。ただ、転職先の規模によって一定の傾向が見られるため、以下では その点について解説していきます。
大企業の場合、GitHubを活用しているかどうかはあまり評価されない傾向があります。事前にある程度の採用基準が定められていることが多く、定量的に評価しにくいGitHubを活用した実績などは重視されないのです。アカウントを保有し何かしらのポートフォリオを公開していると、担当者がチェックしてくれる可能性はありますが、他の要素で評価されることが多いと考えましょう。例えば、エンジニアとして転職前に求める経験があるかどうかなどが評価されます。
そもそも、大企業はエンジニアが多く在籍していることもあり、全員がGitHubを使いこなせる必要はないと考えられます。プロジェクトの都合で習得する必要のあるエンジニアだけが習得し、それ以外のエンジニアは、どちらでも差し支えないのです。入社してからナレッジを共有する体制なども整っていることから、必要に応じて習得してもらえば良いとの考え方があります。
中堅企業の場合は、GitHubを利用しているかどうかで評価が大きく異なります。日頃から開発に利用している場合は、使いこなせるという事実が評価されるのです。逆に、開発でGitHubを利用していない場合は、使いこなせるかどうか自体は大きく評価されません。
ただ、中堅企業は技術力を評価することが多くあり、GitHubに掲載されているソースコードの内容を評価してくれる可能性が十分にあります。例えば、自分なりに要件を定めてWebシステムを開発していれば、実装に利用した技術やソースコードの品質を評価してくれるのです。大企業よりも即戦力を求める傾向があるため、技術力を評価するためにGitHubの内容に目を通してもらえます。
ベンチャー企業は最低限のエンジニアで開発することが多く、全員が各種ツールを活用できなければなりません。そのため、GitHubを導入している企業においては、今までに使いこなしたことのあるエンジニアかどうかは非常に重要です。在籍している人数が少なく、教育に割ける時間も少ないため、転職してすぐに利用できるかどうかが重要視されます。
また、中堅企業よりも即戦力を求める傾向にあり、実際にどの程度のスキルを持っているのかが重要視されやすいことが特徴です。GitHubにポートフォリオを公開していれば、自分のスキルを簡単に証明できます。
Many people are wondering if GitHub is necessary when an engineer changes jobs. This question is explained below.
In conclusion, whether or not GitHub content is valued depends on what the company you are changing jobs with thinks. Sometimes they will greatly value what you have developed, and other times they may not even ask if you have an account. Some companies take the stance that they will only check your resume or CV if you have one.
Therefore, it is not absolutely necessary to create a GitHub account or to send out information. It depends greatly on the type of company you want to work for as an engineer. However, there are certain trends depending on the size of the company you are changing jobs for, and we will discuss them below.
In the case of large companies, whether or not you use GitHub tends not to be evaluated very highly. They often have a certain amount of hiring criteria in advance, and they do not place much importance on your achievements in utilizing GitHub, which is difficult to evaluate quantitatively. If you have an account and a portfolio of some sort, it is possible that the person in charge will check it, but you should consider that you will often be evaluated based on other factors. For example, you will be evaluated on whether you have the experience they are looking for as an engineer before you change jobs.
To begin with, large companies may have a large number of engineers on their staff, and it is not necessary for everyone to be proficient in GitHub. Only those engineers who need to learn it for the sake of the project will learn it, and the rest of the engineers will be fine with either. The company has a system in place to share knowledge after an engineer joins the company, so the idea is that the engineer can learn as needed.
In the case of mid-sized companies, the evaluation differs greatly depending on whether or not they use GitHub. If they use GitHub for development on a regular basis, the fact that they can use it is highly valued. On the other hand, if you are not using GitHub for development, your ability to use it is not evaluated highly.
However, mid-sized companies often evaluate technical skills, and there is a good chance that they will evaluate the content of source code posted on GitHub. For example, if you have set your own requirements and developed a web system, they will evaluate the technology you used for implementation and the quality of the source code. Since they tend to seek immediate results more than large companies, they will look over the contents of your GitHub to evaluate your technical skills.
Venture companies often develop with a minimum number of engineers, all of whom must be able to utilize various tools. Therefore, in companies that have implemented GitHub, it is very important that the engineers are familiar with it by now. Since the number of engineers on staff is small and there is little time to devote to training, it is important that they are able to use GitHub immediately after moving to a new company.
If you have a portfolio on GitHub, you can show your su
転職時にエンジニアがGitHubのアカウントなどをアピールすることにはメリットがあります。いくつも考えられますが、代表的なメリットは以下の4つです。
GitHubを紹介することによって、過去の成果物を紹介できることがメリットと考えられます。エンジニアの世界では「ポートフォリオ」と呼ばれることが多いもので、過去にどのような開発に従事したか示すものです。エンジニアの種類によりますが、例えば開発したシステムを示したり、特定のシステムで使われているアルゴリズム部分を示したりします。
成果物の紹介としてGitHubを活用することで、どのようなアルゴリズムでソースコードを書いたかまで示すことが可能です。エンジニアとしての成果物を示すだけであれば、製品名やサービス名などを紹介するだけで良いですが、転職ではより詳細な部分まで確認されます。ソースコードまで示すことと製品やサービスまで示すことには大きな違いがあるのです。
なお、ここでは成果物と呼んでいますが、実際のプロジェクトで作成したものであるかどうかは問われないケースが多くあります。例えば、転職に向けて架空のプロジェクトを立ち上げ、その目的を達成するために開発したことにしても差し支えないのです。開発の目的や利用したスキルなどが明確ならば、実務かどうかは問われません。
一般的に、GitHubは複数人で開発するために利用されるものです。そのため、過去にGitHubを活用した経験を示せれば、チームでの作業経験を示すことにもつながります。転職先によっては、チームでの開発を重視している可能性があるため、そのような経験やスキルを示せることはメリットです。
また、GitHubには重要な機能として「フォーク」「プルリクエスト」「マージ」があります。エンジニアとして、これらを利用した経験があれば、転職先へのアピールとなるでしょう。これらには独特の概念やルールがあるため、それらを事前に理解していることはアドバンテージになります。
なお、チームでの作業経験がない場合は、このようなGitHubの操作を利用したことがないかもしれません。その場合、チームではなく個人としてこれらの機能を利用して、操作に慣れていることを補足できるとなお良いでしょう。
実際にソースコードなどを示せることで、どのようなスキルを保有しているのか証明できることがメリットです。口頭や職務経歴書だけでは、どの程度そのスキルを使いこなせるのか判断できませんが、GitHubでソースコードを確認することで、その度合いを判断できます。
例えば、Javaで多用される「Spring」は、非常に多くの機能を有したフレームワークです。そのため「Springの開発に慣れています」と説明しても、具体的にどのモジュールをどの程度使いこなせるのか判断に困ります。実は転職先の担当者が求めているスキルと大きく異なったスキルを有しているかもしれません。しかし、実際にソースコードを確認すれば、フレームワークの中でもどのモジュールを使いこなせるのか確認できます。
ただ、ここで重要となることは、採用担当者が技術面に長けているかどうかです。このようにスキルを伝えられることはGitHubを活用するメリットですが、閲覧する側がその内容を読み解けなければ意味はありません。採用担当者にエンジニアが含まれている場合はメリットになりやすいですが、採用部門の担当者だけの場合、やや訴求力に欠ける可能性があります。
エンジニアとしてGitHubを利用している事実を伝えることで、スムーズに開発へと参画できることを証明できます。即戦力を求めている場合、今までにGitHubを利用したことがあるかどうかは重要であるため、ここに訴求できることはメリットです。特に規模の小さな企業へ転職したい場合、教育のコストなくプロジェクトへ参画が可能であると証明できます。
メリットでも解説したとおり、GitHubを利用してチームで開発するためには、概念やルールを理解しておかなければなりません。事前に説明すれば理解できる内容だとは考えられますが、企業によっては可能な限りこのコストを抑えたいでしょう。そのような要望に応えられるスキルなのです。
なお、GitHubを利用するにあたっては、リポジトリにアクセスするためのソフトウェアやコマンドも使いこなせる必要があります。ただ、ソフトウェアについては選択肢が多く企業によって利用しているものが異なるため、質問の時間に確認しつつ自分のスキルで対応できることを示すと良いでしょう。
There are advantages for an engineer to promote a GitHub account or other account when changing jobs. There are a number of possible benefits, but the four most common are.
One possible benefit of promoting your GitHub account is that it allows you to showcase your past work. In the engineering world, this is often referred to as a "portfolio," and it shows what kind of development you have worked on in the past. Depending on the type of engineer, it may show, for example, the systems developed or the algorithmic parts used in a particular system.
By utilizing GitHub as an introduction to your deliverables, you can even show what algorithm you used to write the source code. If you just want to show your deliverables as an engineer, you can simply introduce the name of the product or service, but in a job interview, the details will be checked in more detail. There is a big difference between showing the source code and showing the product or service.
In many cases, the deliverables, as we call them here, may or may not have been created in an actual project. For example, it is acceptable to set up a fictitious project for a new job and say that it was developed to achieve that goal. As long as the purpose of the development and the skills utilized are clear, it does not matter whether it is practical or not.
In general, GitHub is used for development by multiple people. Therefore, if you can show experience using GitHub in the past, you can also show experience working in a team. Some employers may emphasize team-based development, so being able to demonstrate such experience and skills is an advantage.
In addition, GitHub has important functions such as "fork," "pull request," and "merge. As an engineer, experience using these functions will appeal to potential employers. Since these functions have unique concepts and rules, having a prior understanding of them will be an advantage.
If you have no experience working in a team, you may not have used such GitHub operations. In that case, it would be better if you can supplement your familiarity with these features by using them as an individual rather than as part of a team.
The advantage of being able to show actual source code is that you can prove what skills you possess. While it is difficult to determine the extent to which you are able to use your skills based only on your resume or verbal description, you can determine the degree of your skills by checking the source code on GitHub.
For example, "Spring," which is widely used in Java, is a framework with a great number of functions. Therefore, even if you explain that you are familiar with Spring development, it is difficult to determine which modules you are familiar with and to what extent. In fact, your skills may be very different from what the person in charge of your new job is looking for. However, if you actually check the source code, you can confirm which modules in the framework you are familiar with.
However, what is important here is whether the hiring manager is skilled in the technical aspects of the job. The advantage of using GitHub is that you can communicate your skills in this way, but it is meaningless if the person viewing the content is not able to decipher it. If the hiring manager includes an engineer, this is likely to be an advantage, but if the hiring department is the only one in charge, it may be somewhat less appealing.
By communicating the fact that you use GitHub as an engineer, you can prove that you can smoothly participate in development. If you are looking for immediate employment, it is important to know if you have used GitHub before, so being able to appeal to this is an advantage. Especially if you are looking to move to a smaller company, you can prove that you can participate in projects without the cost of training.
As explained in the merit section, in order to develop with a team using GitHub, you need to understand the concepts and rules. While it is conceivable that this is something that can be understood if explained in advance, some companies will want to minimize this cost as much as possible. This is a skill that can meet such a demand.
In order to use GitHub, you will also need to be able to use software and commands to access the repositories. However, there are many options for software, and different companies use different software, so it is a good idea to demonstrate that your skills can handle this while checking with them during question time.
エンジニアが転職時にGitHubを公開することには多くのメリットがあります。ただ、公開にあたっては注意点があるため、以下3点を考慮するようにしてください。
ソースコードを公開することでスキルを証明できますが、秘密保守義務があるものを公開してはなりません。多くの情報を公開したいと考えるエンジニアが見受けられますが、秘密保守義務を無視して公開すると大きな問題になります。場合によっては損害賠償請求を受けることになりかねません。
エンジニアの秘密保持義務は、あらゆる場面で生じる可能性があるため注意が必要です。例えば、会社員エンジニアとして働いている場合は、転職前の情報全てについて秘密保持義務が適用される可能性があります。この場合、会社員時代のソースコードはGitHubで公開できず、どのようなプロジェクトに参画したかだけを伝えることになるのです。副業フリーランスとして受注する場合も同様に、自由には公開できないケースが多いため、契約の詳細について確認が求められます。
特に会社のメールアドレスでGitHubのアカウントを作成している場合は、ここで管理しているソースコードに秘密保持義務が適用される可能性が高いです。その都度、秘密保持義務について指示されなくとも、就業規則などに記載されている可能性があるため目を通しておきましょう。
公開するソースコードの品質が悪い場合、マイナスの方向に働く可能性があります。今回は、基本的にGitHubのアカウントがありソースコードを公開できることはメリットとしていますが、デメリットになってしまうこともあるのです。
例えば、公開しているソースコードに多くのバグが含まれていると、エンジニアとしての評価が下がる可能性があります。エンジニアとして開発する以上、可能な限りバグのないプログラムを目指さなければなりません。どうしてもバグが残ってしまうことはありえますが、あまりにもバグが多いと、その程度の開発しかできないエンジニアだと評価されてしまいます。また、フレームワークを利用していても、基礎中の基礎しか利用できていなければ評価は下がってしまうのです。
どの程度の品質であればマイナスに働かないかは、定量的に示せる部分ではありません。ただ、他人に公開する以上はバグを減らしたりコメントを付与したりするなど、マイナスの要素を減らすべきです。
冒頭でも触れましたが、GitHubを評価するかどうかは企業の考え方に左右されます。場合によっては、アカウントを持っていたり積極的に活用していたりしていても、どのようなスキルを有しどのようなプロジェクトに参画した経験があるかが重視されることがあるのです。
例えば、会計システムを開発する人材を求めているならば、そのようなプロジェクトへ参加した経験があるかどうかを重視している可能性があります。特に専門的なスキルが求められる開発の場合、今までに同様の経験があるかどうかは重要なポイントなのです。
今までに参画したプロジェクトは、GitHubではなく職務経歴書などを通じて伝えなければなりません。また、転職時の面接で詳細を深掘りされることも考えられます。専門的な開発を想定したポジションへと転職したいならば、GitHubよりも経験を訴求することを検討しましょう。
There are many advantages for engineers to publish their GitHub when changing jobs. However, there are some precautions to take when publishing, so please consider the following three points.
Although you can prove your skills by releasing source code, you should not release code that is under a duty of confidentiality. We see engineers who want to release a lot of information, but if you ignore your duty of confidentiality and release it, you will be in big trouble. In some cases, this may result in a claim for damages.
It is important to note that an engineer's duty of confidentiality can arise in any situation. For example, if you are working as a company employee engineer, the duty of confidentiality may apply to all information you had before you changed jobs. In this case, you would not be able to disclose source code from your time as a company employee on GitHub, and you would only tell what projects you participated in. Similarly, in many cases, you cannot freely disclose your work when you receive orders as a side freelancer, so you will be required to confirm the details of your contract.
In particular, if you have created a GitHub account with your company e-mail address, it is likely that a confidentiality obligation will apply to the source code you manage here. Even if you are not instructed about the confidentiality obligation in each case, it is possible that it is stated in the work rules, so please read through them.
If the quality of the source code to be released is poor, it may have a negative impact. In this case, basically, having a GitHub account and being able to publish source code is an advantage, but it can also be a disadvantage.
For example, if your published source code contains many bugs, your reputation as an engineer may be lowered. As an engineer developing a program, you must aim to make it as bug-free as possible. It is possible that bugs will inevitably remain, but if there are too many bugs, you will be evaluated as an engineer who can only develop to that level. Also, even if you use a framework, if you only use the basics of the framework, your evaluation will be lowered.
It is not possible to quantitatively indicate the level of quality that will not have a negative impact. However, as long as it is open to others, negative factors should be reduced, such as reducing bugs and giving comments.
As mentioned at the beginning of this article, whether or not GitHub is valued depends on the company's approach. In some cases, even if you have an account or are actively using GitHub, the emphasis may be on what skills you have and what projects you have participated in.
For example, if a company is looking for someone to develop an accounting system, they may focus on whether or not the candidate has experience participating in such a project. Especially in the case of development that requires specialized skills, it is important to know if they have participated in similar projects before.
Projects you have participated in should be communicated through your resume, not through GitHub. It is also possible that you will be asked to dig deeper into the details during the job interview. If you are looking to move into a position that assumes professional development, consider appealing your experience rather than GitHub.
エンジニアの転職活動において、GitHubを活用した経験が重要視されるかどうかについて解説しました。GitHubを使いこなせるエンジニアは魅力的ですが、転職活動で評価されるかどうかは、転職先によって大きく異なります。GitHubを活用していると評価される可能性はありますが、業務での利用がなければ大きくは評価されないかもしれません。また、公開しているソースコードの品質が高ければ評価されますが、逆に品質が悪いとマイナスに働く危険性があります。
なお、GitHubでソースコードを公開する際は、秘密保持義務契約や個人情報の流出などに気をつけなければなりません。世界に公開されてしまうと、取り返しがつかないことがあるため、十分に注意・確認してから転職活動に活用しましょう。
We have explained whether or not experience using GitHub is important in an engineer's job search. However, if you do not use GitHub in your work, you may not be evaluated highly. Also, if the quality of the source code you publish is high, it will be evaluated, but if the quality is poor, there is a risk that it will have a negative impact.
When releasing source code on GitHub, you must be careful about non-disclosure agreements and leakage of personal information. If your source code is disclosed to the world, you may not be able to get it back, so be very careful and make sure before using it in your job search.