It's not a big secret that building a developer portfolio can greatly increase your chances of getting hired.
Everyone tells you that. But, they don't always tell you what makes a good one.
You see, many portfolios are generic and rather uninspiring. If your portfolio looks just like everyone else's, then how can you expect it to stand out?
Well, it won't stand out.
But don't worry – I've been there. My first portfolio was bland, uninspiring, and had many of the not-to-do's I talk about in this post.
However, I'm an ex-marketer, turned developer, I know how to make something stand out. I've made ad campaigns that have skyrocketed sales and had people talking. I realized I needed to think like a marketer to make my portfolio stand out.
The good news is that the same principles can be applied to your portfolio to level it up. If you read this guide and implement the tips, you'll raise your portfolio above the sea of other junior developers trying to stand out.
Before we launch into the five tips to level up your portfolio, let's just make sure we are on the same page.
What is a portfolio?
A portfolio is a way for you to showcase who you are, what skills you have, and most importantly the work you've done.
As a developer, your portfolio is going to be in the form of a website. The main goal of this website is to showcase yourself and your work in the best way possible.
It needs to make you stand out and it needs to make employers think "Whoa! I'd like to work with this person". Ultimately it will need to show them that you could be awesome to work with so they are compelled find out more about you.
A portfolio should therefore include some standard elements. Below are the bare minimum elements your portfolio must include.
The bare minimum of a portfolio
These are the non-negotiables of any developer portfolio:
- Responsive design (learn about how to do that here)
- Projects showcasing your work
- An "about me" section or somewhere people reading your site can learn about you
- Your portfolio needs to be accessible
- Your portfolio should have a custom domain. Buy a domain name – you can get them for less than $10. Don't send people to 39238834.netfily.com
- A way for people to contact you, preferably your email
If you have these six non-negotiables on your portfolio, you are off to a good start.
Now let's look at five ways you can level up your portfolio, starting with a non-obvious one.
Five things you can do to level up your developer portfolio
1. Know your target audience
One area that can help level up your portfolio is knowing exactly what the purpose of your portfolio is. That is, who is this portfolio for?
If I asked you what the purpose of your portfolio was, does the output match that? Let's say, for example, the purpose of your portfolio is to land your first junior developer role. Then your portfolio is going to look very different from someone who is looking to be a freelance web developer.
Therefore the first thing you need to do is ask what is the purpose of your portfolio. Start broad and then try to refine it. Keeping with the junior developer role example, you could refine it down to a junior frontend developer specializing in React.
If you are a junior frontend developer, then your portfolio won't need things like the generic skill cards below.
These cards are better suited for someone who is looking for freelance work.
When you know the purpose of your portfolio, you can better tailor the information to communicate why someone should help you achieve your purpose.
2. Level up your project details
This is the most important section of your portfolio, and it is the one section I often see that is not well-executed.
If you browse something like r/webdev and search "portfolio" let me tell you what you're going to see if you click 90% of those portfolios and look at projects. You're going to see a calculator app, a weather app, tic tac toe, a movie finder app, "insert big website" clone, and so on.
Now, don't get me wrong – these are useful projects for learning the skills they require. And people have spent time making them. The problem is that everyone builds the same stuff. You can often just follow along with a tutorial and create them without much thought.
There are two problems here.
The first is that you are not differentiating yourself. If I'm HR or the hiring manager why should I pick your calculator app over the other 30 in the inbox? Also, how can I trust that you built this thing yourself and that you didn't just copy/paste code from a tutorial?
The second is that most people just put the project in, link to the GitHub repo, and maybe a live demo. This doesn't tell the person who is potentially going to hire you a lot, and it doesn't give them much reason to employ you over everyone else who has done the same.
So then, how do you make your projects section stand out? Let's look at a few ways you could level up the projects section of your portfolio.
Add original projects
You don't have to reinvent the wheel or make the next great social media application. But it would be great if you tried to use a different API instead of the standard weather API.
You could for instance create a surf report app that is the same as a weather app but instead you are calling different endpoints. This shows me that you know how to call an API outside of a tutorial.
If you're not sure how to make your own original project then check out this guide on how to plan and build a programming project for beginners.
Give some details about the project
The first problem is that many projects are unoriginal. The second is that most people don't give more than the basic details about the project.
What will make you stand out is giving some details about your project. When I say details, what I mean is give me a story about the project. The best portfolios I see tell me about the project don't just show it to me.
Try answering some of these questions.
- Why did you choose to build this project?
- What challenged you when making this project?
- What did you learn from making this project?
- What learnings have you taken with you into other projects?
- What would you do differently next time?
- Did you get stuck at any point? How did you get unstuck?
- What was your process for completing this project? Did you do wireframes, make a Trello board, or did you just get stuck into it?
If you answer these questions and craft them into a few succinct paragraphs, I will now know a lot more about your abilities as a developer. I can see what interests you, how you overcome challenges, how you learn from those challenges, and what skill level you are.
You're already well on your way to standing out if you follow this tip.
3. Remove Unnecessary Fluff from Your Portfolio
Sometimes the best thing you can do to improve your portfolio is to remove things.
You should remove things that add no value to your target audience and things that reduce your credibility.
Here is a list of things you to remove and why.
- Step-by-step tutorial projects. These projects hurt your credibility. They are unoriginal, they don't show me what you can do. Rather, they show me that you can copy what someone else does.
- Projects not related to development or the job you are trying to land. These just aren't relevant to your target audience.
- If one of your Projects is the portfolio itself. Why get rid of this? The reason is that they are on your portfolio now. They are interacting with the project. So save space for another project.
- If your portfolio is a carbon copy of someone else's portfolio – start over. It's not cool for starters. Plus, I want to see what you're capable of doing, not what you're capable of copying. It can come back to hurt you in the long run.
4. Give your about me some personality
There is this song by Paul Kelly called "Every F$*#%) City" and the general idea of the song is that every city is the same. Well, I've seen a lot of portfolio's and a lot of them look the same.
The section that often comes off as the same is the about me section. Let's look at an example below.
"Hi, my name's Jonny Lucky, a Full-Stack Web Developer from Example Town. I love building websites that solve life's unique problems.
I work primarily with MongoDB, Express, React, Node, and GraphQL and have set up countless WordPress and Shopify websites. My previous career was as an IT Consultant, E-commerce Business Owner, and Digital Marketer. I also really enjoy tinkering with CSS.
In my spare time, I play video games and also work out."
Hello Jonny Lucky, or was it Lucy Lovely? I forgot because I'm the HR person and I've read 50 of these portfolios and they are all very similar.
If I were to change your name, town, and tech stack, many of these candidates would just become one.
To be fair, there are some personal touches like the that they "play video games and also workout". But, guess what? A lot of other applicants also enjoy these things.
Can you see the problem, if you have an about me section like the above? You won't stand out and you'll come across as a little stiff.
Your about me needs to be a little bit spicy, it needs to show your personality and experience. Because your personality is different from other people, so your about me section should be too.
Let's have a look at mine to give you an idea of what you should be shooting for. I've gotten a few compliments on it.
"I'm an ex-marketer who loves building things with code.
I first became enthralled with programming in 2015. I was in San Francisco with my brother in law and he was telling me about this thing called Python and how it could automate things. As a person who looks for efficiencies, I was hooked.
I jumped right into Python on my flight back to Australia. Soon, I was automating my own things. I made a bot to book classes at the gym, one to send weekly reports to my boss and I even made one to like my girlfriend's content on Instagram. Unfortunately, that is as far as it went. Shortly after, I got promoted. So, I had less time to learn and I let programming fall by the wayside.
But, then Covid hit and suddenly I had more time without my commute. So, I started learning again. Specifically, I learned web development, as I had things I wanted to build for myself.
After a few months of self-teaching, I knew this was what I wanted to do for my career. So, I signed up for the coder academy Bootcamp and put my heart and soul into it. I was coding every day, late into the night, and on weekends. Until I was ready to be unleashed on production code.
Since the boot camp, I have grown as a developer, working alongside senior developers who have helped me raise my standards for what's expected of any web application.
I'm now seeking a full-time role where I can contribute my skills both in coding and business to help a company achieve their goals."
As you can see my about me section is unique to me. I'd say there isn't another soul on the planet who could write the same about me section without telling some lies.
Now, your about me section doesn't have to be zany, it can be professional. But, and this is a key point...
You need to make it interesting so the person reading it wants to continue reading it.
To make your about me section interesting, you can try things like stories and anecdotes. Try and weave them in with the key points you want to get across.
Another way to think of it is, if you are invited in for an interview would your about me be interesting enough that the person interviewing you would say "hey, I loved that story about X on your portfolio"? If it can do that you're winning because you've opened up more dialogue.
In the end, you're trying to spark interest in the person looking at your portfolio.
Think about it like this. If HR has 50 applications to get through, they are only going to interview 5 of those people.
If your about me section is a bland generic version like the first one, they are likely to just skim through it and onto your next section. If nothing else on your portfolio stands out, then they'll move on to the next application until something does jump out at them. You want to grab their attention and make them shift you to the interview pile.
Since most portfolios are generic, it doesn't take much to stand out. If you have less experience than someone else but their portfolio is generic and yours isn't, I'd argue you are more likely to get picked for an interview.
Why? Because we like to work with people we like, and if you show that you're an interesting unique person, I'd probably like to at least find out more about you.
5. Throw some Sprinkles on it
One of the most important lessons I was taught early on in my coding Bootcamp was that you need the doughnut before the sprinkles.
Looking at this analogy in regards to your portfolio, the doughnut is all the other things I have listed above. You need the baseline requirements of a portfolio like solid projects, an interesting about me section, and responsive design.
The sprinkles should come after you have all the basics. So, if you followed the tips above you have the doughnut. Now, you can start to make your portfolio shine.
I added a Zelda-themed modal to make sure a prospective employer grabbed my résumé before they left my old portfolio site. I just made sure I had the basics first.
You can also go wild with your ideas, just make sure you execute them. You don't want unpolished sprinkles that could take away from your doughnut's main elements.
If you read this post and thought, oh man my portfolio is quite generic – don't fret. You now have 5 things you can do to level up your portfolio so that it moves from the "forgotten" pile to the "give this person an interview" pile.
I can frequently be found in portfolio advice threads on Reddit and Twitter trying to offer advice to people trying to break into the industry.
When you're done leveling up your portfolio, and you're looking for some feedback on it, make sure to Tweet it to me with a link to your site.
If you have a portfolio you're proud of or you're looking for feedback on it, follow me on twitter and tweet the link to me so I can look over it and give you some feedback.
If you have an awesome one I might even add it to my portfolios that pop list.