Toptal is a marketplace for top SQL developers, engineers, programmers, coders, architects, and consultants. Top companies and startups choose Toptal SQL freelancers for their mission-critical software projects.
César's clients recognize him as a senior SQL Server expert, and they hire him repeatedly for projects and consulting services related to optimization, development, migration, BI systems, and more. In addition to 25 years as an SQL Server developer, he has developed full-stack applications for 35 years, including 11 years with Sencha Ext JS and 10 years with Java. César has done work for many large enterprises, public administrations, municipalities, and ports.
Ted has over 25 years of working with Microsoft SQL and data products with a focus on data warehousing. He has been working primarily in Azure for the last six years, and his current focus is Synapse Analytics workspace. Often in the role of the lead architect, Ted is very familiar with all the supporting Azure technologies to deliver a modern data platform in a secure, performant, cost-efficient way. He is a Certified Azure Data Engineer and Azure Database Administrator.
Andrea's been working in hospitality technology for over 20 years and has been involved in almost every aspect of it: database administration, SQL reports, database development (PL/SQL), product management, project management, design of new products, implementation, process automation, support, training, and senior management. Andrea has delivered several projects involving coordinating teams, including OTA-based integrations, full end-to-end solutions, and a full customer intelligence database.
Rajib is a senior data engineer with 23 years of experience in T-SQL coding and building SQL Server databases, ETL data pipelines in the Azure cloud using ADF, or on-premises software using SQL Server Integration Services (SSIS) to ingest data and processes. An expert in coding using Python and PySpark, he creates notebooks in Databricks for data transformation and load. With his extensive experience, Rajib will be an excellent addition to any team.
Pedro has been working with Microsoft technologies since the early days of MS-DOS and GW-BASIC when he became fascinated with DBMS and used SQL Server 6.5 for the first time. During the last 20 years, he's implemented numerous web and Windows solutions in .NET, using SQL Server on the back end. Also, he taught several official Microsoft courses where he shared his expertise in the field. In one sentence, Pedro is eager to learn, inspired by challenges, and motivated to share.
Have almost 30 years of experience in designing, developing and implementing of the systems for enterprises. Have 25 years of experience in working with ERP system called "IFS Applications". The database part of this system is developed in Oracle SQL and PL/SQL. The client part is developed in Visual Studio C#. Last 2 and half years I have been doing modifications of the application for customers in Poland and US as full-time worker and enterpreneur.
Daniel is an SQL expert and business improvement specialist with over 30 international and 50 domestic projects under his belt as an SQL developer, technical lead, or project manager. He has 12 years of experience with Microsoft SQL Server and 6+ with ASP.NET and C#. He's also worked as an engineer. He enjoys working in an agile environment and is looking for challenges as an SQL developer or engineer.
Rakesh is a data engineer, lead database administrator, and data architect with more than 15 years of experience in MS SQL Server (2000 to 2019), SSIS, SSRS, reporting services, VB, Windows Server, Visual Studio, PowerShell, SQL optimization, and big data. Comfortable working in fast-paced, high-tech environments, Rakesh possesses robust technical skills in various areas of IT and is currently pursuing his interests in Python, machine learning, Power BI, and Google Analytics.
Ganapathy has around 18 years of experience working in a Tier-1 company as a back-end developer. He became a technologist specializing in OOPS, Java, and SQL. He grew up the ranks to be a technical manager using his strong leadership and communication skills. In 2016, Ganapathy opted to freelance, performing technical and management consulting, data analysis, SQL programming, and VBA automation. His all-around abilities to simplify things and deliver cost-effective solutions delight his clients.
Cajetan has specialized in Oracle SQL and PL/SQL for 13 years. He has also written and worked with MySQL, PostgreSQL, and Microsoft SQL Server databases and has recent experience with AWS technologies and Oracle Cloud. Cajetan has delivered solutions for banking, credit cards, and finance at Commonwealth Bank of Australia and ICICI Bank; supply chain management software for Woolworths Group; and a campaign management platform for telecom. He has a master's degree in computer application.
Lincoln is a developer with over 15 years of experience developing and implementing business intelligence (BI) and data warehouse solutions, SAP ERP solutions, and software along with general web design and development. His expert skillset includes SQL, T-SQL, stored procedures, MS SQL Server & Oracle, data warehouse & ETL, MS SSIS, SSRS/SSAS, Power BI, Microsoft Azure SQL Database, Synapse Analytics, Data Factory, Databricks, Google BigQuery, AWS RDS and RedShift, and Python programming.
SQL developers create, optimize, and migrate database systems. This guide to hiring SQL developers helps you navigate the world of SQL technologies and skills, and features interview questions and answers to help you identify the best candidates for your company.
... allows corporations to quickly assemble teams that have the right skills for specific projects.
Despite accelerating demand for coders, Toptal prides itself on almost Ivy League-level vetting.
Our clients
Creating an app for the game
Leading a digital transformation
Building a cross-platform app to be used worldwide
Drilling into real-time data creates an industry game changer
Testimonials
Tripcents wouldn't exist without Toptal. Toptal Projects enabled us to rapidly develop our foundation with a product manager, lead developer, and senior designer. In just over 60 days we went from concept to Alpha. The speed, knowledge, expertise, and flexibility is second to none. The Toptal team were as part of Tripcents as any in-house team member of Tripcents. They contributed and took ownership of the development just like everyone else. We will continue to use Toptal. As a startup, they are our secret weapon.
Brantley Pace
CEO & Co-Founder
I am more than pleased with our experience with Toptal. The professional I got to work with was on the phone with me within a couple of hours. I knew after discussing my project with him that he was the candidate I wanted. I hired him immediately and he wasted no time in getting to my project, even going the extra mile by adding some great design elements that enhanced our overall look.
Paul Fenley
Director
The developers I was paired with were incredible -- smart, driven, and responsive. It used to be hard to find quality engineers and consultants. Now it isn't.
Ryan Rockefeller
CEO
Toptal understood our project needs immediately. We were matched with an exceptional freelancer from Argentina who, from Day 1, immersed himself in our industry, blended seamlessly with our team, understood our vision, and produced top-notch results. Toptal makes connecting with superior developers and programmers very easy.
Jason Kulik
Co-founder
As a small company with limited resources we can't afford to make expensive mistakes. Toptal provided us with an experienced programmer who was able to hit the ground running and begin contributing immediately. It has been a great experience and one we'd repeat again in a heartbeat.
Stuart Pocknee
Principal
How to Hire SQL Developers Through Toptal
1
Talk to One of Our Client Advisors
A Toptal client advisor will work with you to understand your goals, technical needs, and team dynamics.
2
Work With Hand-selected Talent
Within days, we'll introduce you to the right SQL developer for your project. Average time to match is under 24 hours.
3
The Right Fit, Guaranteed
Work with your new SQL developer for a trial period (pay only if satisfied), ensuring they're the right fit before starting the engagement.
Find Experts With Related Skills
Access a vast pool of skilled developers in our talent network and hire the top 3% within just 48 hours.
The cost associated with hiring a SQL developer depends on various factors, including preferred talent location, complexity and size of the project you’re hiring for, seniority, engagement commitment (hourly, part-time, or full-time), and more. In the US, for example, Glassdoor’s reported average total annual pay for SQL developers is $103,166 as of February 2024. With Toptal, you can speak with an expert talent matcher who will help you understand the cost of talent with the right skills and seniority level for your needs. To get started, schedule a call with us — it’s free, and there’s no obligation to hire with Toptal.
How do I hire a SQL developer?
To hire the right SQL developer, it’s important to evaluate a candidate’s experience, technical skills, and communication skills. You’ll also want to consider the fit with your particular industry, company, and project. Toptal’s rigorous screening process ensures that every member of our network has excellent experience and skills, and our team will match you with the perfect SQL developers for your project.
How in demand is SQL?
SQL has been around much longer than the alternatives, and when coupled with the fact that it is the 7th most popular programming language on the TIOBE index as of February 2024, there’s no doubt that it’s here to stay. The demand for related positions, like data architects, database administrators, data analysts, and data scientists, is relevant since they all leverage SQL.
How quickly can you hire with Toptal?
Typically, you can hire a SQL developer with Toptal in about 48 hours. For larger teams of talent or Managed Delivery, timelines may vary. Our talent matchers are highly skilled in the same fields they’re matching in—they’re not recruiters or HR reps. They’ll work with you to understand your goals, technical needs, and team dynamics, and match you with ideal candidates from our vetted global talent network.
Once you select your SQL developer, you’ll have a no-risk trial period to ensure they’re the perfect fit. Our matching process has a 98% trial-to-hire rate, so you can rest assured that you’re getting the best fit every time.
What is the difference between SQL and MySQL?
To answer this question, it’s helpful to first ask “What is SQL?” SQL, which stands for Structured Query Language, is used to query and manage data on relational databases. It’s a standard language that can be used in several distinct database systems. MySQL is an example of a relational database management system. These systems ensure the security, accuracy, integrity, and consistency of data. Other examples of relational database management systems are Oracle, PostgreSQL, MariaDB, and Microsoft SQL Server.
How are Toptal SQL developers different?
At Toptal, we thoroughly screen our SQL developers to ensure we only match you with the highest caliber of talent. Of the more than 200,000 people who apply to join the Toptal network each year, fewer than 3% make the cut.
In addition to screening for industry-leading expertise, we also assess candidates’ language and interpersonal skills to ensure that you have a smooth working relationship.
When you hire with Toptal, you’ll always work with world-class, custom-matched SQL developers ready to help you achieve your goals.
Can you hire SQL developers on an hourly basis or for project-based tasks?
You can hire SQL developers on an hourly, part-time, or full-time basis. Toptal can also manage the entire project from end-to-end with our Managed Delivery offering. Whether you hire an expert for a full- or part-time position, you’ll have the control and flexibility to scale your team up or down as your needs evolve. Our SQL developers can fully integrate into your existing team for a seamless working experience.
What is the no-risk trial period for Toptal SQL developers?
We make sure that each engagement between you and your SQL developer begins with a trial period of up to two weeks. This means that you have time to confirm the engagement will be successful. If you’re completely satisfied with the results, we’ll bill you for the time and continue the engagement for as long as you’d like. If you’re not completely satisfied, you won’t be billed. From there, we can either part ways, or we can provide you with another expert who may be a better fit and with whom we will begin a second, no-risk trial.
Pablo is a Microsoft-certified expert in databases with more than 17 years in the field and is the author of a book on data virtualization. He has worked at large companies like Atos and has administered SQL Server, Oracle, and legacy OpenEdge databases. Pablo has also used innate database features to create a variety of database-backed systems: web applications, ETL processes, reports, business intelligence, file watchers, and query notifications to refresh an application’s cached data.
The market for database administrators and architects is expected to grow 8% from 2022 to 2032, which is faster than the average growth rate of 3% for all occupations. And, under this umbrella, SQL (relational) databases triumph: There are no signs of SQL databases losing their data center dominance to the NoSQL (document) databases that have emerged and matured in recent years.
In Stack Overflow’s 2023 Developer Survey, SQL was the third most common language used by professional developers, more popular than even Python, Java, and C#. Although SQL’s popularity may lead you to believe there will be an excess number of qualified candidates for a given role, the reality is not so straightforward: Significant nuances remain in finding an SQL developer with the right technical skills for a given project.
SQL-based technologies have a lot in common, and all SQL developers need certain skills to succeed. However, there are many aspects specific to a given SQL engine (like PostgreSQL or MySQL), role (administrator or architect), or optimization scenario (data marts, data lakes, or data warehouses). This hiring guide details the most sought-after of these specializations so you can clarify your project needs, craft effective job descriptions, and select appropriate interview questions for your hiring process.
What attributes distinguish quality SQL Developers from others?
A quality SQL developer isn’t merely someone who writes SQL. They’re a specialist who knows how to craft code in such a way that the SQL engine can operate efficiently—and if it doesn’t, they know how to analyze an engine’s query plans to optimize it.
As a hiring manager, you’ll be in a better position to evaluate your top contenders if you know the benefits that seasoned SQL programmers can bring to a project:
Breadth of knowledge – Seasoned programmers know how to use SQL functions and procedures to extract the value your company needs from the data.
Improved performance – While there are many ways to write a query, a skilled engineer will find the optimal way for the engine to retrieve the information both quickly and efficiently.
Higher availabilityfor end users – By optimizing queries, an SQL engineer ensures information is always returned quickly for all concurrent queries, so users aren’t left waiting.
Faster time to market – Experienced SQL developers know the technology well enough to provide efficient database development that’s sensitive to time and budget constraints and will be able to coordinate with freelance SQL developers to fill any gaps in the workload.
Adaptability – SQL developers who have experience with several engines are able to keep SQL code generic and know when that trade-off makes sense, making it easier to switch to another database management system (DBMS) if that becomes a project requirement later.
Skills an SQL Professional Should Know
Since SQL is an appropriate technology for such a vast array of applications, developers will have a broad spectrum of expert-level skills. The particular expertise you need depends on the project context and, to an even greater degree, the SQL engine. Pare your list by selecting only those individuals who have demonstrated the following:
They’ve made good use of and capitalized on the most recent features of the SQL engine they worked with to improve the performance of a system—for example, having leveraged SQL Server 2019’s scalar UDF inlining feature.
They’ve made good use of integration features and communication channels between diverse DBMSes—for example, having created a system for sending bank statements that extracts data from an IBM mainframe and consolidates it with databases stored in both Oracle and SQL Server.
They’ve made good use of migration utilities and verified procedures to migrate data among DBMSes and OSes—for example, having performed a client migration from Oracle 11g on Linux to SQL Server 2016 on Windows and succeeded with minimal disruption.
They’ve written software that lets the user choose which DBMS to use as the back end and allows switching from one to another, if needed, due to limitations, features, or cost.
With this guidance, you will be better able to identify high-quality talent. But even the most experienced or widely skilled SQL developer may not be the ideal choice for you—it all depends on your project specifics.
How can you identify the ideal SQL Developer for you?
SQL isn’t a single technology, so SQL developers’ experience is always in the context of a specific SQL engine (DBMS). In theory, an SQL developer “writes SQL,” but in practice, that means working with Oracle, MySQL, PostgreSQL, or Microsoft SQL Server, for example. Yes, there is a unified SQL standard, ANSI SQL, but the makers of each DBMS prioritize feature development unevenly and implement each feature differently.
An SQL developer can write the most basic SQL statements to run without changes on all major SQL engines, but such code won’t necessarily perform optimally on every engine. Also, each DBMS has a different set of extensions to its respective data query language (DQL), data definition language (DDL), data control language (DCL), and data manipulation language (DML). This means that SQL developers cannot leverage more advanced DBMS features using a “lowest common denominator” approach because, most often, there simply isn’t one.
Seniority, then, is a matter of mastering one or more DBMS and gaining exposure to a wide range of alternatives in order to better understand the trade-offs associated with each one.
Choosing Between Junior, Mid-level, and Senior SQL Developers
A junior-level SQL developer can write queries in the context of the engine they’re familiar with but will require guidance for more open-ended tasks like schema design. They’ll need special attention when handling sensitive user data and making changes to tables that could potentially disrupt the organization of the data if handled incorrectly. As they gain more experience, they’ll be able to assist with maintenance tasks like backups.
Mid-level SQL developers should be able to work independently when assigned well-defined tasks and can begin to understand the pros and cons of the primary DBMS they work with. They’ll be capable of writing more complex queries that may include joins, subqueries, and aggregations.
Senior SQL developers will have exposure to several different DBMSes and will be able to adapt quickly to new tools. They understand the nuances of the platforms they work with and can make informed decisions about optimal data management for a given system. They should be skilled in optimization and performance monitoring. More advanced engineers will be able to take ownership of database architecture and design, and mentor junior colleagues to help them advance their careers and make more meaningful contributions to the team.
Your organization’s specific use case will determine the level of seniority needed for your project. Enterprise software often requires senior-plus talent to maintain because they’ll need to quickly absorb a great deal of legacy code and historical context to understand the hows and whys of a system operating at scale. If such a person exists on your team, they should be able to effectively subdivide and delegate tasks to less experienced colleagues.
Determining DBMS Specializations
If your project has only one DBMS, then your path is straightforward: Search for those who know PL/SQL (Oracle), SQL/PSM (MySQL), PL/pgSQL (PostgreSQL), or Transact-SQL (SQL Server); they’re the experts in each system regarding its command set, available features per version, performance tuning, and other engine-specific features and quirks. But you may need someone specialized in more than one of them if:
Your goal is to optimize software that interacts with multiple DBMSes.
You want to migrate from one DBMS to another.
You’re deciding which DBMS to use based on a feature comparison.
In such cases, you’ll need an expert who knows the relevant differences and similarities, how to migrate data from one to another, and most importantly, how to get the maximum performance out of each of them. An SQL engineer may have specialized in one DBMS over the others, but even a year of experience in the other relevant engines will often be sufficient here.
DBMS Foundations and Complementary Technology Skills for SQL
Whether your project uses one DBMS or multiple, SQL engineers must know the following in the context of each DBMS relevant to your project:
Database and schema design
Set theory and joins
Time dimensions and available commands
Best practices for secure database applications
Operating system interaction for CPU control and memory reservation
Performance tuning
Execution plan and resource-usage analysis methods
Common extract, transform, and load (ETL) patterns
Basics about hardware requirements and deployment
In particular, consider how the following details align with your project specifics when evaluating an SQL developer’s experience:
Database systems – Oracle Database, MySQL, PostgreSQL, Microsoft SQL Server, etc. It’s worth a quick search about any other SQL engines found on a candidate’s résumé to help determine their relevance; e.g., MariaDB is a drop-in replacement for MySQL, so experience with MariaDB can be considered on par with MySQL experience.
Database versions – Version 5.7 to 8.1 for MySQL, 11.21 to 15.4 for PostgreSQL, 2014 to 2022 for SQL Server, 11.2 to 23.2 for Oracle, etc.
Level of expertise in general tasks within a project’s required DBMS – One year of experience is enough for data migration but knowing query optimization requires more.
Engine-specific DBMS tools – SSRS or Oracle Reports Builder (reporting), SSIS or ODI (ETL), SSAS or OBIEE (business intelligence), etc.
Integration with other storage types – Hadoop, Azure Blob Storage, Spark, Azure Synapse Analytics, etc.
Integration with other technologies – The application’s programming language (Java, C#, etc.), existing infrastructure (DNS, storage, etc.), operating systems (Linux, Windows, etc.), on-premise or cloud servers (Azure, AWS, GCP, OCI, etc.), existing third-party applications, etc.
It would be extreme to require skills in every technology listed, especially regarding the last three points. However, for projects involving integration, it’s useful to know this list of relevant technologies. In such projects, experience with the specific technologies involved will be among the top factors to seek when selecting an SQL developer.
How to Write an SQL Developer Job Description for Your Project
SQL developer roles are often marketed with a specific DBMS in mind. With or without that approach, you can also target specific subroles, e.g., database clustering consultants, database integration engineers, database migration engineers, and/or data architects. Another way to make the role description more specific is to indicate the extent to which the developer will be asked to act as a database administrator versus collaborating with one.
The most efficient way to prepare a job description that attracts the best applicants is to use an SQL developer job description template—or better yet, one specific to MySQL or SQL Server, if applicable. If your team already has engineers proficient in SQL, ask them to review the description to ensure its accuracy with respect to your project requirements. Your description’s most salient points should include which SQL engine(s) the project requires, any planned integrations or specialized tools an applicant will need to know how to use, and the overarching goals of the project and the role.
What are the most important SQL Developer interview questions?
An effective interview will include a mix of structured technical questions (including DBMS-specific questions such as those for SQL Server or MySQL, as applicable) and free-form or conversational ones, such as:
What do you think of using triggers?
An SQL trigger is a piece of code that’s automatically run in response to an event occurring on a table in the database, such as inserting, updating, or deleting a row. This is a fundamental tool in the SQL developer’s toolkit, but there are trade-offs to consider when employing them: namely, in documenting, debugging, and maintaining them. This question is a great way to begin gauging the depth of a candidate’s experience—consider it a yellow flag if they say they’re strictly for or against triggers, rather than weighing the pros and cons.
What do you use to copy a table from one DBMS to another?
Because of the differences in how DBMSes organize data, it’s rarely a straightforward, one-to-one process to migrate enterprise data at scale from one system to another. That said, there are several options that an SQL developer might employ, from ready-made migration services to ETL tools to fully custom SQL scripting tailored to the project at hand. The most experienced candidates will have experience with all of the above. Ideally, you should have some idea of what your project may require and can ask candidates to drill down into their experiences with those specific tools.
What do you consider when creating a new database?
Here, candidates have a chance to showcase their knowledge about features that need to be activated depending on the purpose of the data. For example, SQL Server Filestream needs to be enabled at the OS level before the database can store documents, the Oracle online analytical processing (OLAP) feature needs to be installed before being able to create an analytical database, and containers or pluggable databases need to be used to keep enterprises separated.
In which cases is it important to have in-memory tables?
In-memory tables reside on a computer’s RAM rather than on disk, which is the traditional method of data storage. Such tables can be useful for lowering response times in customer-facing applications, raising capacity for streaming data, and caching large amounts of semistatic data for fast analysis. Experienced SQL developers should be able to discuss the trade-offs associated with this method as contrasted with disk-based storage. This is a great question to ask if performance is an especially high priority for your project.
How do you decide when to use a columnstore*?
A columnstore is a way to organize and retrieve data by columns rather than by rows, which is the more common storage organization. Columnstores are best suited to performing analytics on large amounts of data. They perform well on inserts if the data is ordered on a given column, but they perform poorly on updates and deletes or if the data is unordered on that column. Experienced SQL developers will understand how to run tests to determine if and when it makes sense to employ columnstores for a given use case. If your project requires data-heavy analytics, you’ll want to ensure that candidates have prior experience with this method of organization.
* This is the term used in SQL Server and MariaDB, whereas in PostgreSQL they are called “columnar tables,” and in Oracle they are known as “in-memory column stores.”
It can also be worth checking how comfortable candidates are with implementing common SQL tasks like:
Scalar-valued functions versus table-valued functions.
Change-tracking mechanisms.
Scheduled jobs.
Secure users and credentials.
Auditing.
Maintenance tasks.
Specific table types, like scoped, sharded, ILM-partitioned, nested, sparse, persisted, and graph.
Data masking.
Why do companies hire SQL Developers?
Companies typically hire SQL engineers to handle data interactions and migrations across multiple SQL engines. Even for companies without any DBMS in place, SQL developers can recommend the most appropriate DBMS and optimize database structure and code toward it. Simply hiring a backend engineer with database experience won’t suffice for these tasks; companies must hire SQL developers due to their specialized knowledge and skills.
What are the benefits of having an SQL expert on your team?
Whether your project’s infrastructure is already established or you’re strategically planning the inclusion of a new DBMS, an engineer with extensive SQL skills can help an app achieve optimal performance. They can also mentor developers to write better queries in line with best practices.
The services of SQL developers are needed across many industries, at nearly every scale of operation. The advice in this guide will help you navigate the major milestones of the hiring process, including crafting an attractive and relevant job description and conducting an effective technical interview. Ultimately, the right SQL developer can be instrumental to your project’s success.