Aleks Gorbenko

We Need to Find New Joy In Software

For the past few weeks, I’ve been starting my mornings with calisthenics at around 6:00 in the morning, followed by cà phê phin and music.1

This morning routine gives me time to think while watching the streets of vibrant Sai Gon unhurriedly waking up.

Today, the below message from a friend (talking about AI and work in tech) triggered thoughts that eventually became this post:

Quote

“I think a lot of people used to genuinely enjoy their work and got a sense of fulfilment from having [coding ]skills they could put to use. Now it feels as though those skills have suddenly lost much of their value”.

My initial reaction was: “he is totally right”, but then I reversed the perspective and tried to see if we as engineers bore some responsibility for where we are today?

We, [engineers] used to enjoy saying philosophical things like:

Quote

“A programming language is just a tool.”

- many an engineer

In practice, though, it turns out we’re deeply attached to our languages - and to writing code itself.

On one hand, there’s nothing wrong with that. Different people enjoy different aspects of their work (and many people don’t particularly enjoy any part of their jobs at all, so engineers are very lucky in that regard).

On the other hand, we’ve become somewhat dependent on that particular source of satisfaction.

For many, a significant part of loving our work came from the act of writing code itself. Not exclusively, of course, but it was probably the biggest factor.

In a way, we’ve become and becoming more like the other office workers, who are less likely to have this dopamine-infused cycle of “build with our own hands -> test -> ‘it works!’ I did it, I wrote the code”.

Now we give instructions to agents and they produce the code. Even if it works and the code does it’s job and looks like poetry - we won’t get the same kick. It wasn’t us, who wrote it, therefore we don’t feel the joy.

There’s also an interesting connection to the Sapir-Whorf Hypothesis2, which can be roughly summarised as follows:

Language influences worldview and/or cognition, how humans perceive reality.

For some reason, I never linked programming languages to that idea before. Yet, every computer language has its own way of “perceiving reality,” and in some sense each one reflects a bit of what the hypothesis suggests.

Java

“Everything is an object!”

or

Erlang

“Everything is a process!”

Newer languages are more like expats, borrowing vocabulary from multiple worlds, feeling at ease with various perspectives on reality at the same time.

Go

“We can do processes, we can do objects”

As engineers, we’re naturally drawn to one worldview or another.

Write a lambda in Ruby and you can’t stand every second of it. Write one in Zig and you’re having fun, because you’re learning something new and you enjoy the language.

The business problem you’re solving is exactly the same in both cases, but the experience feels completely different.

All these musings lead me to a conclusion: a large part of the responsibility still lies with us. It is on us that we became dependent on feeling joy from writing code. So it should be on us to find ways out of that dependency. That’s probably the healthiest way to view what’s happening in the industry and decide how to respond to it.

The first step may simply be accepting that we’ll probably write far less code than we used to, while reading much, much more of it (and documentation, mainly specs or some form of thereof).

Increasingly, we’ll be communicating with AI. This, however is probably not bound to our industry alone.

In recent weeks I observed that almost every person who were working/studying in the cafes I frequent were mainly chatting to chatbots…

That reminds me of a quote from Dan Millman’s Way of the Peaceful Warrior:

Quote

“A warrior does not give up what he loves; he finds the love in what he does.”

- Socrates

What’s left to add?

Time to start looking for new ways to enjoy work (or change field entirely, as some people also decided to do).

🔍

Notes


  1. For many years I felt that I did not spend enough time on something I love deeply - music. This week I have been exploring various artists releasing albums with Irma Records. This is an Italian record label founded in 1989 in Bologna. It specialises in funk, acid jazz, jazz house. I have been listening to LTJ Xperience for years, but only now uncovered wealth of music that this label has released over the decades. ↩︎

  2. Also known as linguistic relativity. You may know the concept as a central theme of the film “Arrival”, directed by Denis Villeneuve, which is based on the novella “Story of Your Life” by Ted Chiang. ↩︎

#code #career