I’ve reviewed a lot of resumes, both as an engineering manager and in the monthly resume workshops we do in the Boot.dev Discord group. I’m convinced that these days a developer’s GitHub profile is just as important as their resume itself. If you haven’t started your first job yet, this advice is doubly important. Anyone looking to hire an entry-level developer is going to be diving into your public GitHub presence looking to get an idea for where your skill level is at.
Read on for my checklist of tips for building a GitHub profile that will put your best foot forward in your job search.
Pin and order your best repositories 🔗
I’m amazed whenever I click on a candidate’s GitHub profile and the first several repositories I find are broken piles of code from a student project 3 years ago. GitHub makes it easy to pin your best repositories at the top (currently you can have up to six) so that employers only see what you want them to see.
Apart from just pinning your best six, you should also put those in order, with your best works at the top. Consider that most people are going to only look at your first one or two repositories, so make sure those are your best ones.
Give yourself a profile picture, username and bio 🔗
Fill out your profile. Seriously, it takes 3 minutes tops. If you have an embarrassing username that you created years ago, update it. If you have the default avatar, add a professional photo of yourself, or a cool AI-generated image or something.
Don’t leave it blank! The more you can fill in with relevant information about yourself and your skills, the more you’ll stand out and be memorable to your potential employer.
Create an amazing Readme for each of the projects you have pinned 🔗
Hiring managers will be clicking into your repositories. Create a good Readme for each of the projects you’ve pinned. Ideally, the Readme should include:
- Why does the project exist? What does it do for its users?
- How do I clone and run it?
- Are there any dependencies I need to install?
- How do I run the tests?
- How do I contribute?
Apart from the Readme on the project, clean up the code if you haven’t looked at it in a while. Maybe organize some of those files and clean up some of the code to make it more readable. Maybe even add some linting rules or automated CI tests. The point is, if the hiring engineer hops into your project and pokes around some of the files, you want them to be impressed.
Add a profile Readme 🔗
GitHub recently added a new feature that allows you to add a markdown-styled intro to your profile page. It’s a great opportunity to write a slightly more detailed bio with additional links to things like your resume, LinkedIn profile, top projects, etc. I do think you should keep the Readme fairly short because it will push your pinned repositories down the page, and that’s really where you want to keep your reader’s attention.
You can add a Readme to your profile by creating a repo with the same name as your GitHub username and using the default Readme in that repo. It’s driven completely by convention. Here’s an example of mine.
If your heatmap is bare, you should be coding more 🔗
First off, I highly recommend using a personal GitHub account for all your coding work, even professional work. GitHub makes it really easy to join and leave organizations, so there’s no reason to muck around with job-specific accounts. The added benefit to this, besides the convenience, is that your contribution heatmap will look amazing because of all the extra work that would have gone unnoticed.
If you don’t yet have a job, don’t fall into the trap of not keeping your projects in Git and GitHub! If you’re writing code daily, you should be making contributions daily on GitHub. The heatmap shows potential employers that you’ve been honing your craft recently. Nobody wants to hire someone that’s totally out of practice.
By the way, this is what the heatmap I’m talking about looks like. More green is better.
Make your embarrassing repositories private 🔗
When I was in school, private repositories were a paid feature of GitHub, but now they’re free! There isn’t an excuse to not hide your old code that you don’t plan on maintaining behind a privacy flag. If you want to clean it up, then feel free to make it public, but I would recommend keeping your public list a bit more tidy.
Work on a mix of applications, libraries, and open source contributions 🔗
Many junior developers make the mistake of only working on applications. While your calculator and todo apps are worthwhile, you’ll get a lot more bonus points from potential employers if you mix in some other types of projects. Libraries and packages that are designed to be useful to other developers are a great way to show off your skills and differentiate yourself. Most entry-level devs aren’t publishing those!
Additionally, if you’re able to make small but meaningful contributions to medium to large existing open-source projects, that can be a gold mine of bragging rights when it comes time to interview.
Try to get some stars 🔗
While this step is certainly the most optional, it’s icing on the cake if other developers approve of the work you’re doing. Think of GitHub stars on your repositories like testimonials on a software product. It’s a great heuristic that hiring managers use. If you maintain a project that has a few hundred stars, they probably don’t need to do a deep dive in the code to learn that you do a good job. Several hundred devs already approve of your work.
Dedicate some time to optimizing your GitHub 🔗
Your GitHub profile doesn’t need to be perfect. The fact is that most developers have a very sub-par digital presence, and if you put in a bit of effort it will go a long way for your job prospects. Good luck!