Don't Be Too Clever

As you get more comfortable with your tools (languages, frameworks, etc.) it can be tempting to come up with the cleverest solutions possible. Why wouldn't you want to use all the tricks you know?

Think carefully about being clever. Clever solutions can require more work to understand. Always remember that your code doesn't just need to be written. It needs to be written in a way that is easy to read and modify in the future by someone else (or you after you've forgotten exactly what you did).

Sometimes a clever solution is justified. Maybe it simplifies things or makes the solution substantially more efficient. But make sure you understand any tradeoffs between cleverness and clarity you may be making. Clever can be good, but clear is usually better.