DEV Community

Cover image for The neverending nightmare of keeping code satisfying!
khaled Alshibani - FE dev
khaled Alshibani - FE dev

Posted on

The neverending nightmare of keeping code satisfying!

TOC

  1. Explaining the problem (Options overwhelming)
  2. Real-life struggles from my experience
  3. Results! Is this good or bad?

Explaining the problem (Options overwhelming)

When you build a real application for the first time using a new language, technology, or framework while you're learning, things can get messy fast. It all starts with small questions, like whether you're putting files in the right place.

Then you get sucked into every little detail:

searching for the “best” way to organize your directory tree.
The problem then is that You find 10 different ways, each one claiming to be the best, how to name files, how to write clean code, how to name variables... and suddenly you’re even more confused!

Before you know it, you're stuck figuring out your development workflow:

where do you even start? Then comes testing, what kind of tests should you write? Should you automate them? Which tool is the best? And, of course, writing documentation brings on yet another part of confusion.
It's perfectionism leading you to craziness!

YES, perfectionism takes over, and it's enough to drive you crazy!


Real-life struggles from my experience

Every time I learn a new technology, it’s the same nightmare. This happened to me when I built my first full-stack app, then again when I created my first React app, and yet again when I worked with Next.js.

Most recently, I went through this while building a component library. It started with the struggle of choosing the right tool. Firstly, I went with Stencil.js. But even during development, I kept questioning my choice, wondering why I didn’t go with Lit instead! Later on, I realized Stencil was the best choice for what I needed. These back-and-forths are frustrating, but they also make your decisions and satisfaction stronger as you go.


Results! Is this good or bad?

In most cases, I’d say it’s good!

Every time you learn something new, things often feel like a mess at first. Your code and logic might look pretty bad, but over time, you improve, refine, and make everything better bit by bit. And that’s the beauty of it. If you’re not going back to make things better, you may not be growing as a developer!

However, there’s a downside too. If perfectionism drains your energy and productivity, it’s a sign to take a step back. You need to remind yourself that "The more issues you encounter and fix, the more you’re mastering your craft."


No software or app was ever perfect from the start. Every great application evolves over time, and so will your skills.

Software Is Never Finished and Code Can Always Be Improved.

.

Software is never finished, only abandoned.

Top comments (0)