Philosophy at Work

Stoic at Work

For the programmer who works hard, ships daily, and keeps meeting the same four problems. This is not about being calm. It is about having a clear mind when things are unfair — so you can act well, protect yourself, and know when enough is enough.

ภาษาไทย

You Are Not Imagining It

"If it is not right, do not do it. If it is not true, do not say it."
Marcus Aurelius, Meditations

You work hard. You show up. You ship. And yet the briefs keep arriving without plans, the scope keeps growing past what the team can carry, the promises keep being made by people who will not be the ones to keep them. The benefits shrink. The expectations do not.

This is not a productivity problem. It is not a skill gap. It is a structural reality that many programmers are living in right now — made sharper by the belief that the LLM erased the cost of complexity.

The Stoics did not pretend that bad situations were good. Marcus Aurelius wrote the Meditations while managing an empire in decline, a pandemic, and wars he did not choose. He did not call it fine. He asked: given this, what is the right action?

That is the question this page tries to answer — for each of the four problems you are likely carrying right now.

The 6-Hour Brief

On what is in your power — Epictetus, Enchiridion

"Make the best use of what is in your power, and take the rest as it happens."
Epictetus, Enchiridion

The situation

It is 11:30. A message arrives: "Can you copy this site and get it live by 6?" No context. No discussion. Just a deadline that someone else set for your time.

The LLM era has made this worse. The assumption is now explicit: AI is fast, therefore you are fast, therefore six hours is enough. No one mentions the decisions inside the brief — architecture, edge cases, what breaks in production next week, who owns it when something goes wrong.

How to think about it

A language model autocompletes. A developer decides. Those are different jobs.

The anger you feel is proportionate. You are being treated as though your judgment does not exist. The Stoic response is not to suppress that anger — it is to use it as information, then turn toward what you can actually act on.

What to do

When the brief is unrealistic, say so clearly, once:

“I can have [X] done by 6. To do the full brief well, I would need until [realistic time]. Which do you want?”

No apology. No lengthy explanation. You have stated reality, offered a choice, and returned the decision to where it belongs. Then you do your best work with the time that remains.

PRACTICE

Name the brief

Text reflection

Describe the last brief like this

Before you can answer a brief well, you have to see what it actually asked of you — and, more importantly, what it silently assumed. The assumption is usually about your time: that it is infinite, interruptible, and free. Naming the assumption is the first step to declining it.

  • What did it ask for, in plain terms?
  • What did it assume about your time, your tools, your judgment?
  • What decision inside the brief was handed to you without being named?
"Make the best use of what is in your power, and take the rest as it happens."
Epictetus, Enchiridion 1

Work Larger Than the Team

On deliberation and commitment — Epictetus, Discourses

"First, never commit to things without deliberation. Second, keep your commitments."
Epictetus, Discourses

The situation

Some work is designed to be unfinishable. It arrives as a large, ambitious brief — the kind that sounds impressive in a meeting. The team takes it on. It does not get done. And then, months or years later, it comes back. The same project, resold, re-briefed, handed to whoever is available.

You recognize it when you see it. You have probably been inside it before.

How to think about it

This pattern has a name in Stoic terms: it is the confusion between preferred indifferents — things that look like progress, a big project, a new client, a bold vision — and the actual work of keeping commitments with integrity.

Organizations sometimes build their identity around the scale of what they promise, not the quality of what they deliver. The programmer in this system is not failing. They are trying to carry something that was never structurally designed to be finished.

Premeditatio malorum — the Stoic practice of imagining difficulties before they arrive — applies here. When the brief is large and the team is small, name that gap early, explicitly, in writing. Not to protect yourself politically. To be honest about what is possible.

What to do

  • When a large brief arrives, write down what would need to be true for it to succeed: team size, timeline, dependencies, unknowns.
  • Share that list before the work starts. Once. In writing.
  • This does not mean the situation will change. But it means you acted with integrity, and you have a record that you did.

PRACTICE

Name the gap

Text reflection

Describe a project that felt too large from the start

The hardest part of an unfinishable project is that everyone could feel it from the beginning, and no one said it. Writing it down now — even after the fact — trains you to name the gap earlier next time, when naming it can still change something.

  • What did the brief promise, and to whom?
  • What would have had to be true — people, time, scope — for it to actually land?
  • What did you know on day one that no one said out loud?
"First, never commit to things without deliberation. Second, keep your commitments."
Epictetus, Discourses

When They Promise, You Pay

On keeping your self-respect — Marcus Aurelius, Meditations

"Never esteem anything as of advantage to you that will make you break your word or lose your self-respect."
Marcus Aurelius, Meditations

The situation

You are in a meeting, or you hear it secondhand. A manager describes work that has not been done, capabilities the team does not have, timelines that are not possible. They say it with confidence. The client believes them. And you sit quietly, already calculating what this means for the next three months of your life.

This is one of the most corrosive experiences in a workplace — watching promises be made in your name, by people who will not be held to them.

