I self-learned to code at 30
I learned to code at 29, and I&#x27;m sorry to say that, compared to to the author, I don&#x27;t have such a rosy outlook...<p>For context, I was a Product Manager, and fell in love with CS&#x2F;SEng by taking Harvard&#x27;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.<p>I took a hybrid approach compared to the author, combining a hacker-builder mentality with academic study, since I enjoy both.<p>5 years later, I&#x27;m building custom apps for enterprise and startups, making about the same as an early-senior software engineer in my country, so I&#x27;d say I&#x27;m doing quite good. Though it&#x27;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.<p>However, I really do not share the sentiment that it doesn&#x27;t take that long, or that anyone can (or should) do it.<p>I&#x27;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&#x27;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.<p>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&#x27;t think that&#x27;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?<p>Framing it in a slightly different way, how many people do you know that grew into a CTO &#x2F; engineering lead role all by themselves having spent just a few hundred hours of casual coding? Mark Zuckerberg or David Heinemeier Hansson don&#x27;t count - they likely spent their 10,000 hours coding before they saw any success. They were <i>hardcore</i>. I&#x27;ve spent many hours browsing HN and related sites over the years, and while I&#x27;ve occasionally encountered the &quot;I built a prototype, dumped it onto some competent engineers, and then switched to CEO&quot; archetype (I&#x27;ve met three people like this IRL, actually), I don&#x27;t think I&#x27;ve ever encountered any substantial examples of &quot;self-made CTO in under a year&quot;.<p>I don&#x27;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 &quot;following your passions&quot; 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!