Over the past few weeks I have been writing about DBA skills for various career levels and, so far, for a couple of different DBA types – the Production DBA and the Development DBA. Today, we’re examining the Lead Development DBA. You’ll discover what this person needs to know
DEV DBA III/Lead Dev DBA – 5 to 7 Years
- All competencies from previous level.
- Manages most administrative aspects of non-prod environments without assistance from other DBAs.
- Participate in T-SQL development and database design of advanced complexity.
- Investigates potentially complex data issues within SQL Server.
- May have several years of progressive experience with SSIS, SSRS or SSAS.
- Administers source control systems for the environment.
- Regularly automates tasks. This should include the use of T-SQL, SQL Server Agent, and PowerShell. May include the use of other languages like Python or C#.
- Creates and manage design documentation related to development work.
- Regularly explores, learns and implements new SQL Server development features. Examples would include new T-SQL enhancements and new feature sets like Temporal Tables for SQL Server 2016 and Data Virtualization for SQL Serer 2019..
- Advanced understanding of execution plans, indexes, and query tuning.
- Investigate complex data integrity/repair issues within SQL Server.
- Leads in knowledge sharing in two or more areas from levels I, II, or III.
- Assists with SQL Server migrations and upgrades in DEV/QA or production.
- Mentors Junior DBA’s and Developers.
- Participates in code reviews.
- May contain competencies from Production DBA levels up to level 1 or 2.
- Demonstrates emotional intelligence and may take an interest in leadership roles.
Managing Non-Prod SQL Servers
As a Lead Development DBA, you are managing your company’s non-prod SQL Servers without the regular input of other DBAs.. That doesn’t mean you know everything about managing the environment, but it does mean you are no longer asking any basic questions. You’re managing new SQL Server installations and post-install configuration, managing access to the SQL Servers, and SQL Server maintenance (backups/restores, index and statistics maintenance, CHECK DB, etc).
You Have T-SQL Skills
You know how to use views for inserting, updating or deleting data. You know when to use a temporary table, a table variable or a derived table. You also know when dynamic SQL is appropriate, and no the answer isn’t “never.” Your stored procedures have error handling using TRY… CATCH and/or THROW and they do data validation for inputs. You know and avoid the problems associated with scalar user defined functions. You consume development material from people like Itzik Ben Gan and Gail Shaw without your eyes glazing over.
SQL Server Performance Tuning and Optimization
Performance Tuning and optimization is your bread and butter. You’ve probably read the various editions of books on execution plans by Grant Fritchey. You know who Brent Ozar and Hugo Kornelis are and you have frequented their websites to learn about execution plans and making SQL Server go fast. You know how to leverage the Query Store. MAXDOP and Cost Threshold of Parallelism are things you understand and know what to do with at the server level and how it affects queries running on the SQL Server. You also know that MAXDOP can be set at the database level in newer versions of SQL Server. If you didn’t know that, see this.
Working With Other SQL Server Components and Features
Depending on the needs of your employers, you are likely fairly comfortable with SSIS, SSRS or SSAS. You can develop solutions with those tools that go beyond basic things. SSRS Administration using the Report Manager and Report Server URLs is familiar to you, for example. Complex SSIS packages are something you’re not afraid of at this point.
Mentoring and Knowledge Sharing
At this stage of your career you will be expected to be a leader in your group and share knowledge with others. You will be skilled enough to share your growing expertise in 2 or more areas. You may be the go to person for execution plan analysis, Query Store and T-SQL. Share that knowledge with others. Make someone else’s professional life better by sharing your experience. This will not only benefit the other person, but you as well. Nothing solidifies learning like trying to teach something to someone else!
As part of your leadership among other people, you should demonstrate a fair amount of emotional intelligence. You are able to manage your own emotions and the emotions of others during your interactions. You’re also taking on more and ore the role of a leader at this phase of your career. People will be looking to you for guidance and decision making.
Next Steps To Take
- Look at the criteria in this post and make a training plan for the things you know you need to work on and put that plan somewhere that you will see on a regular basis.
- Contact me here for questions about this post or the skills listed in it. You can also reach out to me via Twitter using the handle @leemarkum.