subscribe for upcoming articles and periodical summaries of the most read ones

Random Thoughts on Leadership & Technology

Eudaimonia-Driven Development

eudaimonia-driven-development

From the Lyceum to the Standup

Or, how to flourish while the industry is transforming

Two and a half thousand years ago, Aristotle wandered the shaded walkways of the Lyceum asking what it means to live well. He concluded it was eudaimonia - human flourishing - achieved by exercising our distinctive capacity for reason, excellently. He reached this conclusion while strolling in the open air, surrounded by students who were free to leave at any time, with a calendar containing exactly one recurring event, titled "think".

He did not have Teams or Slack, and most likely - AI.

This is worth holding onto as we accept the genuinely lovely invitation to treat software engineering as a moral practice in the Aristotelian mode. Because the invitation is correct. Engineering really is one of the most ethically loaded forms of rational activity we have. Especially in the age of agentic AI.

The function argument, now with overpriced coffee with seven options of milk

Aristotle says a thing is excellent when it performs its function well. A knife cuts. A flute plays. A software engineer, we tell ourselves, "mediates between human goals and machine behavior" and "translates intention into reality". This is true, and it is beautiful, and it is also the exact job description of the person who built the infinite scroll, the variable-ratio reward schedule in your favorite app, and the cookie banner engineered so that "reject all" requires the patience of a desert monk.

The function argument has a quiet flaw. It is supremely indifferent to which function. An engineer of real excellence, embedded in a company of real malice (take your favourite pick), is simply someone making things worse with admirable test coverage. Aristotle assumed your function and the good pointed in the same direction.

A brief tour of the virtues, as they survive contact with the current reality

Practical wisdom - phronesis, the art of the right call in the right moment. Knowing what to ship when delivery is cheap and knowing what to stop doing when doing is easier than ever before.

Honesty - the virtue, Aristotle says, that sits between boastfulness and self-deprecation. The engineer practices it daily, finding the golden mean between "I made tremendous progress" and "I have been staring at the same broken deployment since Tuesday and I am no longer sure what nouns mean", while three managers listen. Pushing back when it matters for the common success is an excercise in honesty as well.

Temperance - moderation in desire. Resisting the urge to overengineer for ego. We all know the man who built a bespoke framework instead of importing the boring, functional library. He gave a conference talk about it. The talk had a logo. The framework is now unmaintained, and three teams are hostages to his abandoned brilliance. Temperance is the virtue of not being that man, which is harder than it sounds, because that man is having a wonderful time.

Courage - the mean between cowardice and recklessness, exercised by speaking up when a system is unsafe or harmful. Takibg ivnership over the success of a delivery is another form of courage. Aristotle identified two ways to fail at courage. The modern workplace has invented a third, which he could not have anticipated - the strongly worded message posted in a Slack channel that no decision-maker reads. It feels exactly like bravery and costs precisely nothing. Real courage, the kind with consequences, gets you a calendar invite ominously titled "quick chat", with no agenda and your skip-level attached.

Justice - giving each their due, caring about who benefits and who is harmed. The algorithm does indeed distribute power, visibility, and opportunity. It also distributes outrage, misinformation, and a slow erosion of teenage self-worth, but those were not on the quarterly objectives, so we will revisit them never.

Habituation, or - you become whatever you ship

Aristotle is emphatic that we are not made virtuous by reading about virtue. We are made virtuous by practicing virtue. This is the most quietly terrifying line in the entire framework, because it cuts both ways. You become whatever you repeatedly do. Practice shipping fast and apologizing later, and you will become genuinely excellent at shipping fast and apologizing later. The habit takes over. The character forms. It just may not be the character anyone wanted.

Friendship, the highest form of which is a shared enemy

Aristotle devotes two entire books to friendship, because flourishing is not a solo activity. The highest friendship, he says, is grounded in mutual virtue and a shared pursuit of the good. In engineering this ideal does exist, and it most often takes the form of two people who hate the same legacy service with equal intensity. There is no bond on earth quite like trauma bonding over a deploy pipeline that only works on alternate Thursdays.

The truest test of philia, of course, is code review, the singular ritual that reveals whether you love your colleague or have merely been tolerating them with great professionalism until now.

Contemplation, the highest good, at 3am

Aristotle places the summit of human happiness in theoria - contemplation, the serene pursuit of eternal truth. His philosopher reflects in calm solitude on things that never change. The engineer, too, contemplates a question of timeless and maddening mystery, namely why the build passes locally and fails in the pipeline. This is also an eternal truth. It is also, usually, a missing environment variable.

The essay's sharpest observation is the real difference between the two. Aristotle's thoughts stayed thoughts. They lived and died in his mind. The engineer's contemplation does not have that luxury. It becomes infrastructure. It becomes load-bearing. It becomes a thing that pages you at three in the morning to inform you that your past self's beautiful idea is now everyone's present catastrophe.

The part where I stop being clever

Engineering is morally weighty. Code becomes the world, and the people who control the AI that writes it are, whether they enjoy the responsibility or not, deciding small pieces of how everyone else gets to live. That is not a flattering metaphor. It is just the job.

But Aristotle's entire system rests on an assumption taken too gently. He assumed the virtuous person lives in a polis arranged to reward virtue, a place where living well and doing well point in the same direction. The engineer's actual tragedy is that (as cyberpunk sci-fi fans would point out) they frequently do not. The incentive gradient runs toward velocity, growth, and engagement, and virtue means swimming against it, and swimming against a current is exhausting in a way that no amount of clarity over cleverness fully prepares you for.

Becoming a good engineer inside a company committed to a bad telos is like trying to live the Nicomachean Ethics inside a casino. It can be done. People do it. The house simply is not rooting for you, and it has better lighting, free snacks, and a really compelling Q3 narrative.

Writing a good life in code

Every line of code is also a line in a life. The question is not only does this program work but does this work make me, and the world, better.

It is a good question. It is the right question. And most of us will end up answering it at 4:55 on a Friday afternoon, with a deploy half frozen and a manager asking for an ETA, which is to say we will answer it the way human beings have always answered the hardest questions ever put to them. Badly, in a hurry, with the best of intentions, and a solemn private promise to do it properly next time.

Aristotle would have understood completely. He just would have written it down on a walk, with no deadline, and absolutely no one waiting on the merge.