Stoic Habits of A Software Developer
By: Mert Akkaya
Tags: Stoicism, Software, Software Engineering, Habits, Software Development

Stoicism is an ancient philosophy that looks for happiness and fulfillment in the life for every human being. Often mentioned with the philosopher-emperor Marcus Aurelius and his diary Meditations. I am writing this blog post with a write-to-learn approach, and extract some applicable habits for a software developer. So, sorry for the mistakes already :)

Stoicism stands for an honest approach to looking at ourselves and gives practical solutions to daily life. So these practices below also are applicable to any other domain or discipline, of course.

Feelings come from inside

“Today I escaped anxiety. Or no, I discarded it, because it was within me, in my own perceptions — not outside.” — Marcus Aurelius, Meditations

Outsider forces can not make us feel something. It’s always something inside of us that makes it feel. An unmarked to-do list, a Jira board full of bugs or unplanned issues can not make you feel the anxiety. Asking the questions; Why am I feeling this? Can I change it? What can I do about this situation to make it better for me, helps us to develop the abilities we need and turn the distress into eustress (Self-Promotion)

If it hurts do it more often

If you feel that you are avoiding thinking about something, you should reflect on your behavior. It’s important that what are the obstacles that are keeping you away. Why do you feel like you should avoid it? Why are you feeling that? What’s missing? Investigate it.

This kind of self-awareness helps us to develop ourselves continuously.

This happens when a challenging bug or a feature pops up. While this feeling is very high when you are a junior developer, it starts to fade over time and can become more dangerous. The developer who leaves himself with this feeling will not be able to catch the time and will not be aware of current problems or their solutions.

Prioritize Your Work

“A key point to bear in mind: The value of attentiveness varies in proportion to its object. You’re better off not giving the small things more time than they deserve.” — Marcus Aurelius, Meditations

Prioritize your work. Do the most important things first. Do not spend your time on chores. With the knowledge of business & technical needs. Be able to do it. A software developer needs to understand business priorities in order to achieve the right prioritizing.

As mentioned in the agile manifesto:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Or,

Business people and developers must work together daily throughout the project.

Prove instead of guessing

Why all this guesswork? You can see what needs to be done. If you can see the road, follow it. Cheerfully, without turning back. If not, hold up and get the best advice you can.” Marcus Aurelius

Prove the cases. Always. Do not let assumptions and guesses take over you. A senior engineer’s one of the most valuable habits. Prove with never-ending effort, always going to the end until she is satisfied. This gives us a tired-but-happy developer and reliable software. The other one gives us also a tired developer, in time, and unreliable software.

People will challenge you: Be Prepared

When you wake up in the morning, tell yourself: The people I deal with today will be meddling, ungrateful, arrogant, dishonest, jealous, and surly. They are like this because they can’t tell good from evil. But I have seen the beauty of good, and the ugliness of evil, and have recognized that the wrongdoer has a nature related to my own — not of the same blood and birth, but the same mind, and possessing a share of the divine. And so none of them can hurt me. No one can implicate me in ugliness.” — Marcus Aurelius

This is not a negative look or a dystopic/pessimistic point of view to the people issues. But an unending optimism. This is just for preparing ourselves to face the worst and being able to handle them. You know what’s true or wrong. You know the beauty of the good. You can only change yourself and your actions in order to that, don’t let others make you feel bad. If so, go with the first practice. Why did you feel bad? Investigate it.

You can’t control what others think about you. You can’t control what others say about you, the only one you can control is you and you should not rely on what others think or say. Don’t rely on appreciation, anything bad can happen at any time. Be prepared.

Be Brutally Honest With Yourself

“Choose someone whose way of life as well as words, and whose very face as mirroring the character that lies behind it, have won your approval. Be always pointing him out to yourself either as your guardian or as your model. This is a need, in my view, for someone as a standard against which our characters can measure themselves. Without a ruler to do it against you won’t make the crooked straight.” — Seneca, Letters From a Stoic

The challenge is making these principles habits and applying them in your daily life. You need metrics to compare. Use her, and find another person and so on…

Thanks for reading.