I Do What?

Ok, so I know I’m crazy late on this one, but things have been a bit hectic recently.  And I’m not even talking about holidays.  But since our newly knighted member at LosTechies has chimed in, I guess it’s about time I did too in response to Jason tagging me.

A Little History

Yeah, I know.  I always hated history in school too, but bear with me.  I’ll just give a brief (hopefully) paragraph on the past couple years to help illustrate what I’m currently doing and why. 

It’s April ’05 and I’ve got a really good corporate job as a lone software developer managing and building intranet-based ASP.NET web applications.  Decent salary, great benefits, short commute, generally low-stress.  Well, I had pretty much hit the “technical” glass ceiling (not wanting the “management” track) and had the desire to work with teams of other, more experienced, developers.  So I took a pay cut to go work for a small, but well established software consulting firm in May ’05.  (BTW, make sure you always factor in health insurance costs when weighing a decision like this.  That was stupid mistake #1 which ended up costing me dearly.)

So there I was in the consulting game and learning and growing by leaps and bounds.  I had already long embraced OSS as a viable alternative to the Redmond standard.  Which made for some interesting internal debates and experiences considering they were a “Microsoft Certified Managed Gold Partner”.  Anywho, I cranked away at various internal and external client projects for a couple years, getting to work with some great folks including my boys DP Bullington and Paul Laudeman.  With their help, I tried to help introduce some agile engineering practices onto our projects (TDD, CI, DDD, etc.).  We all spent a year on-site with a particular client trying to introduce Scrum on 4 projects simultaneously, which turned out to be quite a mess, and in my opinion, an overall failure.  I mostly attribute that to poor leadership and lack of experience on our my part (only speaking for myself).  Nevertheless, in the 2 years I worked at that consulting firm I learned a TON technically, but more importantly, personally in how to deal with people and some of the ins and outs of the software consulting business in general.

Ok, so maybe that wasn’t as brief as I thought.  Sorry.

Here And Now

So, ironically, in April of ’07 I found myself once again at a kind of crossroads.  After a year of spending ~2 hours a day on the road back and forth from the last client for which I worked, along with the fact that I was just generally not happy with how things were going, I accepted an offer from another, much larger, consulting firm.  This new firm, which, among other things, had much better benefits, shorter commute and was a “hybrid” shop (unlike the previous firm, which was 1 Microsoft Way or the Highway).  So overall, I felt pretty good about the move.

As I’ve continued down this path as a software consultant, I’ve grown more and more passionate about delivering quality, maintainable software to clients.  I know, who would disagree with that, right?  Well, in words, probably no one.  But in deeds and practices, that’s another story.  Suffice it to say, I’m continuing to try and raise the bar, both for myself and for those I work with to ensure that we are serving our clients in the best way we know how.  Which is by giving them solutions that benefit the business and that don’t break and doing so without working crazy amounts of hours.  Sometimes I wonder if I take my job as a consultant too seriously, which is perhaps due to my passion for the craft of building software.

What’s Next?

Well, so far, I’m finding Richmond to always be playing catch up with some of the other markets like Austin, Calgary and Philly with regards to adopting a more lean development process and engineering practices.  But this is where the Lord has us right now and that’s all I need to know.  I am looking to possibly start accepting some presentation opportunities, first internally at my current firm and also at Code Camps, DNUG meetings and screencasts.  I’m still new to all of this, but hopefully the more I do it…well…you know.

Oh, almost forgot to mention my recent interest in Ruby (and of course Rails).  I was really fired up a few months ago and even started “chapter blogging” my way through my first Rails book.  Unfortunately, that was somewhat quenched by my work load at the “day job”.  I still have an iron in the Ruby fire, and am hoping to get that ramped back up again soon.  Along with helping to build the LosTechies community and possibly help out on an OSS project or two.  Yeah, not sure where I’ll find the time.

On a side note, I’m hoping to start distancing myself away from the “dotnet” part of my persona, if you will, of “joeyDotNet”.  Mainly because I believe in choosing the best tool for the job at hand and sticking my name to a particular technology was probably a naive move on my part in the first place.  Anyone have any thoughts on how to actually go about doing something like this?

Tools Of The Trade

Looks like other folks are listing out some of the tools they use.  Well, of course, ReSharper has to be at the very top of my list.  I honestly will NOT use VS without it.  And you probably already know of my fondness of MonoRail which I’ve used for almost a couple years (I think) on various projects, back when ASP.NET MVC still meant Make Views Chief (Which sadly, most legacy projects I have to work on still embrace).  Of course others like MbUnit, Rhino Mocks, Windsor, TDD.NET and NAnt are also important tools in my box of goodies.

Wrap It Up, Will Ya? *yawn*

Ok, so that’s probably more about me than you ever wanted to know.  But if you want to contact me regarding presentations, work, or just to say hey, you can find me here as well as LinkedIn, Facebook and occasionally Twitter.

Just like being there…almost.