Last week I posted about the dangers of giving advice. I’ll say flat out that I’m not a fan of advice, even though people ask for it all the time. As an alternative, I would recommend education.
The other day a client who’s building an application in Rails sort of apologized for using Subversion for version control and said they were looking at migrating to Git. Other Rails developers had apparently asked why they weren’t using Git, and he seemed a bit abashed by it. I could have advised him to migrate to Git, or that he should stick with Subversion, but instead I explained how Git differs from Subversion, and what people like about it. Given a better understanding of how they differ, he was able to make his own decision. (He stuck with Subversion.) In the end, it was consideration of his own circumstances that led to what was probably a good decision. Some people working on the project use Windows, and aren’t interested in the headaches of using Git on that platform.
To be honest, I only realized that I prefer educating to giving advice recently, but I have been explaining why I’m against giving advice for a long time now. Advice is cheap and rarely productive, and nobody ought to be taking it without understanding the thought process of the person giving it. That’s particularly important because for all the value of an independent perspective, the other side is that advice givers often lack key pieces of information. The reasoning behind the advice is where the value is, because it enables you to see how the advice may apply to your specific circumstances.
I suspect the motives of people who give advice. Nearly all advice boils down to “be more like me,” and many advice givers are interested in the ego boost that comes from having people listen to the advice they’re giving. Hearing the words, “If I were you,” I generally want to flee.