Code Nomenclature
It’s hard enough to be the new guy on a project of any size so I think it’s important, even critical, that engineers and developers consider the learning curve during the development lifecycle. One easy win is to be conscious of entity nomenclature. All of the usual standards about length, self-documentation, etc. still apply, but I’m going to add one more standard to the list:
Name entities—variables, classes, tables, fields, etc.—according to what they are, not what they represent.
Representations can be both transitory and polymorphic, the data is not. An email address is, and will always be an email address (insofar as anything in technology is immutable) even if it may also be used as an identifier.
If a new developer has to know something about the application in order to navigate its nomenclature, then an opportunity has been lost. I’ve spent hours of my life searching Jurassic-size data models for an email address field only to find that data stored in a field called username.