The problem is that writing code is a much smaller percentage of most business problems than those of us with software backgrounds assume.
In your example, setting up a Shopify instance isn't much of a programming task, but consider the ongoing support. Once the instance is up, who updates the listings? Makes changes? Who's on call for support? Eventually you're just running a services business to cater to customers who don't want to get their hands dirty.
Even for problems that can be solved by writing a lot of code, the overhead of dealing with sales, payments, hosting, licensing, ongoing support, and maintenance can easily overshadow the effort required to write the original code.
In general, it's hard to write software solutions that can be handed off to customers without ongoing support. This model might work for people who can dive into old codebases and fix things, but that's miserable work as soon as you see what real-world code looks like at companies without permanent developers.
In your example, setting up a Shopify instance isn't much of a programming task, but consider the ongoing support. Once the instance is up, who updates the listings? Makes changes? Who's on call for support? Eventually you're just running a services business to cater to customers who don't want to get their hands dirty.
Even for problems that can be solved by writing a lot of code, the overhead of dealing with sales, payments, hosting, licensing, ongoing support, and maintenance can easily overshadow the effort required to write the original code.
In general, it's hard to write software solutions that can be handed off to customers without ongoing support. This model might work for people who can dive into old codebases and fix things, but that's miserable work as soon as you see what real-world code looks like at companies without permanent developers.