Picture of clouds and trees

Min/Max dopamine dumps with CDEs

Catchy title eh? Well, it's been about 6 months since I joined Gitpod to help work on their Cloud Development Environment (CDE) product. Shifting my development to a fully cloud-based stack has changed how I work quite a bit. There were some surprises, which I shared a few of in a tweet recently, but I definitely didn't expect that it would result in an increase in ability to deliver dopamine to my brain 🧠.

Building a software product often means there are so many things to work on, but never enough time to do them all. The most important work rises to the top of our Linear cycles, and it's quite common that those more important features come with a higher level of complexity. While the more complex work can offer a higher value to the company, it tends to come with a cost of time.

🤔 So what's this got to do with dopamine?

You probably see where this is going, but let's talk about dopamine for a second. According to the Australian government (where everyone goes to look for scientific definitions 🦘)...

Dopamine is responsible for allowing you to feel pleasure, satisfaction and motivation. When you feel good that you have achieved something, it’s because you have a surge of dopamine in the brain

So, finish work, acheive something, dopamine dumps into the brain 🧠. That creates a cycle where I feel more motivated and satisfied with my work, which helps me do my best work. I also think there's a benefit to team moral when we see and feel more continuous progress. Like a dopamine contact-high.

BIG TASKS. They take longer to finish, which means less dopamine dumps. To offset the slower dopamine feedback loop of those tasks I love when I can mix in smaller ones that don't take long.

Having too many tasks in flight has usually been something I try and avoid. Context switching and literally switching my file system to different branches, environments, etc. tends to put a limit on how many tasks I can manage in flight at the same time. I've found that when I'm using CDE's 100% of the time, so much of that cost and pain is gone. I literally just start up a workspace for a task and the hardest part is flipping my brain into the new context. If I trashed my node_modules folder trying to update a dependency for one task, it doesn't effect my ability to swap over to a different one. This reduction in pain has led to an increase in my threshold for how many parrellel tasks I'm comfortable with. It used to be 2, maaaaaaaaybe 3, but it always started to feel uncomfortable to add new in-flight work while doing something larger. Now I don't mind having up to 4 or 5 even if there's a heftier piece of work in there.

While I know this isn't an increase in my actual capacity to get work done, it is an increase in my ability to juggle tasks (I can't juggle btw). There's always little gaps in our efficiency as we work. Maybe it's waiting for feedback or a review. Those gaps aren't new, but I've found I'm more easily able to fill them in with small tasks because of the super-power of a cloud-based dev environment. This means more dopamine dumps into the brain 🧠, keeping me motivated and more effective throughout the BIG TASKS.

Who'd a thunk... cloud development environments offering a new way to min-max the dopamine cycle during software development.

Thumbnail and banner images were created with the assistance of DALL·E 2