People seem to have a problem with me “changing lanes”. But that’s the way I learn things.
If I totally disagree with something, I accept the fact that I may be doing so because of fear and misunderstanding. The best way to get rid of FUD is to give something a shot, and that’s what I do.
- I had a problem with Team System – I thought it was too much, but I didn’t have all the facts.What was I going to do about it?
So I started learning it and doing consulting on it. My goal was to become an authority on it so that I can say I’ve been to both sides and now I can decide better based on real knowledge. Today I use svn because it makes more sense for my current team – not because I don’t like TFS (I do, it has lots of good stuff, just like it has bad stuff)
- I had a problem with Typemock – I thought it was a lousy product, that kills design for testability.. What was I going to do about it?
So luckily the company resides in the same country where I work, so I got up the nerves and actually started working on the damn product. Now, having been in both sides I can safely decide and answer all questions from both sides, in a more objective manner. Do I always use it? no. I use it when it makes sense. I also get to make it better in terms of API, usability and vision, so that it fits more into how I think it should be. That’s what I’m doing about it.
What’s next though?
- I have a problem with BDD and spec-related frameworks. What am I going to do about it? (can you guess?)
- I have a problem with people who think I’m a sellout – can I do something about that? (accept the fact I can’t control what other people think, and just do what I feel is the right thing – lead by example)
- I have a problem with DDD (not getting it). what do I intend to do about it? (can you guess?)
- I still don’t get NHibernate well enough. I intend to do something about that.
My point is:
Sometimes real courage means not standing in the sidelines and saying something is bad. Sometimes it means trying something even if you may look like a fool or a sellout, because that’s the only way to learn that something and come out with more knowledge. Sometimes that means you don’t feel as comfortable as you should.
TO all the detractors: a little challenge. since you’re so frigging confident in what you do, take a chance and
- Develop a full project with VB.NET
- Use Typemock on a real project
- Use TFS on a real project
- Do TDD on a real project
at worst you’ll have actual things to say why you don’t like them, and you will have learned something.
otherwise, get the hell of my lawn.