You're conflating smart business choices with good programming. His code could be well marketed shit that just barely works under the covers, but he sells it well (Narrator's voice: "It isn't shit...")
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.
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.
What’s the purpose of programming if it’s not “make the computer do stuff I need it to do to solve my problem”?
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”.
Why do you insist on not understanding what it means to write high quality code? In some contexts, like my previous job, it's important. In others, like if you're making games or non-essential apps in your one man indie shop, much less so. Other qualities are much more important. But it doesn't matter if it's "important" or not, it's a concept that exists, and the only thing we are trying to discuss is that.
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.
My thesis is still code is meant to make the computer stuff. That “stuff” can be “Candy Crush” or “reliable code that doesn’t cause a plane to fall out of the sky”.
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.
You can think whatever you want, but we are still discussing the quality of the code that they write. Not which skill is more important, what life is like at Google, your inferiority complex about not passing the whiteboard test, or anything else.
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 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.