It's amazing how consistently HN people underestimate the workload involved in basically any software product, and how often this blog post is relevant: https://danluu.com/sounds-easy/
> I can't think of a single large software company that doesn't regularly draw internet comments of the form “What do all the employees do? I could build their product myself.”
Products are nearly always more complicated internally than it appears to the user. Indeed, often the very ease of use that you see as an end user is because of higher complexity on the inside.
People who say this have never worked in an enterprise, global software company. Or if they did, they may not be working on key projects.
Just SCALE ALONE is enough to expand a group of engineers a significant amount. A personal project is fine to run 1 AWS or Digital Ocean instance to run the application, database. But global distribution that has to support tens of thousands, hundreds of thousands, or even million+ users concurrently globally? It's a big orchestration of applications and services that requires much larger teams.
Add in payment services and managing those integrations. Then, given that you're a global company and have to operate in multiple countries you have all sorts of regulatory compliance requirements. Who oversees that? Who manages all of these requirements? Not a single dev or a small team.
>People who say this have never worked in an enterprise, global software company.
On the other hand
How much friction there's between decision makers and people writing code in those companies?
How much time is wasted on meetings, teaching new people every month, etc, etc?
Sorry, but I really can see scenerios where 5 skilled engineers with ___domain knowledge can outperform 25-50 that need meetings to agree on everything
> I can't think of a single large software company that doesn't regularly draw internet comments of the form “What do all the employees do? I could build their product myself.”
Products are nearly always more complicated internally than it appears to the user. Indeed, often the very ease of use that you see as an end user is because of higher complexity on the inside.