Earlier quoted context omitted.
Note that I'm not saying we shouldn't do as best as we can with documentation, clean code, etc, BUT: In the open source world, I've developed a large low quality codebase that is very complex from when I was less experienced. This project has gotten plenty of contributions over the years, some from less experienced and some from more experienced. The experienced developers know how to get around the codebase, but the…
it is probably because the new devs know so much more and are able to identify and communicate problems in code that others have written. write code for the center of the bell curve (at your organization). the bottom will never understand anything, the top understands it all. You need to make the majority in the middle be comfortable. that means slowly bringing in new language features, as they become widely known an…
Your code practices will probably resonate differently on each of those groups, so you will probably have to choose. And I don't think there's a generic correct choice like you imply.
Also, by how much are people even capable of choosing the (required) expertise level of the code they create? I'm not sure we can deviate a lot from our natural level.