Programming Portfolios

February 24, 2017 (7y ago)

Every programmer should have a portfolio. When I'm hiring, I want to see what you've built. I want to see your code. I want to see how you write.


Those who had a portfolio on their resume where I could learn more about them, their projects, and the code they've written were more likely to get a response from me when interviewing.

Why write?

After finishing my post, How Stripe Designs Beautiful Websites, I posted a link to the article on Reddit and Hacker News.

Article Initially Posted

I was immediately receiving 10x the traffic to my site as before. The article ended up hitting #1 on Hacker News and /r/web_design.

#1 Reddit Article

This ultimately led to the article being reposted across a bunch of different websites. It continued to grow organically throughout the day, bringing in ~70,000 views in 24 hours.

Article Initially Posted

This traffic created two notable events:

  • My average site traffic doubled
  • My portfolio moved from the 3rd page of Google to the 1st

What to include

  • Show code: Ideally links to GitHub repositories, including live demo URLs where I can see the things you've built. I'll go explore the codebase and see what tech choices you used. Bonus points if you wrote about why you picked that tech stack.
  • Write stuff: An average engineer who can write well and explain concepts clearly is better than an excellent engineer who can't communicate with their coworkers. Show me you are a clear writer, which is especially important if the role is remote.
  • Own your SEO: Google yourself and make sure you own the first page (not always easy, but worth influencing). Capture a domain name and build credibility. You might end up keeping that "digital home" throughout your career.
  • Make it unique: Express yourself. Use a creative design. Spent the extra hour on the animation polish. Add something unique you haven't seen others do before.
  • Show, don't tell: You said you have experience with React – show me.

Want to get started? Clone and deploy an example here, buy a domain, and you're online in less than five minutes.