Overstaffed Software Companies and the Inefficiency of Best Practices
Software development in industry is grossly inefficient and backwards.
Almost the entire focus is on design patterns, best practices, and industry standards; but NOT using what you build.
The division of labor is so extreme that it takes days to track down the simplest bug.
Developers should be building things end-to-end, themselves, with only larger, higher-level components being divvied up and combined through collaboration.
When a single person builds and uses the application they make far less error-prone software without writing a single unit test (or any other test for that matter). Why? Because the developer is constantly refreshing the application and using it.
This makes the application far more robust because it is surviving something real. Liberal testing and best practices fragilize software because they lock functionality into naive detached patterns that strip away adaptability.
The best code is what survives constant use and change, not elegant formatting and established methods.
People who love to talk about coding standards and practices shouldn’t be allowed near today’s software teams. They are the old guard, and cause gross inefficiencies.
Most product companies could remove 80% of their staff if they built more than they talked.