There are some segments from a few episodes that show that Marco is demonstrably not a super great programmer. I suspect some of his server side code is horrible. But he doesn't matter because he is super strong at other stuff super focussed on solving his own problems at gets it done. You don't need to be super great at programming you just need to be tenacious.
Yes I know all about clean code, automated testing, and “sound engineering practices”. But I’ve met a number of theoretical good coders who couldn’t ship a product that met the customer’s needs to save their lives. If I’m working to support my addiction to food and shelter, if I write code that doesn’t further that effort, I’m not being a “good programmer”.
It's like if we were discussing the IQ of tech founders and you kept interrupting, saying "IQ is not all that matters", "You can't pay your bills with IQ points", "Steve Jobs might not have a genius IQ but he was a great entrepreneur and that is more important". It's all true, but irrelevant, since it's specifically IQ levels we are discussing.
But writing the best “Enterprise FizzBuzz” that doesn’t solve a problem no matter how good the code is is meaningless. A great developer that writes code that no one uses is not a great developer.
In other words a great developer that can’t ship is worthless - the whole “smart and gets things done” metric.
FWIW, there are plenty of people who shipping great quality code everyday at Apple, Google etc. Not "FizzBuzz", but concise, human readable, robust, maintainable code. My only contention is that Marco probably wouldn't be able to write code to the standard required at some FAANGs. Casey definitely wouldn't. John quite likely. What do you think?
Keep in mind we are only discussing the code aspect. Not putting up with standups, corporate jargon, middle managers, 9-5 etc.
Well-written apps can meet a need, but it's like furniture. You can buy some cheap futon that gives you something to sleep on, but doesn't last long. Or you can buy a bespoke bed with handcrafted mortise and tenon joints, perfectly straight grained wood, and French polish finish. Both will give you a place to sleep, but one might last longer.
It's like my code. I have some super ugly python utils I've written that a "real" programmer would cringe when looking at the code. But it works 100% of the time when run (assuming the processes they call don't change their specs). The code is written for Python2, and breaks on Python3. It's not very clear how things work, despite extensive commenting. By your definition, these utilities would be "well written." To me, they're brittle, fragile eggs that I eventually will have to rewrite when Enterprise Security decides we can't have python2 binaries on our servers.
Marco has already solved that problem. He said if he dies, his app dies with him…
Marco is an excellent indie developer because he selects markets he has a good understanding of, finds his niche, then simply outclasses his competition by being ahead on features. He also has a loyal following from his podcasts, and is an aspirational figure for a lot of devs hoping to make money (or break free of corp serfdom).
A well written program/app isn't a necessary requirement for success.