One of the things I like most about my job is that I get to work directly with our software development teams. This has obvious benefits – I have direct access to the people who can explain how and why code does what it does when I can’t figure it out myself. But it also has benefits that go beyond easy access to technical explanations – I get to know people on these teams as people, not just experts in a given technology. I thought it would be interesting to share some of my insights about the people that I work with – the people who build the technologies that I write about. So, this is the first post in what I hope will be a series of interviews with people who build Microsoft web development technologies. My first interviewee is Ashay Chaudhary, the Program Manager for the SQL Server Driver for PHP.
I’ve finally had a chance to catch up with Ashay here in Redmond. Lately, he’s been a tough guy to track down. He estimates that he did more than 20,000 miles of travelling in April! Some of that travel was work related - he was at JumpIn! Developers’ Camp in Zurich early in the month, then at DrupalCon in San Francisco later in the month. (I was at DrupalCon too, but we both were busy.) His mileage estimate doesn’t count a car trip that took him from Zurich to Munich to Salzburg on the Autobahn, a road he’s always wanted to drive. He did manage to squeeze in some personal travel too – a family trip to Los Alamos (think Manhattan project) and a trip to Dallas, TX to watch one of his sons compete in the VEX Robotics World Championship. (Actually the trip to Dallas was both business and pleasure, but the pleasure part is more interesting :-)). Ashay is a technical mentor for his son’s robotics team and he was very modest in telling me about the team’s amazing accomplishment: his team of 6 ninth graders took 19th place (in a division of about 100 seasoned teams from around the world) in their first appearance at a world championship! Ashay’s work as mentor of his son’s robotics team got me curious about his background…
Q: What is your professional background? (How do you know so much about hardware?)
Ashay: Professionally, I am trained as an architect – as in buildings of brick, mortar, concrete, steel & glass. Computers always fascinated me and as CAD took off in mainstream architecture, I got into LISP programming and networking until I was actually doing two jobs – architect during the day and programming/networking at night. About a decade ago, I realized that I was enjoying my second job more and decided to flip it around and start a career in IT. On the desktop, Win95/98 had no parallel (I still think OS/2 was awesome). On the server side, Novell Netware was the big one then and Windows NT was being laughed at. I guess I saw something in NT and decided to bet on it. The moment of epiphany, I guess, was the realization that the best place to learn about Windows NT was from the Windows team at Microsoft. Life has interesting twists and turns, and before I knew it I was in Microsoft working on Windows NT 5.0 (as it was called then) in the Plug & Play team in the Windows Kernel group. It was quite a sudden transition, but I loved it (time does heal wounds!). Since then, I’ve been working with device related technologies – Windows/Device Power Management, Driver Management & Installation, Device Simulation and then Web Services for Devices – working my way from kernelmode to usermode. Along the way, I learned a lot about hardware and even toyed around with some firmware programming as a side interest.
Q: How did you come to be the PM for the SQL Server driver for PHP?
Ashay: After shipping Windows 7 (which feels great even after a few months), I guess I was ready for a radical change again (but not as radical as the previous one) and saw the intersection of PHP, SQL Server, and open source as an intriguing area to plunge into. I think I now know what the Polar Plunge probably feels like!
Q: What do you find to be the most fun aspects of the job? What about the most challenging aspects?
Ashay: The most fun aspect is being in the peripheral zone of Microsoft and open source, as well as working with a great set of people in the Connectivity & Engine teams in SQL Server, and the DPE & Interoperability teams. The biggest challenge is to move from a code with self-imposed memory usage constraint from bytes (and trying to use every bit of a byte before using another byte) to megabytes, from judicious memory de-allocation to a garbage collection system, from ANSI C to C++ (and PHP syntax is similar to C++), and learning a completely new data programming language.
Q: Before your most recent travels, had you been to conferences like Jump In! Camp and DrupalCon? Can you share a bit of your experiences at those conferences?
Ashay: All my previous conferences were Microsoft organized large and broad coverage events like WinHEC (equivalent to PDC) and Driver Developer Conference. These are quite different in nature, where a developer is considered Beginner if they have less than 3 yrs of experience in device driver development and Experts are generally in the 10+ yrs range. Whereas in the open source PHP land, I was quite surprised to find quite a large number are still in school/university. I must qualify that my perceptions are based on limited exposure - just 3 events so far. The other main difference is that the PHP community I work with can be (and sometimes are) openly critical of Microsoft.
Q: We saw some of that at DrupalCon (some support and some skepticism of Microsoft’s engagement). How do you think Microsoft moves forward so that engagement with open source communities is mutually beneficial?
Ashay: First, let me say that I don’t think that open source software and proprietary software have to be at odds with each other. Each has its place in today’s world of application development. And, we have a lot in common, for example we all love technology. We saw that the folks at DrupalCon are passionate about building a great application and proud of what it can do, proud of the community they've built, and so on. Development teams at Microsoft are equally passionate about the work they do in building great applications…and equally proud of what they can do, proud of its adoption and so on. The task ahead is to find ways that we can work together, for our technologies to interoperate well together to provide better value. I think that some really good things will result if we stay away from energy-sapping friction. I don’t have a silver bullet answer for how to make that happen, but I think it starts with our continued engagement with open source communities. We have some work to do in finding ways to channel our energies into synergy. We have done a great job of figuring out a working model between two proprietary source companies, and letting our developers/customers benefit from the resulting value. We've got to do the same for open source communities. This means continuing to listen to feedback from open source communities too, and how we operate/communicate with them. To start with, it means more face-to-face contact at conferences, Jump In! Camp events, etc. on a sustained basis.
Thanks Ashay! You can follow Ashay on Twitter (@ashay_c) and you can find out more about his current work on the SQL Server Driver for PHP Team Blog.