This post (The Evolution of a Software Engineer) to a non-experienced developer may seems just hilarious. Instead it shows the reality. It takes many years (maybe even more than ten) to understand that simplicity is the right strategy.
After some years, you realize that you don't have to show how smart you are or how many hacks you know.
The real important things are:
to complete the project even if it's not perfect;
to adopt some techniques that make it easily extensible;
to write code in a way that it's easy for someone else (or even you in the future) to understand.
Everything else, included blindly following questionable "best practices", it's dangerous for the project.
Cover image by Jegi taken from Flickr licensed under the Creative Commons Attribution 2.0 Generic license.