DBA Career Paths: Development DBA or Production DBA?
Brent Ozar Unlimited®
Mainstream database administrators fall into one of two categories: production and development.
Think of SQL Server as a refrigerator. It stores stuff. You put stuff in there, and you expect it to stay cold.
PRODUCTION DBA CAREER PATH
Production DBAs are like fridge technicians: they don’t necessarily know how to cook, but they know how to fix the fridge when it breaks. They know all the tricks to keep the fridge at exactly the right temperature and humidity levels.
Production DBAs take over after applications have been created, keeping the server running smoothly, backing it up, and planning for future capacity needs. Network administrators that want to become DBAs get their start by becoming the de facto DBA for backups, restores, and managing the server as an appliance.
DEVELOPMENT DBA CAREER PATH
Development DBAs are more like cooks: they don’t necessarily know anything about Freon, but they know how to whip up a mean dish, and they know what needs to go into the fridge. They decide what food to bring home and put in the chill chest, what should go into the fridge and what should go into the freezer.
Development DBAs focus on the creation process, working with programmers and architects to build solutions. Programmers that want to become DBAs usually get a head start on the development role because of their programming experience. They end up doing the development DBA position by default when their team needs database work done.
OTHER THOUGHTS ABOUT DBA ROLES
Database admins can cross those borders and know pieces of both sides, but generally, they fall into one of the two camps. Interestingly, the camp they pick tends to be driven by their past.
Can programmers become production DBAs, and can network admins become development DBAs?
Sure, but it’s just not nearly as easy. Network administrators don’t usually know a programming language, or even how programming works, so they have a lot of learning to do before they can contribute to specialized topics like table design, normalization, stored procedure design, and so on. Programmers don’t usually know the finer points between raid 5 and raid 10, so they have some hurdles before they can design a database server that can scale effectively at the right price point.
These challenges mean that it’s hard to design a generic DBA training course. I’ve watched network admins struggle with database theory books, complaining that it’s hard to learn database administration. Database theory is not necessarily a prerequisite for beginning database administration. A good DBA knows database theory, but that’s not always the first thing a good DBA learns while going down the career path.
My advice for prospective DBAs: don’t look for checklists that describe any hard and fast steps toward becoming a database administrator. Instead, learn about the parts of database administration that call to you, things that you genuinely enjoy. If you like performance tuning, then read up about the Profiler and how indexes work. If you like designing tables, then read up about the different data warehouse application theories. There are so many specializations in database administration, and the only way to truly succeed is to be passionate about what you’re doing. It’s easy to be passionate about extending the knowledge you already have, and that’s why it’s easier for network admins to become production DBAs, and for programmers to become development DBAs.