RobMensching.com /Blog
when setup isn't just xcopy

Posted by
Rob Mensching
Saturday, February 20, 2010 11:53 PM

Under
personal

5 Comments

Birthday 0x21 at the beginning of the middle.

Birthday Cake 33 Today I turned 0x21. For the non-geeks out there, that's thirty three. The way 21 feels like a coming of age for many people (hey, I can drink now!), 33 feels like a huge step for me. If you follow me here, you know I talked about the end of the beginning quite a bit last year. Now I feel I'm absolutely at the beginning of the middle of life. Now I also feel I can reveal the surprise I mentioned on Hanselminutes last month.

At this point in time, my life is defined by two things: my wife and my work. My wife represents the center of my family. I recognized this a few years ago when our anniversary became a personal holiday for me. I don't talk about this facet of my life here much because it is personal and private.

On the other hand, I use my work to express myself publicly. I want to create things that people find useful. I want to go out and explain how those things are created. I want to include others in the creation of things that are useful. And the things I create are written in software.

I also want my work to be a reflection of me. I've heard psychologists and sociologists say a man's identity is often defined by his work. That is certainly true of me.

In general, I'm probably best known as a "setup geek". In Microsoft, sometimes I'm an "open source guy". But everywhere I'm the "WiX toolset benevolent dictator". Those are the things that identify me and I'm pretty comfortable about that.

But that identity represented only the work I did in my free time. There was a huge body of work that I did during the day that was important but over the years began to represent less of what I was about. After ten years the cognitive dissonance reached a point where I decided it was time to do something about it.

Last year my good friend Robert Flaming said to me, "You talk about setup and suggest how it should be better but hide behind the fact that getting the work done is just your night job." That stung a bit but mostly because it was true.

I took a week off at the end of August to think about whether I was going to do setup or not.

In September, I made the very big decision to join the Deployment Technology Group in Microsoft's Developer Division. The Developer Division, or DevDiv, in Microsoft is primarily responsible for all things Visual Studio and .NET Framework. Historically when I've referred to "Visual Studio" it would have been more accurate to say "DevDiv".

The Deployment Technology Group, or DTG, is the team responsible for the setup of Visual Studio and .NET Framework. They also maintain the Setup and Deployment project in Visual Studio 2010. DTG is also the primary contributor to the WiX toolset. Historically, when I've referred to the "Visual Studio team contributing to the WiX toolset" it would have been more accurate to say "DTG".

Which brings me to the "surprise" I mentioned on Hanselminutes. When Scott Hanselman asked me if the WiX toolset was ever my day job, I kind of dodged the question and answered it like I wasn't on the DTG team yet. At that moment, I was not mentally prepared to merge my night job identity with my day job identity and the questions I imagined people would start asking. So, I added the lame comment that essentially translated into, "Ask me again in a month. I'll have it sorted out then."

My Product Unit Manager (my boss's boss) and I had a similar conversation a month earlier when he asked why I hadn't announced my move to DTG publicly. He was actually a bit miffed and asked if I lacked confidence in the team or something. That couldn't be farther from the truth. I actually think DTG is going to be one of the best teams I've ever worked on in Microsoft. The reality is that it took time for me to understand my new role and what it means to me.

So what is my new role? Well, my Group Program Manager introduces me as "our Architect". That makes me smile but I'm not a high enough level to actually be an Architect at Microsoft yet so I like to say I'm an "Architect In Training". As a senior developer on DTG, I'm obviously focused on the technical aspects of setup in general and tools for setup in specific. Thus far I've spent almost all of my time in planning for the next version of Visual Studio. I've had basically zero impact on Visual Studio 2010. Everything else is yet to be defined.

So what is next? Well, WiX v3.5 is very important to me. The WiX toolset is still mostly a night job for me but I do spend quite a bit of time talking to people on my team about the work they do in the WiX toolset and how best to accomplish it. Remember, at this point in time, Votive is fully developed by a developer on the DTG team, Tony, and Burn's new foundation came from the set of developers in DTG responsible for .NET Framework installation.

After WiX v3.5 will be the next version of Visual Studio and WiX v4.0. As you can see the lines between my day job and night job are very blurry but for now it's working.

In fact, every week for the last four months I've thought, "DTG was a great move for me." I now spend all of my time thinking about how to improve setup. Right now that constant attention is helping me recognize the depth of work needed to truly build a coherent story for setup development on the Windows platforms. From there I start to think about how to address the problems. Sometimes a solution can be built immediately into the WiX toolset and sometimes a solution is something we plan for later. The ability to tackle short term and long term problems is incredibly invigorating.

Ultimately, I write less code but (hopefully) have a greater and wider impact. Over a fantastic birthday dinner, I told Jenny that the last 33 years felt like I was building a foundation. Now, with her, we go build something cool.

 


5 Comments

Comment by
David
Monday, February 22, 2010 7:23 AM

Congrats on 0x21 & the move to DevDiv !

Also congrats on the 'wifecentricity' of your life outside of work ... I know my wife is the best set of things that have ever happened to me, and I wish you the happiness we've found and enjoyed with each other for the last 20+ years.

Mazel Tov and best wishes for a wonderful 'middle' !

-dmm

Comment by
Immo Landwerth
Thursday, February 25, 2010 7:07 AM

Hey Rob,

congratulations to your birthday and your new job!

However, I have to admit I am bit confused regarding your new work. Does that mean you will be able to work full-time on WiX or is DTG a team that uses WiX to create and design reliable setups for DevDiv?

-Immo

Comment by
Scott Blomquist
Thursday, February 25, 2010 8:15 PM

Sounds like a good move that'll fit you quite well. Enjoy the beginning of the middle--I'll have caught up in about a year!

Comment by
Rob Mensching
Saturday, February 27, 2010 5:56 AM

Immo, it's actually both. I'll answer in reverse order.

First, DTG does use the WiX toolset extensively to create the installation packages for DevDiv. If there is a problem or new feature needed, we put it in the toolset for everyone to benefit.

Second, DTG also makes tools to help other developers create installation packages. Where appropriate, we can add functionality to the WiX toolset.

Comment by
Dan Jagnow
Tuesday, March 09, 2010 7:03 PM

Rob, congratulations on your new position. I'm looking forward to the seeing the results of that tight relationship between DTG and the WiX toolset.

I'd like to offer a bit of advice that may be well-timed, given your tighter relationship with Visual Studio. It may not be good advice, since I'm only a setup dabbler (using WiX to deploy some of my projects since v2). Most of my professional work for the last several years has centered around ASP.NET Web sites, which I think is pretty typical for .NET developers. I've had difficulty getting others excited about adopting WiX because of the hassle of updating file listings every time a new page/image/CSS file/script is added to the Web application. I haven't followed WiX closely for a while, but I have seen talk in the past about building some kind of component library that would maintain stable IDs to allow better WiX automation without breaking the component rules. I've always thought that the *.csproj file would be the most natural place to keep those IDs, since it already keeps an inventory of what needs to be deployed to make your project run. If you can convince the Visual Studio team to build that into a future version, and if WiX can leverage that information to save developers from hand-editing file inventories that change regularly, I think you'll see WiX adoption shoot up dramatically. I know it would make it easier for me to "sell".

The suggestion above is not intended as a gripe, and I seriously doubt that I'm the first to suggest it. I love the tool, I appreciate the work that you and rest of the team have poured into it for years, and I'm looking forward to see what's next.

Leave a Comment

(optional)