philosophy Discuss

Introduction

This post is about a Stoic mental tool usually called the Dichotomy of Control, and often expanded in modern Stoic writing into the Trichotomy of Control.

The basic idea is simple: in any situation, separate what is fully within your control, what is not within your control at all, and what you can influence but not command.

That distinction has helped me stay calm in difficult situations, especially in work. It has also helped me accept outcomes that did not go as planned, without turning that acceptance into passivity or resignation.

Throughout this article, I will mostly refer to the idea as the Trichotomy of Control, though the original Stoic version is usually described as a dichotomy.

Trichotomy of Control

My job as a software engineer and consultant often involves joining projects that are already in trouble.

A while back, I joined a project that had failed to find success after two years of development, and I was tasked with helping turn it around. Ardanis, the company I co-founded back in 2016, had a few large clients that helped us level up as a company, and this particular project mattered a lot to us.

A younger Kostas would probably have been stressed out of his mind, because the stakes were high.

This time, though, I decided to give it my best and accept the result.

Not “hope for the best.”

Just do the work properly, make the right moves, and accept whatever happened afterwards.

If the project succeeded, good.

If it failed, then perhaps it was never fully within my power to make it succeed.

If we got into a DeLorean and went back to an earlier version of me, you would find someone far more stressed. As if the stress itself would somehow contribute to the success of the endeavour.

Of course, it is natural to feel pressure when something matters. But stress is also a form of noise in the mind. A little of it can sharpen you. Too much of it distracts you from the very thing you need to do. I wrote about a related practice years ago in my post on meditation.

So the task is not to pretend you do not care.

The task is to care properly.

Acknowledge the pressure, label it, act where you can act, and refuse to let the final outcome own your mind.

If you trained really hard for a tennis match, that was within your control.

The result, though, was not within your total control.

Psychology has labelled something adjacent to this as Locus of Control, a concept associated with Julian Rotter’s work on internal and external control of reinforcement.

Locus of control is a psychological concept that describes how much you believe you have power over the events in your life. If you have an internal locus of control, you tend to think your actions shape your outcomes. If it is external, you are more likely to see luck, fate, or other people as being in charge. It is about where you place responsibility: inside yourself or outside in the world.

It is not a one-to-one match with the Stoic idea, but it is close enough to be useful. Both concepts ask us to examine where we place our attention, responsibility, and energy.

Epictetus, the Stoic philosopher, expressed the original version of this idea in the opening of the Enchiridion, where he distinguishes between things that are up to us and things that are not. The Enchiridion was compiled by Arrian, one of his students, in the early 2nd century CE.

The ancient Stoic version is usually described as a dichotomy:

  1. Things that are up to us.
  2. Things that are not up to us.

Modern Stoic writers, especially through William B. Irvine’s formulation of the idea, often expand this into a trichotomy:

  1. Things we control directly: our judgments, intentions, choices, and actions.
  2. Things we do not control at all: the past, luck, other people’s choices, external events.
  3. Things we can influence but not fully control: our health, relationships, reputation, career, projects, and most outcomes we care about.

I find the trichotomy useful because most of real life lives in the third category.

A difficult software project is not fully within your control.

Neither is a business.

Neither is a relationship.

Neither is your health.

Neither is the result of a tennis match.

But your preparation, decisions, habits, attitude, effort, and honesty are within your control.

That is where your energy belongs.

This way of thinking gives both focus and relief. You no longer have to obsess over the success of your undertaking if that success is not completely within your control. What you can do instead is focus on your actions.

What actions can you take today to make success more probable?

Did you do them?

Good.

Then relax.

Not because the result is guaranteed, but because you have done your part.

The success of a difficult undertaking usually sits in that third category: things you can influence but not fully control.

This does not mean you give half an effort. Quite the opposite. You give it your best precisely because your actions are the part that belongs to you.

The trap is the temptation to emotionally attach yourself to the result.

You do not need to hope for the best.

You need to do your best.

There is a difference.

If it worked 🤷🏻‍♂️.

If it did not 🤷🏻‍♂️.

If your brain asks you whether this challenge is going to be a success, give it The Farmer and His Horse answer:

Maybe. We’ll see.

coding Discuss

Introduction

It has been a while since I exited Ardanis, the company I co-founded in Ireland back in 2016. Ardanis has since been acquired by Plain Concepts, and I wanted to write this piece to document the journey: the founding, the growth, the mistakes, the craft, and eventually, the exit.

My wife with our first daughter at Iveagh Gardens, Dublin, in 2016

How it all started

Back in 2016, a company that I had been working for in Dublin for a few years decided to close its Irish tech hub office and lay off a few hundred people, including some of my co-founders at the time. It happened so suddenly and abruptly that the company ended up without any people who actually knew how to operate its complex financial system. As such, an opportunity presented itself to spin up a consulting company and offer our services to our first big customer. I later discovered, while talking to many other founders, that the story of a big customer being an ex-employer is not quite novel, but rather a common scenario.

