In your opinion, where is the distinction between Junior DBA and Senior DBA? I’ve always worked on small teams, so sometimes it’s hard to tell where I fit.
This question makes so much sense to me. On small teams, or where you have funky job titles, how do you tell how “Senior” your skills are?
Here are the “levels” of a DBA:
Junior Database Administrator
A Junior DBA is an entry level position. This person masters reactive work, follows defined processes, and learns setup tasks. The Junior DBA:
- Triages user issues and handling reactive “tickets”
- Handles failed SQL Server Agent jobs, including backups and maintenance jobs
- Sets up new SQL Server instances following a process designed by others
- Tests and applies patches to pre-production and production environments
- Carries out defined tasks like managing new users, running established audit processes, restoring databases to other environments as required
- Gets called in the middle of the night a lot
Mid-Level Database Administrator
This person has lost the “Junior” from their title. They are assumed to have the reactive part of the job down pat– and frequently they still do reactive work. In addition, they are looked to to tweak and improve existing processes, and they define an area of specialization. The DBA:
- Triages more complex user issues and handle escalations from Junior DBAs
- Improves existing processes for ongoing SQL Server management
- Modifes SQL Server configuration in response to ongoing issues and new releases
- Looks critically at patch release notes to advice when a security update, cumulative update, or Service Pack is critical to apply
- Identifies the area of specialization (usually one, because they are broad) which is right for them. The DBA tends to gravitate toward issues and configuration in this area and learns as much as they can.
- Haunts their boss’ doorway and inbox with regular requests to attend conferences or trainings (online or in-person)
- Gets called in the middle of the night a lot
Areas of specialization include:
- Performance tuning
- Hardware / Virtualization / Storage
- High Availability & Disaster Recovery
- Automation & code for management of a high volume of instances
Senior / Lead Database Administrator
Senior DBAs define their jobs more, and are more self driven. They are more strategic, and are more likely to point out vulnerabilities for the SQL Server and recommend improvements even if they haven’t been asked to do so. This position has more political requirements (aka social awareness), and frequently involves mentoring more junior teammates.
Senior DBAs usually do not officially manage Junior DBAs. But they always should “manage up”, or stretch beyond simple daily tasks and advise their management about what’s really best for the business’ data.
A Senior DBA:
- Acts as an escalation point for issues other DBAs can’t solve
- Decides when major process changes need to be made for SQL Server management. They may make the process changes themselves, or do a high level design and delegate the implementation.
- Architects SQL Server configuration for bleeding edge features / new use cases
- Defines high level standards for SQL Server management (and own responsibility for them)
- Goes deep into one or more areas of specialization, and own responsibility for tough issues in that area
- Gets irate if they get called in the middle of the night a lot (generally this means processes aren’t stable and there’s a lot to fix)
Senior DBAs have already figured out how to get a regular budget for ongoing conferences — and probably negotiated that as part of getting their Senior level job. They recognize that staying fresh on new features, new issues, and interacting with their colleagues at these events is critical to staying at their job level.
Although Senior DBAs aren’t managers, they frequently handle fallout related to major issues. This is because the senior members of the team own the processes involved in handling those issues. If more junior members of the team can’t follow the processes, the senior team members need to figure out why, and change something.
What about ‘Architects’?
Some companies have an additional level you can progress to, sometimes called “Architects” or “Partners”. This usually is much like a Senior DBA, but the DBA goes even deeper into one or two areas of specialization.
Architects generally have access to specialized environments for testing and design, sometimes do prototyping or advanced performance testing, and sometimes drive very nice cars.
People don’t call them in the middle of the night much. They’re afraid that means they won’t get to ride in the passenger seat of the nice car.
Here’s how to level up your DBA skills, even if your company doesn’t need a Senior DBA
Some environments don’t require too many Senior DBA skills. If you’ve just got a couple of SQL Servers and a small IT staff, things can stay pretty simple. The more complex the environment, the more those skills come in handy.
However, even in a smaller environment, DBAs can work toward building those skills.
One way to do this is by executing on the right projects at work:
- Make sure you truly master all the things a Junior DBA should know. Review my Junior DBA training plan and look for any gaps.
- Review your environment for any gaps in RPO/RTO or vulnerabilities to data loss or downtime that isn’t acceptable. Design recommendations to close that gap, and review it with your boss and business owners.
- Identify what area you want to specialize in, and starting to build up your knowledge there.
- Ask your boss to get involved in budgeting and planning for your SQL Server environment, if you aren’t already doing that.
- Design a project to review your SQL Server processes for setup and management and improve them strategically. Make high level recommendations with honest time estimates for how long it will take to adapt the processes, and go over them with your boss.
- If you don’t have a budget and plan set for ongoing learning / training / conferences, make a plan to fix that. This will require legwork on your part and persistence, but it’s well worth your time.
Being a Senior DBA requires being both independent and influential. As a Senior DBA, you advise the company about risks and what is best for their data– and that includes training you!
An even better way to do this is to start teaching others in the community about SQL Server. Learn more about this path in my post, “How to Level Up Your DBA Career“.