Interview prep

5 Essential Steps to a perfect GitHub portfolio

GitHub is the new online portfolio. Here's how to stand out.


GitHub is the portfolio website of choice for developers- and recruiters are crawling all over it to find you.

40 million developers and 2.1 million businesses use Github for projects. And recruiters have taken note - nowadays you can't interview with a large company without a strong referral or a stellar Github, preferably both

Does that mean you should put in a ton of effort? Not necessarily. Your GitHub is not the main decision factor in any interview, but having a polished profile helps get you in the door. Here's how to create one.

What Do Employers Look For?

Your GitHub says a ton about your caliber. At a high level, employers are looking for...

  1. Active participation in the developer community
  2. Clean code, documentation, and best coding practices
  3. The creative drive and the technical expertise that fits their vacancy

At the very minimum, do some housekeeping before you share the link anywhere. If your GH looks like a graveyard of unfinished projects, has poor documentation, or no organization, you will raise a ton of red flags.

When tidying up your GH, focus on the things recruiters and hiring managers look for. Here are a few:

  1. Growth of your projects over time. How many commits are in the repo? It's nice to see how much effort you've put in. They might also ask you questions about why things simmered on a project.
  2. Did you include a read me page to explain the purpose of the repo? This should also include, at a very minimum, documentation on how to run the code. Bonus points for extra context around the problem you're solving.
  3. Any notes on tests? You get major brownie points for those, especially as a new developer.
  4. Groupings are a big deal. A repo should represent a single project, and sometimes I see a single repo with hundreds of random code files that aren't related to each other.

A good hiring manager will pick a few files and scan through them. They also look for basic principles like: Do you follow language conventions? Do your comments make sense? You get the idea.

And my personal pet peeve - If your project contains unmodified git forks, remove them. It’s extra bulk that adds nothing to your profile and makes it more difficult to evaluate your work.

TLDR: Write like someone is reading!

What Should Your Profile Look Like?

The second most active user of GitHub in the world - this man is a legend.

Your bio is probably the only section recruiters actually read- the rest is left for hiring managers.

So if you want to be discovered by recruiters, include your actual name and a way to be reached. You have 160 characters. Make them count by thinking like a recruiter and including the keywords they scan for. (Example: CSS +Javascript wizard by day, UI design enthusiast by night)

However, it's more common to be discovered by another software developer on GitHub. Maybe they noticed you're active on an open source project, contributed to their project, or just came up on search as one of the 5 people in Nebraska who are into Gatsby. So if you're optimizing for connecting with folks over shared work, it's ok if your username is "PrincessUnicornPancake" with an avatar of a cute cat...as long as your work speaks for itself.

In the end, it's all about knowing your audience. GitHub isn't LinkedIn. No one expects you to be in a suited up photo, but don't make it hard for people to find and connect with you- that will cost you job opportunities in the long run.

Let's get Tactical: Here's a Checklist

1: Check the company's stack

Do this before you include your GitHub in your resume when you apply. If you don't have a lot of projects in the same technology they use, you might shoot yourself in the foot. Pick other work samples instead or case studies you've worked on, if you can. Stackshare has a great tool for this.

2 : Snoop

Check out the profiles of other people who work for the companies you're applying for. It really helps to have that extra intel. If you feel confident about your projects, reaching out can never hurt. Say something casual like:

"Hey- I'm thinking of applying to Stripe, what do do you think about my GH?"

3: Work on things people care about

Yes, it's really that simple. Create a resource a lot of people will use. Start by thinking about what would be useful to you. Maybe it's contributing to an open source project or maybe it's building a tool to track coronavirus spread in your community. Stay relevant and consider collaborating by licensing your work.

4: Make it visual

Make a few cool images to visualize your project and make it more relatable. To be clear, I'm not saying "go crazy and pick the optimal color scheme", but a little bit of visual design (especially UI design if you're working on a tool) won't hurt if you're into front-end development.

5: Take the plunge and make it a website

If you create a repo on your GitHub page *username.github.io, you can automatically create a website that uses that repo name as your URL. All you need to run the site is an index file (you can include your own javascripts and css). Here's an example of how that looks.

A specific example...

Let's wrap up with a specific example for you to draw ideas and inspiration from.

If you see others you like, let us know and we will add their portfolio site here for the benefit of everyone in the community.

I like this portfolio- I actually stumbled onto it while researching this article for you. Here's a link to a project he built about how to make a portfolio, which I found ironic. It's very well documented and what I'd expect to see in terms of quality as a hiring manager. 

What's your favorite portfolio example?

The information provided herein is for general informational purposes only and is not intended to provide tax, legal, or investment advice and should not be construed as an offer to sell, a solicitation of an offer to buy, or a recommendation of any security by Candor, its employees and affiliates, or any third-party. Any expressions of opinion or assumptions are for illustrative purposes only and are subject to change without notice. Past performance is not a guarantee of future results and the opinions presented herein should not be viewed as an indicator of future performance. Investing in securities involves risk. Loss of principal is possible.

Third-party data has been obtained from sources we believe to be reliable; however, its accuracy, completeness, or reliability cannot be guaranteed. Candor does not receive compensation to promote or discuss any particular Company; however, Candor, its employees and affiliates, and/or its clients may hold positions in securities of the Companies discussed.