What is SQL?
SQL stands for Structured Query Language. It is the standard programming language designed for storing, retrieving, managing or manipulating data in a relational database management system (RDBMS).
SQL was developed by Donald Chamberlin and Raymond Boyce at IBM to provide a query language for IBM's System R database in the 1970s.
As an IT recruiter, what should you know about SQL?
- A computer science degree does not guarantee SQL skills, most universities do not go beyond the basics. Developers need to work on complex projects in productions to develop SQL skills and learn the nuances. Most fresh grads will have none to very basic SQL skills.
- An understanding on indexes in SQL is a must- most performance related issues can be solved just with proper indexing. Being able to identify opportunities for performance improvement with indexing is crucial for a developer.
- An RDBMS (Relational Database Management System) is the database software itself, which manages storage, querying, updating etc. The RDBMS is the system, and SQL is the language used to interact with the system. SQLite, MySQL, MariaDB, Postgres etc are all RDBMSes, and the language we use to interact with them is SQL.
Job roles that require SQL skills
- Backend developer
- Full-stack developer
- SQL admin
- System administrator
- Infrastructure engineer
- Data architect
- Database engineer
- Business Intelligence (BI) developer
- SQL developer
- Data analyst
- Software engineer
Why is SQL so popular?
Here are the top reasons why SQL is still so popular almost 5 decades after it was originally created:
Battle tested and mature
SQL technologies have been around for so long, that they have been used for almost any possible application. SQL databases in global companies like Facebook and Twitter stand testimony to the huge volume of data they have been able to process for millions of hours. Given the fact that it is mature solution, almost every edge case has already been solved for.
Community and ecosystem
When a technology has been popular for as long as SQL has been, vast resources of knowledge around that technology begin to appear around it in the form of documentation, forums, communities, supporting tools and a talent ecosystem. Since it is one of the most widely documented and tested technologies, developer automatically gravitate towards it, further enriching the ecosystem. If you're running into an issue with SQL, it is a given that thousands of other developers have run into that before you, and a simple Google search will lead you to their solution for your problem.
Simple to learn
SQL is so straight forward to learn that even folks from non-tech backgrounds like marketing, business analysts, C-suites learn SQL to make their jobs easier. It takes less than a week to understand the basic functionality and get upto speed with respect to running simple queries and fetching data.
Using an SQL database is almost always the best choice.
What skills do SQL developers have
- Database fundamentals
They should be familiar with basic database concepts, including relational databases, tables and data types and have a strong understanding of the importance and use cases of databases.
- Tables and Indexing
An index is used to speed up searching in the database. An index is typically used to efficiently find all rows matching some column in your query and then go through only that subset of the table to find exact matches. Without an index, the
SQLserver has to go through all the rows in the table and check for matches, making it a very slow operation on big tables.
- Conditional filters
The power of SQL begins to be seen with the
WHEREclause when searching large datasets. With
WHERE, one can filter results according to specific conditions we explicitly set, such as, "Show all birth reports where the
Dateis before 2019 and the
Genderis listed as
Most times, the data you need to analyze is fragmented into multiple tables. Joins allow you to combine data from multiple tables, making it easier to analyze complex data.
Subqueries or nested queries are a powerful means to combine data from two tables into a single result. Depending on the use case, they can be faster and more efficient than joins because they eliminate a few redundant steps in data extraction.
- Execution plans
An execution plan is a visual representation of the sequence of operations performed by the database to return the data requested by a query. The execution plan is a view into the SQL Server query optimizer and query engine, which reveals which objects a query uses. Execution plans have a lot of insights into the efficiency of a query and are the main troubleshooting tools for an underperforming query.
Backups are crucial in case the database is lost or corrupted. It is essential for a database admin to know the differences between the different types of backups, which to use when and how to restore a database from backup.
- Performance tuning
The ability to execute SQL performance tuning is a vital skill for software teams that work with relational databases- however it is just as rare. SQL performance tuning basically means optimizing queries of a relational database to run as fast as possible.
Questions to ask on a phone screen
- You've listed X/ Y/ Z technologies on your resume, when was your last commercial experience with these technologies?
This question helps you understand how relevant the candidate's skills are. If the last time they worked on a project that involved SQL was 2 years ago, that helps you be more aware of the potential risks.
- Which project in the previous 2 years did you get maximum exposure to SQL in? What was your involvement in the project, and what were you responsible for?
This question helps you understand whether or not they were involved in deciding which technology to use, and if so the rationale behind behind their choice. It also helps figure out their level of seniority for that project.
- What is the maximum scale you have handled with respect to database technologies?
A lot of database concepts only kick for projects at a certain scale- indexing, subqueries, optimizing queries etc and your candidate might never have been exposed to these if they only worked on hobby projects or projects that never moved to production.
- How would you explain the difference between SQL and NoSQL databases to a non-technical person like me?
An SQL database is a Relational Database which is more structured, whereas NoSQL is a Non-relational database which is likely to be more document and distributed than structured. What that means is a Relational database strictly adheres relations consisting of a set of rows and columns to store data (tables), but a Non-relational database has a document-oriented or distributed storage which doesn’t require any table structure. A NoSQL database is a better fit for storing data like articles, sensor data, social media posts, and other types of unstructured data that won’t fit neatly into a table.
How to assess SQL skills
How SQL skills assessment help companies hire great SQL developers?
- Decreases time-to-hire: Using a skills assessment test shrinks your screening process by as much as 80%, enabling you to identify and hire qualified candidates faster.
- Avoid bad hires: Using a standard test that evaluates for on-the-job skills reduces the probability of making a bad hire significantly.
- Increases Productivity: With the help of online SQL assessments recruiters and hiring managers are now able to spend more time on evaluating proficient candidates by eliminating unfit candidates before face to face interview.
- Ready- to-use SQL skill tests: The tests are a perfect combination of theory and practical questions to evaluate candidate’s knowledge on various SQL concept and coding too.
- Reduces time-to-hire: The SQL knowledge test reduces time-to-hire up to 50% and help you hire job fir candidates faster.
- Provides detailed analysis: A set of integrated data and hiring analytics and reports make hiring managers and recruiters take a better hiring decision.
One of the most seamless way to hire SQL developers is to use the SQL online test. A relevant pre-employment assessment helps assess technical skills accurately, and helps you shortlist the top 20% candidates who you should interview to make a final decision. Depending on the requirements of your role, you could use:
You can review/ ask your hiring manager to review some good questions for SQL roles here.