– Why did you do that?
– Fowler (Uncle Bob, Mark Seemann) said this is the best practice.
Very often we can hear and read such conversations. When I was younger I also argued by using names of famous developers such as Uncle Bob or Martin Fowler. There are some considerations regarding this phenomenon I want to talk about today.
First of all, I want to say that in the end Fowler, Uncle Bob, and others are just people, nothing more and nothing less. They are not programming gods. They don’t know everything, they just try to better understand the field of software development like many others. Mindless following of their advice is just a cargo cult. Especially beginner developers tend to fall into a cargo cult divinifying famous developers. This leads to refusing from thinking by your own head. This leads to misunderstanding the concepts or ideas proposed by those famous people since the follower will just mindlessly apply them.
The first corollary is that you should not blindly trust them.
Once, Martin Fowler said that many developers criticize his ideas, but in the end as time has gone on they agree with him. Fowler and Uncle Bob are not regular developers, I think no one will seriously question their reputation. Fowler and others have written many excellent books, but they can’t be aware of all possible peculiarities of all software projects in the world and they can’t give perfect generic advice for all possible cases.
The second corollary is that you always have to try to understand the gist of advice or best practice and fully understand how they can be applied in your particular project.
When you discuss any practices or why have you done something the way you’ve done it, never ever argue by saying that you’ve done it that way because “Uncle Bob said”. This is just dumb for senior (I hate this idiotic title, sounds like you’re an old man sitting in a home for elderly people) developers. “Uncle Bob (aka “I know everything about design”) said that” is not a reason to do anything.
The third corollary is that you always should argue by using logical arguments. Be knowledgeable.
There are thousands of crappy developers in the world and if you find yourself in a situation when you’re surrounded by developers who try to give you apparently bad advice and you for some reason can’t or don’t want to change your job, trust Fowler and Uncle Bob. This will be better for you. Eventually, you’ll understand their ideas. Don’t listen to idiots.
Subscribe to my blog! And don’t forget to have a look at my programming video courses!