I learned to code at 29, and I'm sorry to say that, compared to to the author, I don't have such a rosy outlook...

For context, I was a Product Manager, and fell in love with CS/SEng by taking Harvard's CS50 in my free time. I then did other MOOCs on topics like algorithms and software architecture before finally settling on a 12-course masters in Software Engineering at Harvard Extension.

I took a hybrid approach compared to the author, combining a hacker-builder mentality with academic study, since I enjoy both.

5 years later, I'm building custom apps for enterprise and startups, making about the same as an early-senior software engineer in my country, so I'd say I'm doing quite good. Though it's important to note that I get paid for my sales, project management and design skills on top of programming. There is no way I would make as much as a staff engineer here.

However, I really do not share the sentiment that it doesn't take that long, or that anyone can (or should) do it.

I've spent thousands of hours studying and building, and I still find that pushing code to production and maintaining mid-sized codebases is ridiculously hard. This whole discipline still kicks my ass in myriad different ways, whether it's programming in the small or big. And no, being challenged regularly is not always fun - it can be extremely psychologically taxing too. There is also the commonly understated fact that, as with any complex discipline, learning sees diminishing returns: getting from 0 to 100 may take 400 hours, but getting from 100 to 200 may well take 4000. So you better be prepared for this grind.

Learning to code, and building a prototype glued together with no-code and a simple FaaS backend is completely different to scaling out a production-ready system. And I don't think that's an entire process that one can learn ad hoc or on the job as makeshift CTO. If a prototype you build is really successful, you will likely be completely overwhelmed by the technical challenges and will not be remotely able to lead engineering; rather, you will need to delegate entirely to experts. If the product has a very slow start that allows you to learn as you go, then how are you going to pay the bills?

Framing it in a slightly different way, how many people do you know that grew into a CTO / engineering lead role all by themselves having spent just a few hundred hours of casual coding? Mark Zuckerberg or David Heinemeier Hansson don't count - they likely spent their 10,000 hours coding before they saw any success. They were hardcore. I've spent many hours browsing HN and related sites over the years, and while I've occasionally encountered the "I built a prototype, dumped it onto some competent engineers, and then switched to CEO" archetype (I've met three people like this IRL, actually), I don't think I've ever encountered any substantial examples of "self-made CTO in under a year".

I don't mean to be a gatekeeper or belittle the author or his experience. I am well aware that there are some people that are orders of magnitude smarter than me, and with a nearly-permanent happier predisposition. I also think there is a lot to be said about doing what you enjoy, and as far as "following your passions" goes, programming may be one of the safest bets out there, since software has eaten the world and there are many opportunities in the wild. I just want to offer a counter-argument in that there is a good chance that you will find part of this process grueling. Be prepared!