What am I doing at Microsoft?

I've not blogged very much (at all) about the new role I started about 8 weeks ago, so I thought it was about time I did.

In January, I joined the Data Programmability (DP) product group. My official title is 'Community Program Manager'.

What this means is that I don't 'own' any products, features, specs, or any development of code to do with the actual product lines our team is responsible for developing and servicing.  What I do 'own' is our engagement with our team's external customers and the community of developers that use our technologies.

The DP team itself is responsible for Microsoft's data access and programming technologies: ADO.NET and SQL Native Client (OLEDB, ODBC, ADO, MDAC, JDBC, or SOAP/HTTP). This stuff is everywhere. Within Microsoft's products, you'll find our team's technologies in Windows, in Office, SQL Server, Indigo, Visual Studio and plenty of others. Externally, any time a developer is accessing and programming with data from any data source using C#, VB, C++, ASP.NET, or the .NET Framework, they're using our technologies. I mean it, our products are everywhere.

There are really two sides to my role. The first to help our customers get more out of our current products and technologies.  We do this in a numbers of ways - forums, blogs, newsgroups, MSDN Data site, events, support, etc. A lot of this effort is focused on helping our customers solve problems they've run into and trying to make is easier for them to find answers be it via the community, through documentation and help content and occasionally directly through the product team itself (especially in the Forums - we have two: The .NET Data Access and Storage Forum and the SQL Server Data Access Forum).  The other side of my role is to help our team have sharp eyes and ears in terms of where the market is going, where the customer pain points are today and scenarios they are trying to enable today and in the future.  Customers in this context vary from the IT departments of large and medium-sized enterprises, to ISVs, to individual software architects and developers. Again, we're engaging with customers in a number of ways in this regard, including Software Design Reviews (SDRs), Community Technology Previews (CTPs), Technology Adoption Programs (TAPs), newsgroups, Product Feedback Center, meet-ups at events that customers are attending and even comments on the team's blogs. (We have two team blogs - Data Access and SQL Protocols) In fact, practically any way we can to get direct input from customers about they want out of our technologies and how they could improve.  We incorporate all this input into our product plans so as the products evolve, they do so with the aim of making our customers' lives easier and enabling them to do the cool stuff that they want to do.

It's the first time I've worked within a product group at Microsoft. My previous roles have been in marketing, so I'm learning a great deal about how products are designed and developed in the developer space. I'm also getting a very real feel for our customers, something I didn't feel when I managed broad communications projects. I actually get to meet customers here and discuss problems we can actually do something about, most of the time.

The culture of our team is quite different to what I've known previously too, in a good way. Compared to other groups I've worked within, DP is uber geeky.  I love it. No conversation I might strike up with team mates here is too geeky. For my first four weeks of settling in, my manager sent me off to meet a whole bunch of different folks within our immediate group and related teams (WinFS, SQL, DevDiv) each with their own perspective of our technologies and the role these technologies have to play in the wider scheme of things. The word 'complex' doesn't even come close to describing the interactions and interrelations between all these different teams and their technologies.

There are plenty of interesting people in our team too. It's fun. In my second week I got to meet Brian Beckman, a PhD from Princeton. He used to be an Astrophysicist at the Jet Propulsion Laboratory, Caltech, while designing operating systems. In 1992 he joined Microsoft and is now working on LINQ. As he talked I thought I was watching one of those Channel 9 videos. And then there is  Erik Meijer, who's alter ego is VBTV's "Head in a Box" (you'll just have to watch the videos in which he stars as, well, a head in a box). Erik is another language designer, previously working on Haskell before joining Microsoft Research. Today, he's also working on LINQ. I'm working closely with a number of team members such as Tim Mallalieu, who lives and breathes data models, Pablo Castro - the Technical Lead for ADO.NET (Pablo is not only a very smart and friendly chap, but also a very entertaining  presenter), Debra Dove - PM for SQL Server Data Access, Holly Knight - GPM, Lance Olson - GPM and co-author of Network Programming for .NET Framework and David Sceppa, author of Programming ADO.NET. Plenty more too, but just to name a few...

Well, this was going to be a quick post, but it didn't turn out that way. Bottom line is I'm having great fun in this team. I'm learning lots. I'm meeting, interacting and helping *real* customers and doing the kinds of things I hoped I would when Microsoft.  It's all good right now.