devdiddydog said A software developer's experience life cycle:

0 - 5 years: attempt to replicate what your current senior is preaching, assuming that's the right way. Reading "Clean code" and preach it as gospel, even though you don't practice any of it.

6-12 years: gained the belief that you are better off coming up with solutions yourself, usually "sophisticated" and "elegant" which to everyone else (and also yourself a few years later) is an over-complicated inheritance ridden shit show. You have realised the "Clean code" movement is actually a cult but still believe code reuse is the holy grail. 

13+ years: finally realized that simplicity and pragmatism is the most sensible way for most software development. Code is now readable, maintainable and functional. You took the few good bits from "Clean code" and ignored the extremism. These are the golden years.

The problem is most developers jump ship and stop developing before reaching the golden years, thus resulting in most software projects looking like shit. 

Unpopular opinion, but it doesn't make it untrue.```