perspective on skills: justin etheredge

Tue August 02, 2011

I don't remember how it was I came to follow Justin Etheredge but I've subscribed to his blog forever it seems like. He is one of the original authors of the OSS project I currently/occasionally contribute to; that being FluentMigrator. He is one of the short list of people who influenced my techy thoughts most (this series has most of the others). Naturally, I had to wonder... What Would Justin Do?

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.
For most of my professional coding I'm writing in C# in Visual Studio 2010 running in Windows 7. I've got to have Resharper running or it drives me nuts, the Resharper shortcuts have become second nature to me and when I don't have them, I feel a bit sluggish. Most all of the coding I do personally these days is in Rails. I started off using TextMate a while back, but now I use MacVim for everything. It was a bit of a challenge at first, but I actually got used to it a whole lot faster than I thought I would. I'm still not as fast as I am with Visual Studio and Resharper, but that will take time. With MacVim I use a very slightly modified version of Janus (https://github.com/carlhuda/janus) along with PeepOpen. I use Git for source control on basically everything right now.

2. Would you consider yourself pro-Microsoft, anti-Microsoft, or neutral? Why?
Neutral. Microsoft isn't a single company. They may operate under one name, but they are several companies in one. I would probably say that I feel positive towards DevDiv, they have done so many great things over the last few years. Unfortunately I can't say the same thing about other parts of the company.

3. What personal decisions or thoughts led to your current coding preferences?
I love to create things, and I don't want my tools in the way. Resharper allows me to keep a better flow when producing code. It allows me to more quickly change directions in my code, or to navigate from one place to another. So I really just want an environment that allows me to quickly produce code so that I can build software.

4. If there was some business motivation, could you briefly explain it?
Productivity. I want to be productive, end of story. Productivity is a kinda loaded term though. You can trade immediate productivity for future productivity. You can trade productivity in production for productivity in maintenance. At the end of the day though, it is all about producing software which provides value to your customer. Being productive is a big part of that, business moves so fast these days, if you aren't producing quickly then you'll likely be left behind.

5. What are the best points of your current coding environment?
With Visual Studio I'd say the best part is really how integrated everything is now. Microsoft gives you this environment in which you rarely have to leave Visual Studio (with Resharper!) for anything. This makes it easy to get setup and running. Unfortunately it also constrains you sometimes. People who refuse to use tools outside of Visual Studio miss a lot. Things like CI servers, build scripts, etc... often aren't as easy to use as just hitting "Build" inside of Visual Studio, and so many developers write them off.

With MacVim I'd say the best part is the lightness of it all. Everything is so snappy and fast. It gives me the syntax highlighting, formatting, navigation, etc... that I get with Visual Studio and Resharper, and it starts up instantly and can run just as nicely on a netbook as it does on my MacBook. The one thing I do miss is some of the refactoring support, but I've tried to Ruby IDEs and they just feel like "too much".

6. If applicable: What if anything do you miss from your previous coding environment?
My previous coding environment before Visual Studio was Delphi. So honestly, not much! Maybe if you asked me this question back in the early 2000's there would have been some parts of the Delphi IDE which were better, but VS2010 is way ahead now.

As far as working in MacVim (and before that TextMate), this is honestly the first time since college that I have really worked outside of an IDE. Modern text editors though provide most of the niceties these days that you would expect from an IDE. So honestly, I enjoy working inside of a text editor, and I rarely miss my IDE.

7. Anything else you want to mention or promote?
I blog pretty regularly over at CodeThinked.com and my company Ecstatic Labs (http://ecstaticlabs.com/) just got off the ground about a year ago.

Justin Etheredge
blog | @JustinEtheredge | Ecstatic Labs

Justin's work, to me, is quintessentially pragmatic and yet also striving to the highest quality. Seems striving for better is a common theme for him; which is a hallmark of a driven developer. You know.. the type you should hire instead of that "current student, senior developer with 10 years of asp/mvc/ruby/mongo/mysql/abc/xyz" from craigslist. (no offense to CL)

Honestly, I'll be taking a look at those Vim plugins soon as I can. I could stand to improve my [Mac]Vim skills a bit. I've also noticed a common theme in these regarding Microsoft; that's for a separate post though. For now, check out Ecstatic Labs.