Believe it or not, potential employers can learn a lot about you just by looking at your GitHub profile. From how well you code to what languages you specialize in, to even whether or not you might be passionate about coding, it's all there, or it can be if you use GitHub correctly.
What do GitHub + Open Source Contributions show employers?
GitHub is a great resource for interested employers to learn more about someone before calling them in for an interview. Not everyone will take a look at your profile, but those who do are often there to learn more, and if your profile isn't top notch you miss out. Below are just a few things they might figure out based on the work in your profile:
You’ve worked on development teams before and can follow documentation
How you work with code you didn’t write
How you follow rules you didn’t set like coding style, test coverage or documentation
Your GitHub repos will include other people who've contributed to a project as well as how old the project is. Contributing to Open Source is a great way to demonstrate an ability to work with someone else's code and follow documentation.
You stay up to date on technical trends & evolution
You’re willing to learn new tools & are passionate about what they do
Continuing to learn new technologies and sharing that study on GitHub through contributions will show your commitment to keeping up with change.
How you solve complex problems
Your understanding of security & performance aspects
Whether you write tests or documentation
This all can be observed in the coding contributions you make. Do you practice security in your development? Do you implement testing? Do you have README files? Are your solutions effective and efficient?
- For more senior developers, public projects can be a serious replacement for a technical test
What are employers thinking when reviewing a GitHub profile?
In addition to what employers can learn in general through your profile there are also a few things they're often looking for too. Below are some key quotes I pulled from this Quora article, and you can read more quotes from employers here.
- "Does the first thing I see (the README) clearly describe the project e.g. what it does, how to run and build it etc.?"
Most companies aren't going to look through all of your code and projects without looking at a README first. If there is no README, they likely won't read your work at all because they just don't have time to dig through code to figure out what's going on. Check out A Beginner's Guide to Writing a Kickass README to get started.
- "Is the code clean, easy to read and commented appropriately?"
This could reflect on what they might imagine your work being like for them.
- "Do I see replicated code, i.e. - do I see obvious 'cut and paste' and 'repeating myself' code? (bad)"
Replicating code isn't bad though, it just depends on if you're using it efficiently. A good developer can tell if you understand what you're doing vs just copying and pasting.
"What’s the time span of the candidate's contribution history? Have they been coding for several years (someone who would likely have years of experience) or just for the past couple months? (likely a relatively new developer)"
Good candidates (actual programmers) will generally have activity throughout the year of history shown in the chart. Inexperienced or bad candidates will often have a dense 1-3 week period of activity during which they prepared a public-facing project to impress potential employers."
You will likely be going out there with that dense period of contributions, but this is a great reminder to always be coding even after V School.
What should you avoid on your GitHub account?
- A bunch of unmodified forks of common open-source projects
This can start to look like you're just stuffing your profile with work, until they realize you haven't done anything with it.
- The same coding tutorials as everyone else in your graduating class (e.g., Space Invaders, Mario Pest Control, etc.) -- remember: your entire class is sending out resumes/applications at the same time, oftentimes to the same companies, so reviewers will notice those same repos.
Working on personal projects and open source will help to diversify your profile and show that not only are you good at following tutorials but applying what you learn to other projects too.