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.