Should Software Engineers Code Their Own Website?

I’ll start with the punchline: You should NOT develop your own website… Unless you want to.

Now let me elaborate.

I believe every developer should have a personal portfolio website. This article is mainly just a reflection on whether they should write the code from scratch or use a prebuilt solution.

# Why you should NOT code your own website

  1. It can will be a massive time hole

    • Don’t underestimate this. Scope creep is real and software engineers are notoriously bad at time estimates.
  2. No one really cares

    • You might think that a custom portfolio will help you stand out, but you’re likely mistaken. Recruiters mostly just want to find information quickly. Having a well-structured site that they can quickly skim will get you 95% of the benefits.
  3. It will probably be worse quality than a prebuilt solution

    • You won’t have time to add all the small details that matter
    • Your site will likely be uglier than other options on the market (devs often aren’t the best designers)
    • It won’t be battle tested. I once saw someone who had a beautiful portfolio with fancy keyframe animations. Unfortunately, the animations broke when I tried it on my phone and things looked terrible. This looks much worse than a simple design that just works.
  4. Opportunity Cost

    • What you work on is way more important than how hard you work. Is there a better use for your time? Maybe you could practice interview questions, study the intricacies of your favorite programming language, or work on an open source project. All of those options will have a higher ROI on your career than a pretty portfolio.

# Why you should code your own website

There is only one reason why you should code your own portfolio:

  1. You want to learn more about a specific tool(s)
    • For me, I wanted to learn more about Eleventy and the Jamstack ecosystem, so I built Fernfolio. If this matches your sentiment, then you are in luck because working on a real project is the best way to learn a new technology. When you can mentally justify the work as being beneficial for your career, it can give you an extra boost of motivation when things get tedious.

# Take the more efficient road

This framework of taking the more efficient path can be applied to more than just developer portfolios. Before embarking on any new project, I recommend you ask yourself:

  • How long will this project really take?
  • Are there undeniable benefits to me working on this project?
  • Can I find third-party solutions that solve this problem more effectively?
  • Is this the best use of my time?

With these questions in mind, you can spend more time on the things that actually matters.