Fav HN Comment - "Less Code Fallacy"
Hacker News is certainly a good source of aggregated news (tech news, but also general news) and information. But more than that, I find the comments section to be the best. Every now and then I come across absolute gems. Brilliant people are everywhere, but not every one of them writes blogs! For the most part, these have been buried in my "upvoted comments" section, and not many people ever got a chance to read these comments. This is a blog series I hope to highlight some of my favorite HN comments in the past.
On Software will eat software in a remote-first world (Original article), comment written by 0xB31B1B:
I think your fallacy is in the "less code" assumption when you say "The result is less code". I'd argue that empirically we've seen this to be false. The result isn't less code, at least in a global sense, its more productivity, more features, more customization, and more specificity at a cost of less code/feature. Software has really interesting economics where as the cost/feature decreases by a factor, say 1x, then the set of features that can be profitably worked on expands by like 10x, so paradoxically, as cost/feature decreases, it makes sense to hire more engineers and expand R&D budgets.
This is such counterintuitive insight that I admit I had not thought of until I read the comment, yet it's so true.
The topic of the thread was about no-code/low-code tools (e.g. site builders, etc.); but I think it applies just as well to basically any level of abstractions and frameworks.
What used to take a lot longer, newer frameworks and technologies allow you to build software much faster. Technologies across the spectrum including AWS (in general), NoSQL data stores (compared to SQL DBs), frontend frameworks, enable you to build entire web apps as a solo dev -- the exact same apps that used to take entire teams to build.
I worked on text-based Facebook games back in 2008. We ran LAMP stack with an in-house built MVP framework in PHP, with basically no frontend framework (raw native JS only), running on bare metal servers that our infrastructure team had to assemble in our data centers.
The same type of games could be built in 2020 with modern technologies (React/Svelte for frontend, Redis for caching and various data structures stores for performance, MongoDB/Couchbase for persistent storage) and infrastructure (AWS with EC2/ECS/EKS for auto-scaling, RDS for a managed data store, Elasticache for Redis) and scale to the similar volume of traffic (several millions of daily users) with a much smaller team, with even more stable infrastructure than what we used to have.
What happens then? As a company, in this specific example, it then becomes profitable to build a lot more features, or simply build more games. Because you can now build the same product you did 10 years ago with a 10x smaller team (as an example), that frees up 90% of your team cost -- which in turn means (all else being equal) you could theoretically invest the 90% of the team you freed up to build 9 more games/apps, for 10x the profit. Of course, this is just to demonstrate a point -- in the real world, things aren't quite as simple and straightforward; but the same concept is certainly applicable.