Tired of ads? Enjoy an ad-free experience by signing up.
Rick West · · 4 min read

Why striving for perfection is holding you back as a newbie web developer

Photo credit: Hitesh Choudhary.

I am a perfectionist. Or at least I like to think I am. Either way, I’m definitely somewhere close.

While that’s all well and good, what I have realized recently is that this was actually stopping me from becoming a better developer. At the very least, it was slowing down my progress and inhibiting my learning.

Like a lot of junior developers and developers in general, I have a habit of not finishing side projects. It’s not because I’m lazy or I don’t have time but, for one reason or another, I just never seem to finish things.

Then it hit me. When working on a project, I’m always striving for perfection. That is the problem.

What does perfection mean? Is it really an attainable goal?

I always want to deliver something awesome, to produce something to the best of my ability. That’s great. But as a junior developer, the dilemma is that my ability is still increasing. I’m learning every day. Considering this, how can I ever finish a project to the best of my ability?

This is the key factor that has been slowing down my progress as a developer. I don’t know where to draw the line. I find it hard to say enough is enough and move on.

Sometimes, it even gets silly. Six months ago, I wrote a simple URL shortener to get familiar with the Symfony framework. I spent a few evenings on it and had a basic working product and a great introduction to the framework. Happy days? Well, not exactly.

Believe it or not, I was still tinkering with this tiny project three months later, fiddling with the styling and improving the form submission with Ajax. I even considered implementing Vue or React. As my ability and knowledge increased, I just couldn’t move on. I kept seeing better and better ways to improve things.

This is great in a commercial environment. It’s awesome to be driving improvement and iterating on a product or project.

As a developer, no matter what level you are at, you are constantly learning. It’s the nature of the beast.

As a little learning project, though, I was just over-engineering and trying to solve a problem that didn’t exist. I wasn’t trying to build a competitor to Bitly. I was just building a little side project to reinforce my learning. In reality, no one will ever even see this project!

I’m not alone, though. Even the most experienced developers will experience a similar situation at some point. When they look back on the code they wrote several years ago, they will probably be horrified and hang their heads in shame. They might even be appalled by the code that they wrote several months ago.

As a developer, no matter what level you are at, you are constantly learning. It’s the nature of the beast. It’s just that, with experience, you learn to let go and move on.

Perfection is stagnation


Stay ahead in Asia’s tech landscape

You've reached your 2 free content limit for the month. Sign up for free to read the full story.

🏄 For casual readers / 👶 Free

Basic

US$0

Free forever

Get instant access to this article and more every month

0 premium content

Unlimited news briefs

5

5 articles

Ad-free reading experience

Just US$0 per day

⌛Sign up in 20s. No payment details needed.

📖 For learners / 👍 Starter

Lite

US$4.92/month

Billed annually at US$59/year

Get instant access to this article and more every month

4

4 premium content

Unlimited news briefs & articles

Ad-free reading experience

Just US$0.17 per day

Cancel anytime

Our subscriber community includes professionals from these companies:

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

Community Writer

Rick West

Proud dad and husband. PHP Developer. Gas Engineer In a previous life! Loving my new adventure :-)