How to make a great programmer portfolio site

Written by Tyler King

If you're a programmer looking for full-time, consulting, or freelancing work, it's important to demonstrate to your potential employer/client that you're experienced and capable. The easiest way to do that is to maintain a portfolio website that promotes your personal brand. In this post, I'll suggest how programmers should approach making their portfolios, and I'll give a few examples of portfolios that I like.

There are four core skills that a good programmer portfolio should demonstrate: Technical ability, design ability, writing ability, and initiative. There are three key elements your portfolio needs if you want to elegantly display all of these skills:

Landing Page

Selling your programming services isn't any different than selling a product. The core to any online business is a good landing page, and that's the most important thing for you to focus on with your portfolio.

So what makes a good landing page? Most programmers don't want to hear this, but design is what matters most. Sure your potential employers aren't ultimately hiring you for your design ability, but that's the first thing they'll notice and they'll judge your professionalism by the design before they ever get a chance to see your work. If you're a decent designer, take a crack at it yourself. If not, you might consider buying a template from a site like Themeforest. Either way, I strongly urge you to pretend you're making a designer's portfolio, not a programmer's. Focus on colors, fonts, layout, and the quality of your copy. This will set you apart from other programmers (who generally have bland and ugly sites).

Once you've got your design figured out, it's time to figure out the content for your landing page. I personally would advise that you stick with three basic sections:

  • A mission statement - the first thing your visitors should see is a short description of who you are and what you do. Get straight to the point. If I were designing a portfolio for myself, I'd have a missions statement like: "Hi, I'm Tyler, and I build websites that are easy to use. I can help you offer your clients a great online experience."
  • Featured work - You don't want to put your full portfolio on the landing page, but you should highlight one or two projects you've worked on to give your visitors a good idea of your experience.
  • Contact information - Too many portfolio sites overlook this. Let's say someone wants to hire you, how do they do it? You should have your contact information plastered all over the site, and you should also have a contact form on the landing page.

If you're looking for inspiration, here are a few examples of good landing pages:,, You'll notice that those are all designer websites. That's because most programmers have ugly portfolios which is exactly why you should act like a designer when you approach this.

Portfolio Section

Obviously you'll need a section of your site devoted to your previous work. Don't get too fancy with this, because anyone looking at your portfolio has probably already seen your super awesome landing page. Just list all your projects in a clean format, and explain a little bit about them. In particular, you might want to mention some of the skills you used so that you can highlight your talents. When possible, make sure you link to working copies of the projects.

Here are a couple examples of effective portfolio pages:,

So far you've made pages that demonstrate your technical and design capabilities. That means you still need to show off your writing skills and your initiative. There's no better way to do this than to write a blog. By writing interesting blog posts related to your area of expertise, you can show off your communication abilities and it also lets you demonstrate that you are actually interested, knowledgeable and passionate about your field. This is where you can really show your personality and set yourself apart from all the other programmers out there.

Writing a blog can be a lot of work, so I suggest you consider whether or not you'll have the discipline to post regularly. If you can handle that, great. If not, you might consider formating your blog as a series of articles rather than blog posts. The main difference is that articles are meant to be more permanent, so it's not as important for you to update the content regularly.

Other Ideas
The landing page, portfolio section and blog cover pretty much all your bases, but you might want to include a few other things in there too. You could make a dedicated contact page. You should probably link to your resume (and maybe even make an HTML version of your resume). You could also include a short bio to give yourself a little more personality. If you want to get really serious you could make a section to let visitors demo web apps you built specifically for your portfolio site.

With those elements in place, your website should help you really stand out from your competition. Good luck getting your portfolio set up!

Posted on Nov 3, 2010
Filed under Small Business Tips
Sign up to receive updates in your inbox
We'll send you about two emails per month with actionable tips on how to grow your business with a CRM
First Name
Last Name
We never spam and you can unsubscribe at any time.

Spread the word
Come say hi!