I was running a training day for some developers in one of our subsidiaries last week. A couple of the attendees were developers aspiring to be DBAs. It came up in conversation whether or not being a DBA specialist is a good thing or not. What do I mean by specialist?
SQL Server is a massive area. It includes Analysis Services, SSIS, Developer Stack, etc ., … you may be DBAing other RDBMSs too, Oracle, DB2, MySQL.
Should you specialize? I think you need to be generalist as much as possible, but have some areas of expertise. So I guess I’m sitting on the fence. Personally, my strong areas are High Availability, TSQL, Performance Tuning, and in training – passing on the knowledge. I love running training sessions, I loved presenting at SQL Bits. This translates to special areas of responsibility at work for me, being an SQL Server Champion, being an evangelist, and this benefits my career, in that it gives me stuff to put on my CV (for the Yanks, CV = resumé)
What is my point? Have areas of interest, and try to know the most you can about the other areas. Personally, I am not a ninja coding DBA (programming language-wise), I am not good in SSIS in depth, I have legacy (SQL Server 2000) experience of Analysis Services. But I feel I specialize in the core. I love the DB engine and I make it my business to know it. I’m not an expert TSQL coder, but I know about performance tuning.
What do you think – generalize or specialize?