How to Identify Important Characteristics for a DBA Job Candidate

In the last year or so, there have been a lot of articles, blog entries,and forum posts on the kinds of technical questions hiring managers can ask a prospective DBA candidate in order to determine their technical proficiency. While technical skills are important for a DBA, I think a lot of hiring managers place too much emphasis on hard technical skills, and don’t place enough emphasis on the characteristics (personality traits) that DBAs need to have in order to be successful. In the rest of this blog entry, I want to suggest some characteristics that I think all DBAs should have. Continue reading

TechEd 2009 Recap


teched_speaker

Keynote speaker, Bill Veghte, Senior Vice President of Windows Business at Microsoft.

TechEd 2009 was started with a keynote presentation from Bill Veghte, Senior Vice President of Windows Business at Microsoft, which you can view at this link (along with many other videos from the event). He made several announcements, including that SQL Server 2008 R2 will become available the second half of 2010, and that the first public CTP will become available the second half of 2009. For more information on what will be included with SQL Server 2008 R2, and to optionally sign up to be notified when the CTP becomes available, click here.

As you might expect, the economy significantly hurt attendance at the event, with about 7,000 total attendees, much less than in previous years, when it has often sold out. Even with 7,000 people attending, the Los Angeles Convention Center never seemed to be extremely busy, other than the first day following the keynote. Friday had very light attendance, with a lot of people leaving early to play or go home.

Over the five days of the event, I attended 23 different SQL Server sessions, including Chalk Talks, Discussion Panels, and Breakout Sessions. Compared to last year’s TechEd, this year’s event had far fewer SQL Server-related sessions. For many time slots, I had only one or two other SQL Server-related sessions I could have attended. Both SQL Server Connections andPASS Community Summit, both coming up this November, will offer more SQL Server content that TechEd did this year.

I attended several sessions that discussed some of the new features to be found in SQL Server 2008 R2. For those of you who don’t know, late last year Microsoft announced three major initiatives for SQL Server 2008. They were called Kilimanjaro (KJ for short), Gemini, and Madison. At that time, it was very confusing as to what Microsoft was planning, especially given that the next release of SQL Server was not to become available until 2011.

After attending various sessions, I think I understand what Microsoft is doing with SQL Server 2008 R2, although we won’t know for sure until the public CTP becomes available later this year.

First of all, Kilimanjaro is the code name for SQL Server 2008 R2. It includes many new features, such as multi-server management, increased scalability, better virtual server support, and much more. See this link for more details. While SQL Server 2008 R2 is an interim release of SQL Server, it is not SQL Server 2011 (or whatever name they will call the next version of SQL Server). SQL Server 2011 will be a major release, unlike SQL Server 2008 R2, which is essentially SQL Server 2008, with a few new features added. While there are many reasons why Microsoft is releasing SQL Server 2008 R2, one of the main reasons it is being released is to keep up with new features that will be available in Windows 2008 R2, Microsoft Office 2010, and Visual Studio 2010 (these names may not be the final names used when these products are released).

Second of all, Gemini is the code name for the new BI enhancements that will be included with SQL Server 2008 R2. In other words, Kilimanjaro refers to the non-BI enhancements available in SQL Server 2008 R2, while Gemini is the code name for the BI enhancements in SQL Server 2008 R2.

Third of all, Madison is the code name of a highly-scalable BI product that is not included in SQL Server 2008 R2. What makes this all the more confusing is that Madison will be released around the same time as SQL Server 2008 R2. Madison (or whatever name they end up using for this new product) will be sold separately from SQL Server 2008 R2, and is designed for very large data warehouses that need huge scalability. From what I understand, Madison will be sold as part of a hardware/software package from various vendors, such as HP and Dell. See this link for more information on Madison.

Although attending TechEd sessions was very educational, one of the biggest reasons to attend any conference are the networking possibilities. I meet with many different people I haven’t seen in a long time, and met many new people. In fact, I probably learned more from talking with other attendees than I did by attending sessions.

For those who want to attend TechEd next year, it will be held in New Orleans, LA, June 7-11, 2010.

Do You Need an IT or CS Degree to be a Successful DBA?

When I am making small talk with DBAs I know, one of the things I like to ask them is what their college degree is in. While Information Technology (IT) or Computer Science (CS) degrees are common responses, most DBAs I know don’t have a degree in IT or CS. In fact, the types of degrees they hold range wildly. Some of the responses I have gotten include:

  • PhD in Clinical Psychology
  • BA in Creative Writing
  • BS in Geology
  • Masters in Engineering
  • PhD in Organizational Psychology
  • Pharmacy
  • BA in Philosophy
  • BS in Hydrology
  • BA in Linguistics
  • Masters in Business Administration

Personally, I have a BA in Economics and a Masters in Business Administration, and I only took one computer-related course during my undergraduate and graduate studies.

Once I find out what degree a DBA friend has, I often follow up, asking them how they became a DBA. This provides an even more diverse set of stories, most of which are rooted in a deep interest in technology, and through some unplanned and convoluted set of events, they are now successful DBAs.

So my question to you is, what is your college degree in? And to follow up, how did you get from where you stated to where you are today? And last of all, does your college degree really make all that much difference in your success as a DBA?

