Please Don't Follow Advice From The Experts!
10 Sep 2012
Fun Fact: You most likely fall into the same trap that I do: The expert's dilemma!
The Expert's Dilemma?
Yes, the expert's dilemma. What is it, you might ask. In fact, if you don't ask yourself this question right now, why are you even reading? Maybe this piece then isn't for you. If you are, however, wondering what that is and why you most likely also fall into this trap, read on.
The expert's dilemma is quite simple: We try to emulate experts as well as we can. We try to listen to their opinions, follow them, and carry out everything they say. The problem with that? If you are not an expert,
most of the things they say don't matter to you!
Yes, seriously!
Let me illustrate through two examples: Fitness and Starcraft II. I know, I know, both of those have nothing to do with programming (except that progamer looks almost like programmer), but bear with me. Just a moment now.
Let's talk about Starcraft II
Starcraft II is a really simple game. You have so-called harvesters, that gather resources. With these resources you can build more gatherers, units to attack or defend, or new structures and research to make everything stronger. Simple as that.
Now of course the pros are talking about balance, and that this unit might be a bit better if it had one attack power more than it has now. Or that if you delay action X, you can do action Y Z seconds faster. And other such fun things. If you follow all this advice, you fall into the trap of the expert's dilemma.
When I started playing Starcraft II, it worked something like this:
Andreas: "Wohoo, I play Starcraft II. Let's just try to play so I have fun!"
The Pro: "But Andreas, what are you doing? You should have a plan, you should scout your opponent!"
One week later
Andreas: "Whohoo, I play Starcraft II. I even scout!"
The Pro: "But Andreas, what are you doing? You should control each unit into his last detail!"
One week later
Andreas: "Wohoo, I have a lot of free time!"
Why did that happen? Because I tried to follow all the experts advice, I forgot that I first need to learn the basics: Gathering resources! So I started to lose a lot and I quit.
So all the questions about balance and all that don't play a role for people like me, because other things play a much bigger role. For the pros who play all in the same percentile, they do. But for me?
Let's talk about fitness
Ah, fitness. Where everyone has an opinion. And everyone has a different opinion. It sucks! It makes it hard to start. So let's take the journey for a normal beginner (like me!):
Andreas: "Wohoo, I started with a fitness routine! So I run a few times per week and do some bodyweight exercises."
The Pro: "But Andreas, what are you doing? Running hurts your muscle gain, so stop that!"
One week later
Andreas: "Wohoo, I started to do a lot of bodyweight exercises!"
The Pro: "But Andreas, what are you doing? If you would vary them more, you could get better results! Also, start doing them on 5 days instead of 3."
One week later
Andreas: "Wohoo, I'm playing Starcraft II!"
Queue a rage comic here...
Result: Instead of following what I was doing and enjoying, I stopped doing anything. Instead of getting 80% of the results, I now get 0%!
This Is A Blog About Programming, Right?
Yes, absolutely. Now let me tie it back to programming.
TDD, BDD, refactoring,
SOLID, performance, method to line ration, line per class ratio, test coverage, newest trends, etc. etc. etc. Sounds familiar? Do you get it now? No?
Damn it!
That was the point of the whole post.
Let me try again: There are a lot of buzzwords and other things to follow, which can choke a beginner. A beginner should be doing. (
Careful: Controversial statement following!) If it isn't perfect, who cares?
It is more important to do than to do it perfectly!
Experts Are Nice, But...
I know the experts just mean well. But a beginner or intermediate
can't possibly follow all advice! It will confuse her or him more than actually following through with it!
So don't blindly follow experts advice, just keep being awesome and improving along the way!
Don't get bogged down, don't try to do it all perfectly from the beginning. Add stuff slowly and concentrate on the basics. Because like in Starcraft II and in fitness, it is better to do the basics right than butchering all the experts advice.
Did you fall into this trap yet? Share your (horror?) stories!
If you liked this post, you should consider hiring me freelance, part-time or full-time!