How to think about it

You cannot control what others say. You cannot reach into a room and stop a claim from being made. What you can control is what you build, how you build it, and what you are willing to put your name on.

Epictetus was direct: the opinions and actions of others are not in your power. What is in your power is your own response — not passive acceptance, but a clear separation between their words and your work.

This does not mean staying silent. When a promise is made that affects your work, you have the right to ask, in writing: "What are the requirements for this? What is the timeline? Who owns what?" Not to sabotage — to make the gap visible before it becomes your problem alone.

What to do

When you hear an overpromise:

  • Write it down: what was said, when, to whom.
  • Then ask one clarifying question in writing: "Can you help me understand what the scope and timeline look like from your side?"
  • This starts a record. It also sometimes stops the problem before it starts.

PRACTICE

Three minutes on the promise

Timer — 3 minutes

Write down the promise you will be the one to keep

Set the timer and write without stopping for three minutes. Pick one promise that was made recently — by someone else, about your work. Do not argue with it or rehearse a confrontation. Just look at it clearly: what was promised, and what it would actually take to deliver.

  • What exactly was promised, and by whom?
  • What would it genuinely take to deliver it — time, people, decisions?
  • What is the honest gap between the promise and what is possible?

03:00

 

"Never esteem anything as of advantage to you that will make you break your word or lose your self-respect."
Marcus Aurelius, Meditations

When Work Costs More Than It Returns

On the wisdom to avoid — Seneca, Letters

"It is not that I am brave enough to endure it, but that I am wise enough to avoid it."
Seneca, Letters

The situation

You have been working hard. Longer hours. More complexity. More responsibility transferred downward. And somewhere in the last year or two, the returns started moving in the opposite direction — lower real compensation, insurance cancelled, benefits quietly removed, health worn down in ways that take longer to recover from each time.

This is not a personal failure. It is an accounting problem. The inputs are going up. The outputs are going down. And at some point, that equation has a limit.

How to think about it

Stoicism is not endurance without end. Seneca wrote repeatedly about the cost of staying too long in situations that extract more than they return. Marcus Aurelius stepped back from commitments that were not his to carry. Epictetus — who was enslaved, and could not simply leave — still argued that internal freedom was the line worth protecting at all cost.

For a programmer with choices, Stoicism asks you to be honest with yourself about the accounting. Not to dramatize it, not to catastrophize — but to see it clearly. What is this costing me? What am I getting? Is that exchange sustainable?

Call this the honest audit. Not a complaint. Not a resignation letter. A clear-eyed look at whether the arrangement you are in still makes sense.

What to do

  • Write down what you are giving: hours, health, expertise, stability.
  • Write down what you are receiving: compensation, growth, respect, security.
  • If the two columns are badly misaligned, that is not a feeling. It is a fact. And facts can inform decisions.

This section does not tell you to stay or leave. It says: look clearly. Then decide from that clarity, not from exhaustion or inertia.

PRACTICE

The honest audit

Text reflection

What is this work costing you that does not show up in your job description?

The official cost of a job is in the contract: hours, salary, title. The real cost is rarely written anywhere — sleep, attention, the people you stopped seeing, the health you keep promising to get back to. Name it plainly. You are not deciding anything yet; you are just refusing to pretend the cost is zero.

  • What are you spending that no one is counting?
  • What did you used to have — energy, focus, time — that this work has quietly taken?
  • If the cost stayed exactly this high for another year, would the exchange still make sense?
"It is not that I am brave enough to endure it, but that I am wise enough to avoid it."
Seneca, Letters

After the Deadline

On time as the only thing truly yours — Seneca, Letters

"Begin at once to live, and count each separate day as a separate life."
Seneca, Letters

The situation

The day ends. The site is live, or it isn't. The meeting is over. The overpromise is made. The insurance is still cancelled.

You are tired. The unfairness has not disappeared just because the clock ran out.

How to think about it

Seneca wrote about time as the only thing truly yours. Not money, not recognition, not the outcome of decisions other people made — time. And each day is its own life. What happened today does not have to be the shape of tomorrow.

The Stoic practice here is not forgetting. It is resetting. You note what happened. You note what you will do differently. Then you put today down — not because it did not matter, but because carrying it into tomorrow helps no one, least of all you.

What to do

Before closing your laptop:

  • Write one sentence: "Tomorrow, I will protect [one specific thing] that I did not protect today."
  • Not a system. Not a policy. One thing.

PRACTICE

Put today down

Text reflection

What would tomorrow look like if today's weight did not carry forward?

Resetting is not pretending the day was fine. It is choosing not to begin tomorrow already exhausted by it. Write one honest line about what you will protect tomorrow — one specific thing, not a resolution to fix everything. Then close the laptop and let the rest of today stay in today.

  • What is the one thing you did not protect today?
  • What would it look like to protect just that, tomorrow?
  • What can you set down right now, instead of carrying it overnight?
"Begin at once to live, and count each separate day as a separate life."
Seneca, Letters 101