--- /dev/null
+---
+title: On short-lived software
+date: 2024-01-05
+draft: false
+tags: [essay, programming, software]
+---
+
+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 coders / 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_](https://en.wikipedia.org/wiki/Why_the_lucky_stiff)'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](https://en.wikipedia.org/wiki/Flow_(psychology)) — 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.
<section id="info">
<div id="whoami" class="center">
<p>Hi 👋 I'm a software engineer curious about</p>
- <p>freedom, liberty, empathy, kindness, sincerity, philanthropy, wisdom, rationality, literature, therapy, sharing knowledge, taking cat photos</p>
+ <p>freedom, liberty, empathy, kindness, sincerity, philanthropy, wisdom, rationality, literature, therapy, sharing knowledge, vinyl</p>
</div>
<ul class="center">