Don't waste your time on a portfolio website
First of all, sorry for the clickbaity title. But give me a minute and hear me out.
You can see it all the time: new developers spending a lot of time trying to get their portfolio websites right. In the hope to land a great job, they put in hour after hour building custom layouts that are supposed to look neat and professional.
But instead, they end up with a personal website that looks more like... eh. 🥱
Unfortunately, portfolio websites turning into a big timesink with less than ideal results isn't the only problem. Custom websites like this can also backfire. They can make you look incompetent even though everything is great from a technical perspective.
The good news: You don't need a portfolio website. Many developers (including myself) find great jobs without ever having one.
So before you start (or continue) wasting a lot of time on your portfolio website let's talk about
- What you want to achieve with a portfolio website
- What employers want to see in a job candidate
- What value a portfolio website provides
- Why a personal website can backfire
- What to focus on instead
- Need a portfolio website anyway? Minimize the risk
Note: I'm assuming here that you are a software developer working on web applications and looking for a job in a tech team.
The following advice is not valid in every situation. For example, a portfolio website is probably helpful if you're
- a freelancer for small clients without technical knowledge (e.g. creating static websites for small businesses)
- a developer/designer who applies to jobs where design skills are important (which is not the case for most developer roles)
- building an online presence that you use to get jobs (meaning you don't rely on a resume or LinkedIn profile)
- just interested in learning some CSS and HTML
When you build a personal website as a software developer your goal is typically to find a job. The purpose of the portfolio is to present yourself, your skills, and the work you've done to potential employers.
Since the competition for open positions for junior developers can be fierce a great portfolio website might help you stand out from the crowd of candidates.
But the portfolio website is just another piece in the application puzzle consisting of a GitHub portfolio, LinkedIn profile, resume, and cover letter.
Many new developers think that it's mandatory to have a portfolio website. After all, you can read many stories of devs who attribute their success to their websites. I'd like to challenge this perspective.
Before I share my reasons though we need to understand what employers want to see from developers applying to a job.
When a company hires a software developer they are looking for a person who they can trust to
- write code and build applications
- work professionally
- communicate problems and ideas
- be integrated into a team
- be ambitious and eager to learn.
The earlier you are in your career the more important it is to convince an employer that you're eager to learn, capable of growing, good at communicating, and a proper future teammate. The expectations that you are very proficient from a technical perspective are lower in general.
Let's see how these requirements overlap with the value provided by a portfolio website.
In most cases, a portfolio website is a static website that shows some personal information, skills, technologies the developer knows, and a list of personal or professional projects as a reference.
You might realize that all this information is typically already available on your resume or LinkedIn profile.
So apart from that, a portfolio website potentially shows to an employer
- that you can build a static website
- your design skills
- a touch of your personality.
Note that I'm not talking about a blog here. A blog can be very valuable since it shows your technical knowledge as well as your communication skills and thought process. At the same time, it's a lot of effort to maintain.
A really cool and unique portfolio website can definitely impress some potential employers.
But let's be honest. Building a website isn't very hard in the age of static website builders and ready-made templates. Design skills are nice to have but usually not important for a role as a software developer.
The real challenge for a modern web developer is building dynamic data-driven apps.
And a portfolio website usually isn't very interactive. That means it doesn't prove one of the most important skills that are required to get a job as a web dev. Even if you share the source code on GitHub.
Which leaves showing your personality as the biggest potential benefit of a portfolio website. The question remains how exactly you would do that. And given that it's unclear how many recruiters actually click through to your website when they see your resume or LinkedIn it might even be less impactful.
So what about the disadvantages?
When I build a website from scratch this is what typically happens:
- I have a design in mind which looks really cool.
- I start writing code, create the markup, and style it with CSS.
- A few hours in, I'm done with maybe 10% of what I planned. And what I created looks like crap.
- I start moving elements pixel by pixel, add a border here, change a color there. All in the browser's dev tools.
- The layout still looks like crap. So I search for other websites that look nice, professional designs, or any other example that I could copy.
- After days of work the website looks ok-ish. But nothing I'd be proud of. And I still need to make it responsive and cross-browser compatible...
If you have experienced something similar you know one of the biggest drawbacks of creating a portfolio website from scratch:
You can spend a lot of time on getting everything straight. Usually much more than expected.
And the end result is often... mediocre. At best. 😒
Let's face it: Most developers aren't born designers. And they don't need to.
But the problem is that a bad design can make you look incompetent even though everything works fine and the information on the website isn't bad at all. So you could end up catching an eye with your website... but in a negative way.
A wise man once said: "Better to remain silent and be thought a fool than to speak and to remove all doubt."
In that manner: it might be better to have no portfolio website than one that looks bad.
- As a software dev you don't need a portfolio website to get a job in a tech company.
- Portfolio websites can become a huge timesink that take days or weeks to get straight.
- A badly designed or buggy portfolio website can become a hindrance instead of an advantage.
So instead of spending lots of time on a custom-designed portfolio website, you might want to consider focusing your energy on something else.
When you go through a typical application process the first thing that an employer sees of you is your cover letter and your resume. In other situations, it might be your LinkedIn profile.
As mentioned above, many portfolio websites contain almost the same (if not less) information as the resume. But most developers only spend a fraction of the time on their resume compared to their website. That means putting a bit of effort into your resume can already let you stand out as a candidate.
So first of all, get your resume in order and polish your LinkedIn profile.
Once that's done and you apply for a job write a nice cover letter. By cover letter, I don't necessarily mean a separate document that you send next to your resume. These are often never looked at. But if you apply via email, for example, you can just write a few lines that prove that you researched the company and are really interested in the job. To save time, you can prepare a template for yourself. But be sure to customize it for every application.
Since writing a resume can be hard here are a few quick tips:
- Find a nice looking template. Nothing extravagant. Just a simple and standard template. You can also use a resume builder like flowcv.
- If you get a lot of immediate rejections to your applications check out this resume scanner. This should help to pass the automatic application filters.
- Get a free resume review for example at resumeworded.com or zipjob.com.
Another great way of using your time is to improve your GitHub repositories. For employers, it's very important to evaluate your coding skills. And how can you better prove those than with actual code?
That's why investing time in your GitHub portfolio is important. Especially, when you don't have a track record of professional experience yet.
You don't need many repositories or large projects. But a lot of projects of aspiring junior developers lack professionalism. Again, with a few tricks, you can already stand out from other candidates. My favorite tips are
- Write a clean, descriptive, and informative README. Some ideas: Add a screenshot, an explanation of the application, describe your technical decisions, add links to places in the code you want others to find.
- Use a Linter to ensure consistent code formatting.
- If you want to walk the extra mile write automated tests. Don't worry, only a few tests might help already. You can use this beginner's guide if you're a React dev and new to testing.
If you want more tips on how to build outstanding portfolio projects on GitHub have a look at this blog post.
You're a React dev and wonder if you're ready for your first job in a professional team? What if you could experience how to work like a pro while gaining valuable professional skills?
Check out my course on ooloo.io and build a project for your portfolio in a simulated team environment with designs, tasks, a professional Git workflow, and code reviews.
I guess I made my case: The two biggest risk factors to building a portfolio website are the time investment and the potentially bad outcome.
Since a personal website is not necessary to get a job (at least not if you follow a normal application process) you should think twice if this investment is worth it.
If you want to build a portfolio website anyway try to minimize the two risk factors. Consider using ready-made templates so you're certain that the looks are professional and you don't waste a lot of time on custom CSS. A static website builder or a CMS like Ghost or WordPress can help you decrease the time investment even further. An even simpler alternative is creating a README for your GitHub profile.
If you liked this article you might be interested in the free course below. It would also be super helpful to me if you'd share this blog post with your friends on Twitter or any other platform.