Vital Statistics
Name: Steve Maine
Birthday: August 16, 1978
Alma Mater: Northwestern University, Evanston IL
Place of birth: Denver, Colorado
Place of residence: Seattle, Washington
Work
I'm a Program Manger at Microsoft, where I work in the Connected Systems Division on a wide variety of technologies related to building distributed applications on the .NET Platform. My team owns Windows Communication Foundation and Windows Workflow Foundation (WCF/WF) and we ship those technologies as part of the .NET Framework. I started at Microsoft in March of 2005 on the same team I'm working on now, although the team and my role in it have changed pretty substantially since I've been there.
I started back when WCF was still "Indigo", shortly before the first public release of Beta 1. During that release I was responsible for putting the finishing touches our IIS hosting and non-HTTP activation story. That was a great opportunity to dive really deep into some of the more esoteric parts of the IIS7 architecture and the Windows kernel networking stack. During that release I also did a stint as the Performance basic owner for the product, so I spent a lot of time with some very smart folks learning how to make server stacks perform faster than you'd think possible.
I moved up the stack a little bit for the 3.5 release, where I started focusing more on the API and programming model needed for making WCF work on the Web. We built a little assembly called System.ServiceModel.Web that had a bunch of additions to WCF related to HTTP programming, including a new dispatch model based on System.UriTemplate, a binding/encoder stack for doing "plain HTTP" messaging, and a whole API for doing RSS/Atom feeds. It was a busy time; I wrote a lot of specs during that release. I also worked with some very fun partner teams including ASP.NET AJAX, ADO.NET Data Services, and LiveMesh.
Now that 3.5 has shipped, I'm doing a lot more breadth architecture work on the WCF/WF product as a whole. I spend a lot of time engaging with strategic customers both inside and outside of Microsoft to identify opportunities for collaboration and to push new features into the product based on the scenarios we discover. This is a really fun part of my job because I get to interact with a lot of really cutting edge technology from various parts of the company; the down side is that most of the stuff I work on isn't quite ready to talk about in public yet so I don't get to blog about my day-to-day thoughts as much as I'd like. I spend a lot of time writing code against the product, mainly to push on particular applications of the technology we're building to identify issues with the core design of the product. I also do a fair bit of consulting work for various feature teams to help work through design issues as they come up. It's definitely the most fun role I've had at Microsoft to date.
Life
I consider myself very lucky in the sense that I've found somebody to pay me to do what I really love to do. As a result, the line between "work" and "hobby" sometimes gets blurry. For example, the .NET 3.5 Web feature set started out as a weekend project I did to see how hard it would be to put a JSON encoder under the WCF channel stack (I thought it would be fun, and it was). It's true that I spend a large amount of my time thinking about technology...which from my perspective is great, since I happen to really like technology :)
I do a few other things that don't compile, though.
Being from Denver I've been a skier since I was a wee lad, and I still love it. There are few things in the athletic arena that I could consider myself really good at, but skiing is one of them. Now that I live in Seattle I don't get to pop off to Vail or Winter Park for a day like I did in Colorado, but Whistler is doable in a weekend. If anybody's up for a hike up Spanky's Ladder, I'm all in :)
I drive a yellow and black Mini Cooper S, usually very fast. Here's a picture:
I am an avid bowler. Me and a few friends have a league team called Zero Spare. We have poor averages but cool shirts. Next year we hope to do better in the league standings by changing the handicap rules to account for beers per frame per bowler. Needless to say we have quite a bit of fun.

