Petar Ivanov’s Post

Code is never done, final, or perfect. Changes in technology, user requirements, and new insights all shape a codebase. Instead of fighting these shifts, lean into them. Accept that software must adapt to stay relevant. Learn how to embrace software entropy. Embracing software entropy means accepting that your code will never be perfect or final. ⛔ Avoid applying rules and tips blindly and over-engineering your architecture. ✅ Prefer to design and make the architecture that most suits your current needs. The goal is to build easy-to-read, understand, maintain, test, and extend applications. --- 👋 Join 28,000+ software engineers learning JavaScript, Software Design, and Architecture: https://thetshaped.dev/ ----- ♻ Repost to help others find it. #softwareengineering #programming #thetshapeddev

  • No alternative text description for this image

such a refreshing reminder. chasing “perfect” code is usually what slows teams down the most

To go with this: premature optimisation is the root of all evil. If you have more functions and classes than users, then you need to focus on shipping what is necessary over what you think is the right way of doing things. There is a trap where building perfectly maintainable code seems to be the goal for sme devs. And if you are doing that as a hobbyist, then fine, but if you are dependent on a business case, then you are producing huge complexity that may never get into the hands of users. I experienced this with a client, where the engineering team just put months of effort into building essentially a form builder, to then find on release that people really didn't want a form builder. I was hired to fix this very mess. So think to yourself, "what is value I am going to deliver per line of code" before even thinking about your strategy to implement.

Like
Reply

Nice reminder, Petar. Software evolves with users and needs, so build for change. Favor small, well-tested modules, clear names, and short feedback loops so updates stay safe and fast. Treat refactoring, tests, and simple docs as regular work, not something you only do in a crisis.

Embracing software entropy is the key to sustainable systems. The focus on building easy to read and extend applications, instead of fighting inevitable change, is the best strategy.

Like
Reply

Perfection in code is an illusion that slows progress. Building for current needs keeps teams focused and efficient.

code isn’t meant to be perfect, it’s meant to evolve, so always design for change

Like
Reply

Change in a codebase is inevitable. Finding the right moment to refactor is the key to keeping the codebase healthy and high-quality.

Like
Reply

The best engineers don’t fight change they design for it.

Evolve, don’t overcomplicate, that’s where real progress happens.

Code is done when abandoned.

Like
Reply
See more comments

To view or add a comment, sign in

Explore content categories