On short-lived software ======================= January 05, 2024 Over time, being a software engineer might be frustrating a bit (or a lot, depends on the burnout rate). The written code changes quite often. Maybe next year, or in a month, or even tomorrow, because someone in your team finished working on their PR, introduced so many changes that there is no need in your code anymore. Sometimes it's okay, because engineers solve business problems, some solutions are temporary and matter only in a fixed time range. Still, it might frustrate. Emotionally it might be hard to accept that the amount of time that was spent on some detail will be replaced in a short time. It's important to acquire the business aspect of the solution. I guess that's where casual programmers grow into engineers. They understand the price of their solutions and how important it's to be agile in sense of trade-offs, keeping in mind the business requirements, available resources, and the complexity of the problem. I have never been a proper Ruby programmer but I still remember why_'s quote: > programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more. and it affected me in a strong way for sure — not only as an engineer but as a person as well. Especially later, when I got into Haskell, where the sitatution with cabal was a huge problem known as cabal hell. Comparing to Standard ML where code written 20-30 years ago still compiles and works fine. There is some beauty in standardised languages with strict formal specification where different compilers are possible. This viewpoint is somewhat rational — it helps to solve problems in an efficient way without extra perfectionism — but at the same time looks like an indication of an ongoing existential crisis (could be neverending). We are all just a cosmic dust, look at James Webb's pics. It's all about the _process_. The result is important, but it's the process that brings joy. The process creates a flow state — where we concentrate in a challenging activity and forget about our existential nature and problems. Maybe that's why sometimes people argue that the programming is art — it allows to express themselves and improve the mental health. This essay is written for myself, to remind me about why I started doing programming at all and keep doing it.