A reader asked a great question, and I just had to share it in a more general form because it applies to so many of us production database administrators.
He’s currently a production SQL Server DBA, and his company’s bringing in a new application with a SQL Server back end. He’s doing a good job as a production DBA, so the company offered him the chance to be the application administrator. He’ll need to learn the application and specialize in it, and he won’t be doing as much – if any – SQL Server work in his new role. Should he take it?
So many applications offer this same opportunity for database administrators: accounting software, sales force automation systems, document management software, I could go on and on. For me, the choice boils down to a few basic questions.
Can you bet your career on this application?
Around 2001-2002, my company was preparing to retool our software from scratch, and and we had to decide between Java and .NET. A few of us went to training classes for both platforms, did some basic development in each, and held meeting after meeting debating the pros and cons of each platform. None of us had a really clear feeling about what the Way of the Future would be, but we started to realize that none of the options out there were the right answer. It was entirely possible that ten years down the road we’d be retooling everything again due to unseen weaknesses in the platform we’d chosen.
No matter what language we chose, it would have been the third programming language I’d learned in my short programming career (not including things like batch files or HTML). I realized the rest of my development career would be a continuous cycle of:
- Learning a language
- Getting good enough at it to build good applications (by building several bad applications first)
- Maintaining my initially bad applications, and rebuilding them with the new best practices for the language when things went wrong
- Deciding which language would solve the new business problems coming down the line
- Go back to step 1
Ugh. I bailed out of programming and focused on database administration because ANSI SQL works not only in nearly every current programming language, but even on most database platforms. I love to learn, but I don’t really love to learn new languages. SQL Server has paid off for me: it’s still phenomenally popular, and I don’t see it going away in ten years. The fact that SQL Data Services is switching from an abstract XML-style data storage over to standard table-style data storage is yet more evidence that things are looking good in the DBA arena.
SQL Server is a gateway drug: you can branch off from there into all kinds of hardcore stuff. However, the more specialized you get, the more of a risk you’re taking that your new specialization will disappear over time, and the tougher you’ll find it to step back down to your old SQL habits.
If you become, say, an SAP BI administrator, you’ll make a lot of money today, but if that platform fades out, the knowledge you’ve gained won’t help you much in another job. You’ll be forced to find another BI platform and learn a completely different way of doing things. Going with a massively mainstream app like SAP is a relatively safe bet, but picking a smaller niche vendor is a riskier bet.
Is it easy to get training on the app?
Wanna specialize in web design? Open the phone book, call your local community college, and they’ve probably got a series of courses you can take dirt cheap. If you want to learn faster, you can call a place like New Horizons and do a couple of week-long boot camps. Presto, you’re a designer.
If you learned the necessary skills to perform your job in less than a month, then so can anybody else.
Goodbye, job security. As evidence of that fact, I give you 99designs.com: a site where people like me who can’t draw a stick man shell out some money, and graphic designers all over the world compete to build the best logo/site/design/etc. Yesterday, I forked out about $250 for a logo for a site I’m working on, and already today I’ve got dozens of designs, some freakin’ amazing. The contest goes on for an entire week, and during the whole time, I’m interacting with each of the designers giving them advice and tips on how I’d like their logos to be improved.
The tougher it is to get training, the more staying power your career will have. It’s a balancing act, though: a lack of training options might also indicate that the market sees the technology as lacking staying power.
Do you like the team you’re going to work with?
You’re going to be using training wheels for a year while you get up to speed on the new technology. Is your new team going to be supportive and tolerant of your mistakes and your downtime? Are you going to enjoy working late nights with ‘em when you’re under a tight deadline? After years of work as a DBA, you might be accustomed to getting big things done in a short amount of time, but you may not have that luxury with your new application role.
I’ve had to make these decisions more than once. Sometimes I’ve branched off briefly, like when I learned SAN administration and VMware administration. As it happens, I’ve only gone down those routes when I felt it would make me a better database administrator, and I’ve come back to my roots each time. If things were just a little different, I might have stayed with either of those technologies – and I bet they’re both going to be great career choices too. It’s a fun decision to have to make!