An interview with Euan Garden
by Douglas Reilly
Euan Garden is clearly a database geek. He is a Microsoft group program manager for SQL Server, and is responsible for cross SQL Server projects relating to consistency and readiness. Prior to that he spent four years as the manager of Microsoft’s SQL Server Tools development team.
SQL Server 2005, code named Yukon, represents the largest change in SQL Server history. While the ability to use Common Language Runtime code in stored procedures, functions and triggers is clearly a huge change, the change in the tools that manage SQL Server might be an even bigger shift.
Before joining the Tools development team, Euan was program manager for DTS (Data Transformation Service), Microsoft’s version of ETL, which is alternately loved and hated by SQL Server developers everywhere. DTS makes many things possible, and makes some things easy, but also frustrates users now and again.
Euan answered the following questions via email.
Doug: Users have some frustrations with the DTS tools in SQL Server 2000. How will they be updated in SQL Server 2005?
Euan: DTS is so radically different in SQL Server 2005 that we had to change the name to SQL Server Integration Services. The main frustration with SQL Server 2000 has been in two areas: the richness of the UI and a combination of performance and the requirement to write code to solve more complex problems. We have taken enormous strides forward with both issues in SQL Server 2005. We built a new Designer that’s integrated with Analysis Services and Reporting Services, which includes graphical debugging, and we have had a focus on providing graphical, component-based support for as many scenarios as possible, reducing the requirement to write code in these cases.
Having said that, we have done much more in SQL Server Integration Services than address these two issues. We would need an entire interview to discuss the changes to the product, but we now believe we have an enterprise-class integration product that serves ETL scenarios as well as broader, more complex scenarios such as integration of web services and using data mining technology and techniques to dramatically increase data quality.
Doug: The Microsoft interviewing process is legendary. Books have been written about it. Can you tell me what it was like for you?
Euan: I can say without a doubt it was the toughest interview I have ever been through. To give you a comparison, when I was 17 I applied for a bursary with the Royal Air Force as a pilot. I made it through the four-day process that started at six each morning and finished at eight or nine at night and included psychological, physical, leadership and academic tests. The Microsoft interview process was tougher.
Mine was a day and a half, which is a little unusual as I was interviewing for several different positions in the SQL Server group. The process was mentally and physically challenging, but very fair. One of the key things I remember is the amount of time that the interviewers were willing to take to answer my questions about the positions, the group, Microsoft, and so on. To me, this demonstrated the pride and energy of Microsoft. I slept well on the plane on the way back, but felt good about the process.
Doug: Do you have any tips for someone interested in working at Microsoft?
Euan: The best piece of advice I have is to be natural. If you are smart and passionate it will show through in the process; if you are playing a role, it will show through as well!
Doug: Tell me how you got involved in database-related work. Was it a natural fit? An accident?
Euan: The computer science degree I earned required that I work in the industry for one year between the second and third year of courses. During this time I had my first exposure to databases, working with dBase III and Clipper S87. When I returned to classes the following year, I took a relational theory course and that really got me excited about databases. I have been working around them ever since.
Doug: The tools for SQL Server have come a long way since I started using them back in the days of SQL Server 6.5. Can you share anything about the direction of the tools between SQL Server 2000 and SQL Server 2005?
Euan: There were some areas that we wanted to innovate and issues we wanted to solve to make customers’ lives easier. We wanted all of SQL Server to be more transparent, and have sometimes referred to this as “no secrets.” From the tools perspective, this drove us to provide integrated scripting in the GUI; in the database engine it lead to the development of the new Dynamic Management Views.
Many customers were also using a mix of Enterprise Manager and Query Analyzer to administer their servers. There was a frustration among them about having to use two tools and flipping back and forth between them.
Integrated management of all the SQL Server components was a key goal in SQL Server 2005 as well. This enables users to administer the database engine, analysis services, integration services, notification services, reporting services and SQL Server Mobile from SQL Server Management Studio, and they can configure them all from SQL Server Configuration Manager.
When we began working on these challenges we felt that a new management platform for SQL Server was required. When we were researching and planning what would be included in Yukon, .NET was in its infancy inside the company, and after some investigative work, we decided to commit to using it as part of the management platform. That was in addition to the decision we had already made to host it inside the database engine. The new platform includes the managed APIs like SMO and AMO, but the most visible is the new Admin Experience delivered by SQL Server Management Studio.
Doug: What work you are doing these days?
Euan: My time is split between two areas, but depending on the day or week, the proportions are different. The first revolves around closing down SQL Server 2005 and making the final tweaks to deliver the right customer experience. The second regards the version of SQL Server after 2005 and some of the early planning work on this release.
Doug: When you program in .NET, do you favor VB.NET, C# or some other language?
Euan: I was very excited about C# when it first came out, for a variety of reasons, including the semantics, its managed nature, and its tight integration with the .NET Framework. I’m also a fan of the work that Anders Hejlsberg has done over the years on Pascal and J++, so C# was an intriguing language to look into. We use C# extensively in the SQL Server team for our managed object models and the majority of our user interface code.
Having said that, we know there are a lot of Visual Basic .NET folks out there. I wanted to be able to write samples and demonstrate SQL Server programming from Visual Basic .NET as well as C#, so for the last few weeks I have been working on samples and demos using Visual Basic .NET to raise my proficiency. I hope that I at least look like I know what I am doing on stage in Visual Basic .NET. It has proved to be an educational experience as I have been using Visual Studio 2005 and .NET Framework 2.0 exclusively for this. The last time I used Visual Basic in a meaningful way was with VB 2 and 3, some time ago!
Doug: There have been a number of blog posts, even petitions, to bring back official Microsoft support for VB6. What are your thoughts on this?
Euan: There is a misconception about what is happening with Visual Basic 6.0 support. Visual Basic 6.0 will have extended support up until 2008, and support via special contracts until 2012. Both of these solutions are official Microsoft channels. One of the factors that has folks worried is that the change from Visual Basic 6.0 to Visual Basic .NET is a bigger leap than they are comfortable with.
This is something we recognize and have taken steps to address in Visual Studio 2005. Bringing back Edit and Continue is an obvious step, as are the enhancements to the RAD data development experience. Some less obvious ones are features like My Namespace that bring some classic simplicity and ease of use to the frameworks. I hope that one gets added to C# as I have been getting used to it over the last few weeks.
Doug: What do you think about using VB.NET or C# for stored procedures?
Euan: I am very excited about the ability to host .Net-based logic inside the database engine, which is much more than just stored procedures. It’s also functions, triggers, user defined types and user defined aggregates. The CLR provides us with a safe, scaleable, secure, modern execution environment for complex logic/code. We have seen some great performance wins from customers who have chosen to rewrite components of their apps using this technology, and we have seen architectures built that were simply not possible prior to SQL Server 2005. Giving customers that architectural choice/flexibility, not just in terms of language, has been a key goal for the team.
We also know that we have a responsibility to provide our customers with guidance as to when and where to use these technologies. Writing managed code in the server is not the answer to every problem. There are cases where T-SQL is still 100 percent the right choice for building logic in the server, and that will continue to be so for the foreseeable future. I am just as excited about the T-SQL enhancements we have made in this release as I am about the ability to host the CLR. I would call out exception handling and common table expressions as my two favorites right now.
Doug: I do some mobile development work. Has any of your work involved SQL Server 2005 Mobile Edition (formerly SQL Server CE)?
Euan: One of the most satisfying extensions to SQL Server Management Studio has been the integration with SQL Server 2005 Mobile Edition. When we started building the new management platform, SQL Server Mobile Edition was not on the list of customers. Through some great work on the mobile and tools teams, SQL Server Mobile is now a first-class administrative citizen. The integration with SQL Server Management Studio is seamless, as is the integration with SQL Server Integration Services—it makes it easy to deploy data in a flexible way onto the device.
Doug: Have you read any good programming or database-related books lately?
Euan: The most interesting computer-related books I have read recently are The Art of Deception and The Art of Intrusion by Kevin Mitnick. These are not really technical books, but they explain some of the tricks used by the hacking community, in particular social engineering.
Doug: Can you think of any particularly cool tip or trick for the many developers who will be playing with the latest SQL Server 2005 CTP?
Euan: I can think of two new features. The first is SQLCMD, which provides a really rich scripting interface that can eliminate the need for batch files in many cases. I have already mentioned the other, and that’s Common Table Expressions. Many people believe that CTEs are just for writing recursive queries, but they support a lot broader range of queries than that, and they can make developing queries easier and faster in many cases.
Do you know someone who deserves to be a Database Geek of the Week? Or perhaps that someone is you? Send me an email at firstname.lastname@example.org and include “Database Geek of the Week suggestion” in the subject line.