January 11, 2008 16:16
Posted by Jeremy Durham
Something I’m running into more and more often is clever people; really intelligent people who really want to show how smart they are, so instead of doing something in an obvious manner, that try to do things in a clever and convoluted manner. Just don’t do it.
Seriously, if you’re intelligent, we’ll know you’re intelligent, and there’s no reason for you to try to show us how smart you are; we already know.
I think the main reason is someone would want people to look at their work and say “Wow, he’s really a good developer! He wrote an incredible algorithm or solved this issue in two lines of code!”. Yeah, that’s nice until six months later someone’s looking back at your code and can’t figure out what the heck it’s doing easily. If I can sit down and figure out a block of your code in a few minutes, I’m really stupid, and you’re stupid for making it so convoluted. There will always be a time and a place for writing incredible algorithms, but squeezing a quarter of a second out of a request on a web application by making your code infinitely more complicated is a trade-off you should not be willing to make.
So, even if you think I’m stupid, I’m going to try to do things in the most obvious way that I can. And if you look at my code today and think I’m stupid, hopefully you’ll look at my code in six months and say “Is it really that simple?”