Data is a valuable asset for any organization. Relational database systems use SQL as the primary language to access and manipulate data. As collecting, storing, and analyzing data has increased in importance for business, the database administrator (DBA) role has become essential, and recruitment teams now spend a considerable amount of time and effort to hire capable SQL database administrators. This guide will show you how to hire a SQL database administrator with the skills you need in the role.
The technology landscape has continued to change rapidly, and that has added even more layers of complexity in hiring a database administrator. This article will look at various factors associated with hiring a SQL database administrator in detail. We will discuss why selecting a DBA is challenging given the technology landscape, their roles and responsibilities, what skills and qualities to look for in an administrator, where to find good database administrators, and how you can conclude an efficient and effective hiring process for database administrators.
- Hiring a SQL database administrator requires special care
- The changing landscape of databases
- Introduction of the cloud
- Responsibilities of a SQL database administrator
- Technical skills of a SQL database administrator
- Qualities to look for in a DBA
- Do You Need A DBA?
- Where can you find a DBA?
- How to hire a DBA with TestGorilla
Hiring a SQL database administrator requires special care
Database administrators have a tricky role to play. They need to have excellent, specialized database skills, but they also a broad understanding of applications, business requirements, and user needs. Usually, even in large organizations, there will be a small group of database administrators. For most organizations, though, there would be only one or two people performing this role. That means there is no scope of mediocrity or mistakes.
That is why pre-hire assessment tests offered by TestGorilla are instrumental in selecting the right candidate. They can help you cut downtime and effort by ensuring that only the best of all potential candidates enter your recruitment funnel. As we discuss the job requirements, skills, and qualities of a database administrator, we will detail how TestGorilla can help each of those aspects.
The changing landscape of databases
Before we delve into the specifics of hiring a SQL database administrator, understanding the overall database landscape today can help make even better hiring decisions. While Relational databases and SQL were the primary techniques for data, the proliferation of the internet resulted in a massive increase in data. At the dawn of the 21st century, the world found itself grappling with massive and increasing amounts of data, primarily due to the internet's growth.
This growth necessitated the evolution of the approaches to deal with it. In response, Google unveiled MapReduce in 2004, followed by Bigtable (2006). Amazon followed with Dynamo in 2007. These new techniques allowed interactions with non-relational data too and were the foundation of NoSQL.
For a brief period, many believed that the usefulness of SQL is over. However, the constraints of NoSql soon became apparent. Developers responded to these constraints by introducing Sql-based interfaces for NoSql databases. Relational databases were back at the forefront. With their MySQL and PostgreSQL-compatible editions, Amazon Aurora became the fastest-growing service in the history of AWS. In 2019, more than 60.48% of organizations were using SQL databases, against 39.52% using NoSQL. However, more importantly, more than 75.6% were using SQL + NoSQL databases.
Introduction of the cloud
The wide adoption of cloud computing platforms is another facet of the changing database landscape. On average, organizations store 25% of critical data on public clouds, according to the "2019 IOUG Databases in the Cloud Survey". The cloud adoption and the NoSQL databases have accelerated the transformation of a database administrator's role. Of course, most core database administration functions remain the same. The significant difference is that the focus shifts from routine and generic tasks to the activities that directly add value to the applications and businesses. For example, installing and updating databases no longer takes up a DBA's significant time in cloud environments.
The platform takes care of it. However, security, performance tuning, and schema definition and management are still relevant to the same extent. In that sense, a DBA's responsibility in a cloud environment is a subset of a DBA's responsibilities in a traditional and on-premise environment. If you are using the cloud, you will need to test the DBAs for those skills too. Complimentary skills like DevOps and cloud administration can also be valuable.
Responsibilities of a SQL database administrator
- Planning for the installation of databases, including data storage, processing, and availability requirements
- Installing, configuring, and updating database systems
- Defining and implementing the database schema
- Defining and implementing database backup and recovery systems and processes
- Ensuring high-availability
- Monitoring database performance and usage. Troubleshooting in case of issues and errors.
- Database security and user access control
Technical skills of a SQL database administrator
- Mastery over the operating system and networking commands and configurations
- Mastery over the cloud platform from performance tuning and security perspective
- Database schema design capabilities, familiarity with Relational database concepts (e.g., normalization)
- Database performance tuning and security configuration
- Knowledge of enterprise infrastructure elements (e.g., Active Directory) and their configuration from the Database management perspective
- An extreme level of comfort with SQL constructs, including complex querying and data analysis
- Mastery over techniques to ensure high-availability (HA) of databases, including backups, replications, and Disaster Recovery (DR)
Qualities to look for in a DBA
The data is already the most critical asset an organization can have. It is crucial that you carefully consider and assess the qualities and soft-skills of the guardians of such data when hiring a DBA. Here are a few traits and skills that you should take into account when making a hiring decision.
Accountability and conscientiousness
One question interviewers often ask the DBA candidates is to describe their mistakes, consequences, and how the DBAs responded to those incidents. Any experienced DBA would have made at least a few mistakes during their career. Hiding such mistakes can prove more detrimental than the actual error. Owning it up, communicating the incidence to appropriate, concerned people, and working towards resolution is the most vital hallmark of a good DBA.
There are a plethora of tests available in TestGorilla to test a DBA candidate on many personality aspects. TestGorilla enables you to analyze the behavioral aspects of a candidate with DISC, Culture fit, and Business ethics & compliance tests, among others.
While communication is the common denominator for any professional, it is crucial for the DBA. DBAs need to possess both listening and expressive skills to understand the business and technological objectives and explain constraints, challenges, implications, and possible alternatives. These skills are also tied up closely with the accountability for the DBAs.
Handling databases in production environments is a high-pressure job. Combined with the rapid pace of change, it necessitates quick action and working in continually evolving environments for the DBAs. The agility also helps DBAs cope with the high-pressure situations bound to happen at some point or another.
Other soft skills
Following are a few other skills that an ideal DBA candidate should possess;
- Ability to work independently yet be a team player.
- Multi-tasking and context switching capabilities. While multi-tasking is generally frowned upon from the productivity perspective, these skills are necessary for a DBA. In a crisis, they will need to perform multiple tasks simultaneously. Critical thinking and problem-solving skills are vital.
- Extreme attention to detail as even a slight misconfiguration can have catastrophic effects.
Do You Need A DBA?
There are many organizations where the developers double up as database administrators. While some developers may have advanced administration skills, you must consider a few factors to decide whether you need a specialized database administrator. Let's see each of those factors in detail.
- Performance issues are the most visible signs that indicate the need for a specialized DBA. If your application's response time is not satisfactory due to the database interactions, there is a need to tune the database for performance better. These issues directly affect the users; hence they have both commercial and brand image implications.
- Security and data availability are two crucial factors to keep in mind. They arise infrequently, but if and when they happen, they can prove to be fatal. These are also areas that require specialized knowledge and constant supervision. The security domain is especially a fast-evolving one with increasing challenges and sophistication of hacker tools and attacks. Don't compromise on security!
- If you are using the cloud environment to host your database or using a managed database hosting service, the cloud services take care of any availability issues. However, it would be best to verify the periodic testing of recovery and availability post downtime. Prolonged downtimes are not viable in the ever-connected world.
Having a DBA on a team from the beginning can add massive value to your applications and data. However, the following are the scenarios where you must have a specialized DBA.
- If your business depends on even the last micro-second data availability, you must have a dedicated database administrator. Banking and finance companies, stock market apps, and medical emergency services are some of the prime examples. These services can't afford any downtime, latency, or lost transactions. In such cases, you will need more than one database administrator to ensure there are no undesired implications of issues and challenges.
- Your applications are facing increasing latency issues. While there can be many variables at play, including poorly written applications and hardware & infrastructure constraints, more often than not, inadequate database tuning is the culprit.
- The number of transactions you have is increasing fast. Continuous addition of new data and modifications to the existing data will render indexes useless. You will need to either drop, modify, or recreate appropriate indexes quite often if you have many transactions.
- As the data and transactions increase, the database log files start growing. These log files are crucial to ensure transactional consistency, deadlock resolutions, and rollbacks. As the size of the log files grows, the response time for each transaction starts decreasing.
If you are experiencing any of the above symptoms, you should not postpone the decision to hire a DBA for your organization.
Where can you find a DBA?
While full-time DBAs are the norm given the nature of work, you might want to hire freelancers for specific projects for a limited time. However, most of the time, you would look at hiring the DBAs full-time.
There are many channels you can explore to find a good SQL database administrator.
- LinkedIn is a primary channel where all kinds of professionals are present.
- Many job boards also can be helpful. Almost every job board will have profiles of database administrators.
- StackOverflow is the largest technology community, and you can find many database administrators there. StackOverflow is a handy source as you can see actual interactions from potential candidates and judge many qualities, including their technical skills. StackOverflow also has a job board that you can use to source resumes.
- There are various meetup groups where DBAs get together and interact frequently. Such groups are another excellent source of finding potential database administrators.
- If you are looking explicitly for a freelancer, many platforms like TopTal and Upwork can be helpful.
How to hire a DBA with TestGorilla
Given the importance of the role, the many rounds of interviews that take place, the varied and specialized technical skills required, and the critical soft skills, finding the right DBA is a challenge. Since the average company will typically have only a couple of database administrators, there is no margin for error.
That's why TestGorilla's pre-employment assessments are so beneficial. They can help you cut downtime and increase efficiency by ensuring that you only hire the best of all potential candidates