Don't Outsmart Yourself
The great Richard Feynman had a saying. "The first principle is that you must not fool yourself and you are the easiest person to fool." I believe there is a similar principle that can be applied to software engineering. "Don't outsmart yourself." As a software engineer, it can be easy to: Over-engineer a solution to a simple problem. Strive for elegance over ease of understanding for others. Use an obscure, or less popular approach to solve a problem. Abstract away complexity pre-maturely. Write a custom library when something that could have worked off the shelf would have sufficed but maybe wasn't a perfect fit. It feels good to do these things. It works parts of your brain that might be aching to do something interesting. It can impress your peers. In time though, you will outsmart yourself . The smarter you are, the more prone you will be to outsmarting yourself. The trick is to balance ego...