perspective on skills: roy osherove

Wed September 14, 2011
IN: interviews
Tweetthis


Roy Osherove is a developer, author, trainer, and prolific advocate of unit testing your code. He is also a former .Net developer now focused on Ruby. I probably learned of Roy during the birth of the alt.net movement; from what I can remember. To me, he is like the Godfather of .Net Unit Testing. (Brad Wilson is the funny .Net Unit Testing nephew. Or something.)

I thought it would be interesting to get perspective from a well-known .Net dev who has really thrown himself into a new development language and toolset. Why? What lessons has he learned? If you are thinking about it, is there some advice you could gather from him? Perhaps. Let's see what Roy thinks..

1. What are your normal toolsets and coding environment? Meaning what language, IDE, and OS do you use most of the time; and anything else that comes to mind.
Normal? tough question. Before jumping into ruby it was VS 2010 + resharper, NUnit and more. I actually did a whole talk about my tool. the video is here: http://osherove.com/videos/2010/11/24/20-tools-and-tips-that-make-me-a-better-developer.html

2. Would you consider yourself pro-Microsoft, anti-Microsoft, or neutral? Why?
I'm pretty anti Microsoft these days, because I feel that I've been used and thrown away, and my 6 year efforts to bring unit testing and TDD to .NET have been hampered directly by decisions made by Microsoft with regards to the tools, ecosystem and teachings. Read more about that here: http://7enn.com/2011/07/04/appreciating-the-power-of-a-true-community/ The interesting thing is that, to achieve this realization I had to get out of my comfort zone and try a whole new community (Ruby). I needed to be out of the system to understand its behavior, instead of trying to do what I thought was "fighting from within".

3. What personal decisions or thoughts led to your current coding preferences?
The previous answer, mostly. also, because I didn't want to be a desktop developer for the rest of my professional life. I wanted to learn web, and it was too hard to do on the MS stack. on the ruby/rails stack things flow much easier for me.

4. If there was some business motivation, could you briefly explain it?
I didn't want to be only associated with TDD in .NET. I wanted to reinvent myself with TDD in Ruby, as well as team leadership (which has always been my secondary passion - see http://5whys.com )

5. What are the best points of your current coding environment?
Since I'm using macvim (or gvim or just vim) it's lightweight (so it can run on a macbook air without a problem. it's also conssisten when connecting to remote machines (via ssh) so you get up and running very quickly.

6. If applicable: What if anything do you miss from your previous coding environment?
Refactoring and debugging in vim are not great. I'm still not crazy about those experiences. resharper did that well.

7. Anything else you want to mention or promote?
no

Roy Osherove
artofunittesting.com | osherove.com | @royosherove

Roy is currently a Ruby intern at Astrails. I hope he is enjoying his work there. While I understand he is newer to Ruby but strong development fundamentals cross boundaries. It's hard to see "intern" next to the name of the guy I learned so much from. By the way, he has a nice TDD book at Manning.com.

Clearly, Roy is very passionate about testing which has led him to move away from .Net. I'm not as focused on that aspect of the .Net stack, so my opinion is slight different. (I view MS as following and 5 years behind; which means .Net devs are falling behind.) Still, the point is clear. Choose the tooling that let's you get your job done without getting in your way. If your toolset gets in the way, maybe you should consider a new one. Best of luck to Roy Osherove, and everyone else!
blog comments powered by Disqus