In addition people are better at different things. I joined a startup recently. The code is well organised at the top level, and the logging was superb. However the architecture was terrible, horriby overengineered. And it looked like a Java programmer doing python - camel case instead of underscores (well a mix just to be inconsitent). Joins done at the application level rather than the database. And just doing way more work that was needed to calculate something.