At the time, I was a Principal Software Engineer and Tech Lead for a small team. I had a multi-year record of developing functionality related to repayment schedules, financial reports for customers, and other fintech-related features. I was also very passionate about creating masterfully crafted software. A phrase that may make some of you cringe, but for me, the idea of becoming the equivalent of a lifelong blacksmith who learns the craft of software to the best of his ability became the fuel that kept me working on my craft for close to twenty years now.

The founding team

Ardanis was made up of five founders. Three Irish founders, one Chinese founder, and myself, a Greek founder. All of us were technical, with our experience spanning from tech lead to architect level. Needless to say, we knew very little about running a business. And for the first few years, we just kept at it, keeping the lights on, working in Georgian house basements, and hoping that someday we’d find a way to make this thing take off.

Clients

One of the first lessons I learned was about clients. We lacked a product, probably our biggest weakness, and as such, most of our revenue came from services. Landing clients beyond our network proved difficult for us for many years. For many years, our biggest clients came from our network. They came from people who knew who we were and what we were capable of building. The company was a software boutique, a term used to describe companies that charge above market rates, but most certainly lower than the likes of behemoths like Accenture. So, lesson number one: if you want to start a services company, your network is the fuel that gets you into orbit. But it will only get you so far before you need Stage 2: a real sales engine.

Beyond the network

So we realized that not every one of the co-founders could be involved full-time in delivery. Some of us would have to take on C-level roles and actually try to find new clients and run the business. My preference, as you might imagine, is to create software. So I decided not to pursue a C-level role, but rather to keep building teams from the ground up, have them deliver projects successfully, and move from client to client. Perhaps this wasn’t the greatest idea in terms of how it positioned me for a possible exit, but in terms of meaning, it was the most meaningful one for me.

Growth

Around COVID, we really started growing rapidly. We went from around 10 people to 20, 30, 40, and so on. Our network kept sending us bigger clients, and over time we’d get some outside our network, but most would be on the smaller scale. I don’t think my co-founders would agree, but in truth, we were a remote company. Working with people from many countries and tapping into the potential of remote work to get exceptional talent for our clients was a real boon that many companies weren’t really leveraging. That’s when I truly realized that remote work was here to stay. I also saw many of my ex-colleagues moving back to their countries, and since I had been working remotely for the company we were building in Ireland for many years, the idea of moving back to Greece and continuing started to take root. This was the second mistake in terms of my positioning for a possible exit. But also, one of the most meaningful decisions of my life, other than becoming a husband and a father to a loving family.

The value proposition

I think that every company needs a value proposition. How do you plan to do things differently in a market saturated by what you are about to offer, i.e., software consultancy services? Our answer to that, and it was what convinced me to participate, was that the software we’d build would be similar to the software we were building for the company that laid us off. Similar in quality, caliber, and so on. The question was very simple. Are there clients out there that want masterfully crafted software and are willing to pay for it? Or are all of them looking for cheap commodity software from low-cost outsourcing firms? Turns out, there are quite a few companies out there who need just that. Especially in domains where failure has consequences, financial or otherwise, you want to bring in people who won’t just talk the talk and simply deliver paperwork, ahem, but rather deliver on what they say! What a crazy idea, right?

The deliverable from Ardanis, thus, was not just software that worked. It was well-tested software that did precisely what the stakeholders asked. Teams running agile and providing incremental value without fluff. Automation in testing and CI/CD that meant that if Ardanis left that client tomorrow, they’d still have a button to press to test their changes and send them to production without an expert from us being irreplaceable to do this. So if you are curious whether there are companies that would pay for this sort of thing, then the answer is yes, there are companies. You just have to find each other.

Winning the IBEC Award

Perhaps the best team I built and ran was for a big client around 2021-2022. That team had something rare: trust, technical taste, momentum, and a client willing to let us do the job properly. Firstly, the camaraderie we had between us was great, our sense of craftsmanship was shared, and the client gave us buy-in to turn the thing around and deliver a product currently used in many locations across the world. That project was the one Ardanis put forward, and it won the IBEC Digital Technology Services Project of the Year in 2023. The company had other awards throughout the year, but this one was easily the best one we got, and it was quite unexpected that we won it!

Technology Ireland Industry Awards - Digital Technology Services Project of the Year 2023, awarded to Ardanis

The exit

By year eight, I could feel that my chapter with Ardanis was coming to an end. The company had grown, I had changed, and the life I wanted to build was no longer fully aligned with the role I had inside the business. Sometimes you make a clean, deliberate decision. Other times, life gives you a less elegant nudge. In my case, it was probably a bit of both.

So I exited.

A few days later, I was scheduled to hike Mount Olympus.

Selfie at the summit of Mount Olympus

Conclusion

If there is one thing I would like you to take from this story, it is this: following your craft seriously is rarely wasted effort. It may not always lead where you expected. It may not protect you from mistakes, difficult people, bad timing, or hard endings. But it gives you a compass.

As an engineer, I know how lucky I am to do work I genuinely enjoy while being paid for it.

If you start a company, choose your people carefully. Skill matters, but values matter more. A company is a long road, and you will eventually discover whether you are truly walking in the same direction.

And when you make mistakes, own them. At least they will be your own mistakes, not someone else’s.