My shift from WPF-XAML to Kinect for Windows
New Team @ Microsoft for Rob
(in November 2011, we moved to use @KinectWindows and #kinectforwindows)
Perhaps I haven’t blogged about it yet because twitter is a place where you can say less. It was difficult to talk about some of these things due to the fact that some key facts were Microsoft confidential until the Build conference in September.
When I announced my team move, I had already been working almost full time on Kinect for about a month. That day was just the official start date. By total coincidence, that day was the day that (reportedly) Soma sent an email announcing changes for the XAML, WPF and Silverlight teams. Although I knew org changes might happen in the future in that space, I had thought that it would wait until after Build.
WPF 4.5 Project
After WPF 4 shipped in April 2010, I was asked to move from my XAML Architect role to leading the Program Management team for WPF 4.5. That role also had me working closely with the heads of the Developer and Test team. The 3 of us were referred to as the WPF Triad – the leadership of the WPF team. The role was an exciting, and challenging one for me. It stretched me in new directions. We were leading the team doing the planning (see pictures of post it notes from my office) and execution of the entire release. That was a new scope for me – which I enjoyed.
I did a PDC 2010 talk about WPF Today and Tomorrow. There I shared some of our plans for WPF 4.5. Build 2011 was rightly focused primarily on Windows 8, so there was no talk focused on improvements in WPF. However, it was during Build, that a preview of WPF 4.5 first became available (in the .NET 4.5 Developer Preview). I’m excited about WPF 4.5 for existing customers and also excited about the fact that Windows 8 has a strong focus on leveraging HTML or XAML skillsets.
In early months of this year, I had decided to do soul searching to figure out what was next for me. We had reached code complete on WPF 4.5. Although I was enjoying much about my work, it was the first time I had found myself in a position that was deemed important, but much less important than several other efforts.
I thought about the following options:
- Delay a change until WPF 4.5 ships.
- Join a sister team of WPF. The XAML team had lots of needs/opportunities, as the Windows 8 based project needed significant more focus in its v1.
- Join a XAML ecosystem related team – Expression, Visual Studio, etc…
- Join a HTML ecosystem related team – a platform or tools team (leveraging my earlier roots from 1998-2001).
- Join an entirely different team inside of Microsoft – Windows, Windows Phone, Bing, Azure, Xbox, …
As part of this soul search, I even considered leaving Microsoft – in my 18th year, it was the first time I ever seriously thought about that. I talked with 2 friends who had left the company for other prestigious companies. After dipping my toe in the water, I decided that I would focus on finding a great role at Microsoft.
Effectively, I was trying to decide whether it was time for Rob 2.1 or 3.0. Rob 1.0 was my 5 years working as a Developer Evangelist-ish for Microsoft in Chicago. Rob 2.0 was my 13 years working on HTML programmability, XAML UI programmability, and the XAML language and engines. I had last done a major soul search in 1998 when I joined the IE team. During next 13 years I had never changed my group – IE, “Avalon”, WPF, and XAML – the groups may have reorged and changed focuses, but I never even considered a job shift.
Kinect for Windows is it!
In the end, I picked the Kinect for Windows role. I was lucky and excited to get a great opportunity to work on something so exciting. It had an exciting new focus for me – Natural User Interface (NUI) and the magic of Kinect. The Kinect Effect shows some of the possibilities. Couldn’t be enjoying it more…