Some older coders don't seem to know what they're doing, either. At my job I've taken over development of our in-house applications from the guy who was doing it before. Every single project apparently started out from the same template. That means there's lots of code in each project that is never used and just adds bloat. The code is spread out all over the damn place across different classes (when there is no reason for it to be), there are almost no comments, and having so much shared code means that fixing one problem inevitably causes something else to break. Oh, and there wasn't any source control in use when I started, either. The code must have moved around a few times because older stuff was missing and I had to redo it from scratch on one occasion.