Libor Huspenina

November 18, 2022

For the long run

Imagine you're an architect, and your building starts to fall apart in the second year. Unthinkable. Yet this is the case for many software architectures. Why is that?

Some developers focus on things that change fast instead of timeless principles. They seek to learn as many technologies as possible. Its value is much greater than building sustainable software in their eyes. But as technology moves fast, so do they - they rotate jobs quickly.

But how do developers know what works long-term if they never stayed longer than a year or two? They don't, and they design their systems with the same mindset. It's only a matter of time before the project spirals out of control. Every small change takes forever, fixed bugs introduce a variety of new ones, the team gets frustrated, and developers take the easy way out and leave. With that, they deprive themselves of the opportunity to find out how to avoid such a situation next time.
 
It's crucial to let your mistakes catch up to you. If you jump from one business to another every year, you won't have such a chance. You're already doing the next thing by the time your architecture crumbles. Your lesser design irritates some other poor soul, and high turnover due to those horrendous decisions is already someone else's problem.

The magic happens when you stay. When you give yourself time to fix the painful bits. Collect the feedback and iterate on that. That's how you improve and learn to build something that will last. 

Don't take the easy way out. Do it for the long run.