I've made a similar decision in the last 12 months and I disagree with almost every bit of logic deployed in this article.

This time last year I was a CTO of a 10-20 headcount firm which was turning over about $10m/year in revenue.

A few years before that I helped build a company from me and the CEO and got it to about 20 headcount and a $15m pre-money valuation.

I am now a senior developer/tech lead in a 150+ headcount firm. There are two layers of management above me to CTO.

Why? It's quite simple. I wasn't happy in my role, because like the author I felt stressed and I wasn't doing anything particularly effectively.

So I sat down one Sunday morning and feeling the dread of Monday morning coming closer I wrote down a list of things that happened on bad days hoping to identify things I could eradicate, and a list of things that happened on good days with the view to do more of that.

It doesn't matter what was on the list of bad things, the list of good things was quite short: get to work on code/infrastructure; solve problems in a hands-on way; work in a great team as a peer, not as a manager.

It's a joke of mine that in very small startups CTOs have to write code, and in much larger startups CTOs don't have time to write code, but in 10-20 headcount size startups the CTO has to write code but doesn't have time to.

That meant in my previous roles I was still quite hands-on. Other CTOs I met told me I was not a "proper" CTO. One was amazed I knew how to code. Fuck 'em. I started as a dev, enjoyed being a dev, I would dive into dev when I could.

In the end, I realised I enjoyed coding. It wasn't the easiest thing in my job, it was the most satisfying.

So I quit, and put out a developer resume. Everybody told me I couldn't go back. I disagreed. I took a substantial pay cut to work somewhere else, and immediately within a week felt happier.

I realised that I could have empathy with tech management and use my own experience to talk in their language to influence decisions, but ultimately I wanted to write code as much as possible.

I'm fortunate that I work in a firm where engineers are given a fair amount of autonomy over tech decisions, taking input from product owners on priorities from the business. We have a voice, we have influence, we can change things. That means the traps are not as deep, the despair is not as entrenched.

Sure, things fuck up. Sure, we disagree sometimes. But that happened when I was CTO as well. There were huge arguments with CEOs at times. There were disagreements with VCs about tech strategy. There was crap bubbling up all the time that got on my scope. The fact I was the guy making the final call on this stuff didn't mean suddenly everything was fine because I was good, it meant my stress levels increased because the cost of getting it wrong was a couple of dozen families not being able to pay the mortgage next month.

That doesn't mean if you want to CTO, you can't. You can and you should, if that's what you want.

What I would argue is that you have to optimise for energy and happiness. Get energy and happiness right, you can do anything else you want. It all starts with those two.

You shouldn't choose the "easy" option, you should choose the option where you get to look forward to Monday morning, the option where you go home and feel satisfied with the contribution you made that day. For some, that's writing code. For some, that's automating CD pipelines. For some, that's figuring out how to save the company $x/year by moving services around from one vendor to another.

I expect I'll go back to smaller startups one day. I like the idea of trying to be an indie dev or getting paid to work on open source on my own terms to some extent, but right now I'm happy having the stability of where I am, and I get to write code, and I work with great people.