SQL Server DBA Certifications: How Many People Have Which Certifications?

According to Microsoft, as of April 2009:

153,130 people have received the MCDBA: SQL Server 2000 certification

51,445 people have received the MCTS: SQL Server 2005 certification

854 people have received the MCTS: SQL Server 2008 Implementation and Maintenance Certification

3,577 people have received the MCTS: SQL Server 2005 Business Intelligence certification

333 people have received the MCTS: SQL Server 2008 Business Intelligence Development and Maintenance certification

456 people have received the MCTS: SQL Server 2008 Database Development certification

7,928 people have received the MCITP: SQL Server 2005 Database Administrator certification

358 people have received the MCITP: SQL Server 2008 Database Administrator certification

3,377 people have received the MCITP: SQL Server 2005 Database Developer certification

213 people have received the MCITP: SQL Server 2008 Database Developer certification

1,385 people have received the MCITP: SQL Server 2005 Business Intelligence Developer certification

137 people have received the MCITP: SQL Server 2008 Business Intelligence Developer certification

18 people have received the MCA: Database certification

39 people have received the MCM: SQL Server 2005 certification

2 people have received the MCM: SQL Server 2008 certification

From the numbers above, it appears that DBA certifications are becoming less popular among DBAs. What do you think?

For more information on Microsoft DBA certifications, visit here.

What are the Necessary Ingredients for Writing a Successful Book for New SQL Server Developers?

A number of book publishers regularly send me books, hoping that I will write a good review for them. Most of the time, I don’t have the time to read them, so they end up on my bookshelf collecting dust, or maybe I will give them away to friends.

Recently, though, I decided to read one of the books that was sent to me with the goal of writing a review. The book was designed to get non-SQL Server developers up to speed on how to develop SQL Server 2008 applications using Transact-SQL. This is a very worthy goal, because based on my experience, it is bad application design and code that is the root of most SQL Server scalability and performance problems. So I had great expectations when I began reading the book.

Before I go any further, I want to give you an example that I think summarizes this book, then I will go into more specifics. For example, let’s say that a company has hired a new developer right out of college. The developer is bright and knows Visual BASIC, C#, .NET, and so on. In other words, he knows application coding inside and out. For his first project, he is assigned to create a new application that will use SQL Server as the backend database. Unfortunately, other than taking a couple of database theory classes in college, he has never written any Transact-SQL code. No problem, this is a bright developer. He picks up a copy of the book (I was reviewing), reads it, and because he is bright, masters the fundamentals of Transact-SQL development quickly, and he is ready to begin coding his first SQL Server-based application. If I was the DBA for this organization, I would be scared, very scared. The problem is that you can’t learn how to develop SQL Server-based applications from a single book, especially if that book focuses strictly on how to write Transact-SQL, and little else.

Reading this book got me thinking. What would the ideal book that teaches developers how to create SQL Server-based applications include? After some thought, I came up with the following suggestions (not in any special order):

  1. Introduction to DBMS: Assuming the reader has no knowledge of DBMS, the book should begin with strong overview of how DBMS systems work.
  2. Database Design: While entire books have been written on this topic, it is important that developers learn the basics earlier than later.
  3. Teach Transact-SQL: Transact-SQL must be taught in an appropriate order, starting with the basics, building a strong foundation, and then moving onto more complex coding.
  4. Teach How to Resolve Real World Problems: While learning the basics of Transact-SQL is fine and dandy, what is more important is that developers understand how to use it to resolve specific business problems that they will face day-in and day-out. This is one of the biggest mistakes I think most books make. They leave out the messy, real world stuff, instead, focusing on simple examples that are rarely realistic.
  5. Content Must be Current: While this seems obvious, many books include old information that is no longer true. For example, don’t include recommendations based on SQL Server 6.5 if the book focuses on SQL Server 2008.
  6. Must be Accurate: Another obvious point, but some books include obvious mistakes and provide misinformation.
  7. Cover Available Tools: SQL Server has many tools built-in that can make development faster and easier. New developers need to learn how to best take advantage of them.
  8. Best Practices: Transact-SQL allows you to write bad and great code. As a beginner, this is not always obvious. A great book should include recommended best practices so new developers won’t make obvious mistakes.
  9. Holistic: SQL Server-based applications aren’t written in isolation. Because of this, the book should include information on SQL Server internals, indexing, scalability, high availability, how SQL Server best interacts with client-side application languages, the operating system, networking, and much more.

After writing the above list, I realize that it is virtually impossible to include everything I have included to fit into a single book. Instead, perhaps a series of book, each building upon the other, might be a good approach. This way, a person new to SQL Server development would properly get up to speed, putting them in the position so that they could write competent database applications, even though they may not have a lot of experience. Of course, experience is the key to writing great applications, but everybody has to start somewhere, and hopefully is not from reading a single, poorly-written book on SQL Server development.

So what do you think? What are the biggest problems you have found with books you have read that “supposedly” teach SQL Server development? Do you agree with my list, and do you have any items you would like to add to it?

Also, if you have read some books that come close to the above ideals, what are they?