Optimizing your Developer Portfolio in Github

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

In the 00's every developer worth their weight in salt was blogging on Wordpress, now we've all moved to GitHub as the portfolio website of choice. 40 million developers and 2.1 million businesses use Github for projects. And recruiters have of course taken note - nowadays you can't interview with a large co' without a strong referral or a stellar Github (preferably both). 

How much effort should I spend?

Not a lot, honestly. Your github is not the main decision factor in any interview but having a nice polished profile certainly helps get you in the door. Employers mainly look for:

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

The landing page to your developer soul

If your GH looks like a graveyard of unfinished projects, has poor documentation or no organization - you will for sure raise a ton of red flags. So, at the very minimum, do some housecleaning before you share the link anywhere. Make it neat. It doesn't take a ton of effort, here are some basic things recruiters and hiring managers look for:

  • 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 and I might ask you questions around why things simmered on a project
  • 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
  • Any notes on tests? - you get major brownie points for those, especially as a new developer
  • 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 are not even related to each other

Most importantly, you can expect a good hiring manager to pick a few files and scan through them - do you follow language conventions? do your comments make sense? Stuff like that.

So TLDR - write like someone's reading and follow basic conventions, like picking a sensible name for your variables. 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.

Your profile - to self dox or not to self dox? That is the question

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, I'd say it's more common for github to be a place to be discovered by another software developer who 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 you 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 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 + I would totally reach out if you're feeling confident about your projects. 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, really it's that simple. Create a resource a lot of people will use - start by thinking 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 that looks like.

I want an 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 reading this.

I like this portfolio- I actually stumbled on it while researching this article for you. Here's a link to a project he built especially on 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?

Is your offer competitive?

Find out how much you’re worth and how to ask for more — the right way.