A day in the life of Simon Ince, Application Development Manager

Part four in our series of Day in the Life features. This week we hear from Simon Ince. Simon, it’s over to you…

simonincephoto

Simon Ince: hosting a workshop on ASP.NET MVC 3 with a customer in Germany

I’m an Application Development Manager (or ADM), and work with customers as part of Microsoft Premier Support for Developers or Microsoft Partner Advantage. The ADM role is a life of extremes, so coming up with a “typical day” story is actually quite a challenge; but that variety is one of the great things about the job. Some days I’ll be on site with a customer, and others I’ll be working from home triaging email, responding to questions, and preparing for future customer visits.

Let’s take an example day from a week or two ago that gets fairly close to demonstrating this variety. Imagine wavy lines down your screen like the start of a dream sequence, and we’re going back in time…

I’d stayed in Reading overnight (I’m a northerner!) because I was part of a team of ADMs that hosted an “architecture roundtable” the day before. Today, I’m running a workshop on ASP.NET MVC for a one of our customers that is managed by a colleague of mine. I have my own customers too, but we work across all of the teams’ accounts when our specific technical skills are required.

The day starts early for me, because I like to get into the office to setup and process my email before the customer arrives. Some of these emails are technical questions or requests to book consulting time from my customers, and others are requests from my colleagues for my specific skills to help with their customers. We also get emails on detailed technical issues that are best handled by Premier Support, so in those cases I would raise a call, brief the engineer, and let the customer know that I’ll be keeping tabs on the case.

Once my workshop delegates have all arrived we get started on the day. It is a mix of presenting, live coding demos, hands-on-labs, and interactive discussions. I wrote all the content along with another ADM, Stuart Leeks, and we’ve both enjoyed running it many times since. ASP.NET MVC is one of my favourite things to talk about, and I love presenting and working on a whiteboard, so the day flies by!

Something key to the value of our service is that our customers don’t just want to know about a technology – they want to know how best to use that technology based on our experience across the industry and Microsoft’s internal knowledge bases. This means large parts of the day involve discussing issues specific to their systems and recommended practices, sketching solutions on a whiteboard, or writing sample code. Usually when talking about MVC this means discussing in depth the advantages of Dependency Injection and how to design an application for Testability. Inevitably conversations also turn to Ajax, JSON and jQuery, and how we should write unobtrusive JavaScript. The finer details of performance optimisation and application architecture are always a feature of discussions, as customers are keen to learn from us how to avoid common problems before they encounter them.

The huge breadth of experience in my team is core to our success – I spent many years architecting, designing, developing, and managing the development of complex systems before I joined Microsoft, but that experience has now been overshadowed by that I’ve gained in this team. We see so many different customer scenarios that we learn quickly what works and what doesn’t, and we spend time working with other ADMs to learn from each other.

At the end of a workshop I will often have a list of follow-up questions or samples that would really help a customer move forward so will usually block a few hours in my diary to work on those another time; and today is no exception.

Once the customer has gone, I have a short call with another customer that I manage the relationship with; we’re reviewing our shared plan and catching up on any news. Part of the job is to manage the service that we deliver to our customers, so planning and regular catch-up calls are in the rhythm of my week. During the call my customer raises some issues they’re having with performance of one of their systems, so we update our plans to include some performance testing in our labs in Reading, and book my next visit in.

To close the day, I join a call with Patterns and Practices – I’ve been an “expert advisor” for p&p for many years, and I find that I learn a vast amount from the work they do and from the other advisors, all of which helps me be better at my day job. Hopefully they get something from me too!

Well, back to yet another unusual day then; I’m writing this with a view of planes coming and going at Manchester Airport, waiting on a flight for a rare visit to a customer in Germany. Like I said, there is no typical in this team! In the coming weeks I have all sorts of interesting work booked; a code review of a new ASP.NET application, writing a Proof of Concept on integrating new functionality into an existing system, delivering a workshop on web architecture, scalability, and multithreading, and I’ll be working with a customer to improve the performance of one of their flagship products. I spend a lot of time on web-related architecture and on improving customers’ development processes, but I also get to delve into the depths of code to keep me in touch with the detail. On top of all this, we’re encouraged to contribute to both internal and external communities, by way of activities like blogging or speaking at events.

I hope that’s given you a good summary of life in my team, and do say hello if you see me in your office or at an event.