Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org.

I’m back in the saddle again!  Turns out that not having to go to work every day has its advantages, which I’ll sorely miss, but I’m very pleased to report that I’m once again gainfully employed.

I spent a very interesting couple of weeks doing an intense job search both inside and outside of Microsoft.  It was a rather stressful experience, of course, but also very educational.  I joined Microsoft right out of college fifteen years ago; in fact, I did an internship there during the course of my college education and subsequently got a full-time job offer even before I graduated, so this was literally the first real job search I’ve ever done in my life.  It was good for me to consider what other software opportunities are available outside the mother ship, and I talked to several great companies in the Puget Sound area.

I’d like to give a special shout-out to Alliance Enterprises in Olympia and Azaleos in Seattle.  They seemed like great Agile shops and I thoroughly enjoyed talking to folks at both of them.  If you’re a strong Agile-oriented .Net developer looking for a great place to work, get in touch with those companies.

I learned a couple of lessons as a result of the job search process:

  1. Get involved in the professional community!  Email is good, but face-to-face is better.  Several months ago I started attending the monthly Seattle-area Alt.Net meetings and getting to know like-minded folks in the Puget Sound area.  That reaped enormous benefits when I needed to find Agile-oriented job prospects.  I developed contacts with both Alliance and Azaleos through that group, as well as several other useful leads.  Everyone should get involved in professional groups outside of their employers.  If there’s not one in your area, start one!  There’s almost zero overhead if you use an Open Spaces approach.  Involvement in a local community is a good thing regardless, but the networking is invaluable in tough economic times.
  2. Build a public portfolio!  I was really glad I had started this blog a few months ago.  I don’t have a lot of posts up yet, but the content that’s here was enough to demonstrate to prospective employers what I’m about in a much more effective manner than a simple resume.  Participation in open source projects is another great way to build a public portfolio.
  3. Build a distinctive skill set!  When I wrote my resume, I put a lot of effort into emphasizing my interest in and experience with Scrum, TDD, and other Agile concepts.  I’m sure that turned off some prospective employers who weren’t looking for that kind of thing, but it attracted the attention of others who were.  Anything you can do to distinguish yourself from garden-variety code monkeys is a good thing.

I’m not a great role-model for any of those three points; to be honest, I’ve merely dabbled with each of them.  But fortunately that was enough to get me several interviews and an offer within two weeks of being laid off.

Even though I talked with some great companies, I decided for a variety of practical and personal reasons to stick with Microsoft for now and I’ve accepted an offer to work in Microsoft’s Engineering Excellence group, on the Systems team, specifically focusing on some of the applications that support Microsoft’s Shared Source Initiative.

The two applications are:

  • Code Center Premium (or CCP, which shares Microsoft product source code with various licensees)
  • Reference Source Code Center (or RSCC, which shares .Net Framework source code with the public development community as a reference and to facilitate debugging)

It’s going to be a very interesting ride!  It’s not games, but that’s ok – I realized a long time ago that I’m not fundamentally a “games industry” person, but rather a “software engineering” person, and this job will have lots of new software engineering lessons for me to learn.  I’ll get to wrap my head around high-security techniques, high-scalability techniques, high-availability techniques, and even some web UI development (which I haven’t done much of yet).

Can’t wait to find out what’s in store!