Your Github profile will be an important tool to show how skilled you are as a developer. If your LinkedIn profile got you past the recruiter, your Github will be important to show the more technical people what you are capable of. First, let’s set up a proper profile.
Optimizing your profile
Your Github photo is much less important than a photo on your LinkedIn profile. You can use the same picture if you want or you can go to something a bit more quirky. As long as it stays professional and it’s something other than the default avatar, you should be good to go.
Github has a very lightweight profile, so make sure it’s all filled out.
- Email to contact you
- Website (use your portfolio here)
Github Top Contributor
You can quickly find a list of Github’s top contributors and their profiles are amazing.
The list is found at: https://gist.github.com/paulmillr/2657075
Here is an example from the top contributor @fabpot:
The most important part of your Github profile are your repositories. You need to have a few repos that show your skills and knowledge of certain technologies. Here are a few tips on how to leverage those repos.
I don’t think this will be a surprise to anybody, but make sure that what is public is of the highest quality. Anything that you wouldn’t be proud to display needs to either be made private or fixed. Spend time to go back to older projects and refactor/improve the code and architecture as you learn new things. You should always showcase your current skills and not what you thought was best when you built those projects.
Some things that are extremely important:
- Remove commented out code or debug code
- Use a linter. Inconsistent indentation and weird whitespace is a major pet-peeve of developers.
- Refactor duplicate code
- Clear separation of concerns
- Clean and clear source control messages. Don’t use
fix stuffas your commit messages.
These are a good way to surface your best work. Pin 1 or 2 repos that you are proud of, they will be prominently displayed on your profile and it’ll be easier for someone looking at your profile to find something to look at.
might be is the most important file in the repo. It provides the most information when glancing at a project and it might even be the only thing someone looks at in your repo.
Here are a few things that you need in a
- Describe the goals of the project
- Few key features with screenshots
- Technical details/build steps
- If you have a live demo of the project, link it
- Optional: integrate tags for coverage/unit tests/etc.
README is doubly important if you have used a starter kit like
create-react-app for your project. If you keep the starter kit’s
README, it looks like you have not really put effort into your project and makes it much less interesting.
Here are a few examples of good
READMEs you can use to get inspired:
Host a demo
If possible, host a live version of a project to make it easier for people to see what you built. Very few people will take time to read the code, even less will take the time to clone the repo and build your project. Make it easy for them to see what you built.
If you need some ideas of things to add to your profile, here are a few ideas:
- Your portfolio website code
Implementations of common interview questions
- Sorting algorithms
- Utility scripts, plugins, extensions
- A nice bash script or anything you built to help you code, debug or be more efficient is a nice example of your skills.
Everybody wants to have a contribution graph filled with green. It looks good and shows we are consistent and committed to our craft. Unfortunately, it takes a lot of work and time to build that reputation.
This is the hardest part of building a perfect Github profile, but it also has the biggest impact. Showing recruiters and other devs that you can stay motivated and are eager to contribute to projects is the perfect way to get their attention. Commit often to repos and make sure the commits are spread out, having a 2 week contribution streak is better than a single day with 14 commits.
The first step is making sure your contributions are visible, you can do that by tuning your
Contribution Settings in your profile.
Contribute to open source
Having a few contributions to open source projects looks very good. It shows you can work with others, can work on existing codebases and can produce quality work. Try to avoid PRs that only fix typos in documentation, but anything else if good.
The easiest way to contribute is to find something you like and that’s easy to work on. There are a few resources to help you do that like:
https://github.com/MunGell/awesome-for-beginners: A repository of open source projects with labels to identify good first contributions.
https://www.firsttimersonly.com/: Helps you find something that is interesting to you and helps you start contributing to open source projects.