The stoic developer

The Stoic Developer: Delivering Value with Focus and Serenity
As software developer and contractor, I see the how fast the world changes:
- we’ve barely migrated our codebase from java 8 to java 17 whereas java 23 is going GA in two months time
- we’re constantly prioritizing the releases required to fix vulnerability issues
- other functionalities suffer from tight deadlines
- requirements are evolving “by default” in the “agile process”
- libraries are upgraded, new frameworks are created, software conference videos and podcasts are uploaded
- daily.dev, reddit and hackernews are dangerously pumping up my fomo levels In this whirlwind, it’s easy to feel overwhelmed - it is true for me and for my colleagues in the team: our work can suffer.
Here’s where ancient Stoic philosophy offers a surprisingly potent toolkit.
Stoicism emphasizes living virtuously and rationally. By applying Stoic principles to our development practices, we can become more diligent, focused, and ultimately, more valuable to our clients.
1. Focus on What You Can Control:
There are fewer and fewer things I’m certain in life. Some of them are as follows:
- client expectations will shift (this is our industry-wide constant)
- bugs will lurk (why shouldn’t they)
- … and unforeseen technical hurdles will arise (unstable environments and flaky tests, anyone?)
Yet, fretting over these externals only takes my energy away. Stoicism reminds me to channel my effort into what I can control: I can focus on
- code quality
- communication with the team and the client
- problem-solving approach I’m far from being a master of these aspects, however I intentionally focus on them so that I can build trust and inspire confidence in my coworkers and our clients.
2. Embrace the Iterative Journey:
Software development is rarely a linear path. Stoicism teaches me to view challenges as opportunities for growth. When a bug arises, I can approach it with calm persistence, i.e. by
- dissecting the problem
- employing a methodical approach and finally
- find a (probably not the best) solution This focus on continuous improvement allows me to find a sense of controlled perfectionism ensuring quality but without the rigid perfectionism.
Today’s mantra: “Done is better than perfect.” - Sheryl Sandberg
3. Communicate with Clarity and Reason:
Stoicism emphasizes clear communication and rational thought. In our client interactions, this translates to transparent communication. This is very often an area where junior developers are evidently lacking the “soft skills”.
My goal should be to:
- keep clients informed of progress
- point some potential roadblocks
- propose alternative solutions I’d like to slowly progress to the level at which I’m able to:
- express myself with clarity and reason
- build trust and
- empower clients to make informed decisions
4. Find Serenity in the Process:
Software development can be (and more often than not, it actually is ) a demanding field. Stoicism teaches us to find tranquility even if we’re in the middle of painful challenges.
By focusing on the present moment, the task at hand, we can approach our work with serenity and focus. The hard part here (except when you have some appropriate innate abilities) is:
- to stay aware of your internal state
- name the state, the emotion, the feeling; it, be aware of it
- accept it, learn to observe it from the distance and accept it With time we’ll learn the balance between engagement and calmness. This inner calm allows us to make sound decisions, prioritize tasks, and deliver what needs to be delivered.
Summary
Stoicism is a powerful philosophy that can enhance our approach to software development. By incorporating these principles, we can become more valuable developers, building trust and delivering results.
Do you think you can be a modern stoic and an agile software developer at the same time? Share your thoughts in the comments below! Let’s cultivate a community of developers who are not only technically skilled but also masters of focus, resilience, and value creation.
Dislaimer: This article was co-authored with ChatGPT.