SQL的存在时间比其他替代品要长得多,再加上它是 7th most popular 到2024年2月,编程语言在TIOBE索引上的排名,毫无疑问,它将继续留在这里. 相关职位的需求, like data architects, 数据库管理员, data analysts, and data scientists, 是相关的,因为它们都利用SQL.
Toptal的招聘流程有多快?
Typically, you can hire an SQL developer 妥达尔将在48小时内. 我们的人才匹配者是他们所匹配的领域的专家,他们不是招聘人员或人力资源代表. 他们会和你一起理解你的目标, technical needs, and team dynamics, 并从我们经过审查的全球人才网络中为您匹配理想的候选人.
数据库管理员和架构师的市场是 expected to grow 8% 从2022年到2032年,这比所有职业3%的平均增长率都要快. And, under this umbrella, SQL(关系)数据库的胜利:没有迹象表明SQL数据库会失败 他们在数据中心的主导地位 到近年来出现并成熟的NoSQL(文档)数据库.
In Stack Overflow’s 2023 Developer Survey, SQL was the 第三大常用语言 由专业开发人员使用,甚至比Python、Java和c#更受欢迎. 尽管SQL的流行可能会让您相信,对于给定的角色,合格的候选人数量会过多, 实际情况并非如此简单:在寻找具有特定项目所需技术技能的SQL开发人员时,仍然存在显著的细微差别.
基于SQL的技术有很多共同点,所有SQL开发人员都需要一定的技能才能成功. However, 给定的SQL引擎(如PostgreSQL或MySQL)有许多特定的方面。, 角色(管理员或架构师), 或者优化场景(数据集市), data lakes, or data warehouses). 本招聘指南详细介绍了这些专业中最受欢迎的专业,以便您可以明确您的项目需求, 制作有效的职位描述, 并根据招聘过程选择合适的面试问题.
如果您的项目只有一个DBMS, 那么你的路径很简单:搜索那些懂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,以及其他特定于引擎的特性和怪癖. 但是,如果出现以下情况,你可能需要一个以上方面的专家:
您的目标是优化与多个dbms交互的软件.
您希望从一个DBMS迁移到另一个DBMS.
您将根据特性比较来决定使用哪个DBMS.
In such cases, 你需要一位了解相关异同的专家, 如何将数据从一个迁移到另一个, and most importantly, 如何让它们发挥出最大的性能. SQL工程师可能专门研究一个DBMS而不是其他DBMS, 但在这里,即使是一年的其他相关引擎经验也足够了.
In particular, 在评估SQL开发人员的经验时,请考虑以下细节如何与您的项目细节相一致:
Database systems - Oracle数据库,MySQL, PostgreSQL, Microsoft SQL Server等. 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 是MySQL的直接替代品吗, 因此,使用MariaDB的经验可以与使用MySQL的经验相提并论.
Database versions – Version 5.7 to 8.1 for MySQL, 11.21 to 15.11 . PostgreSQL: 2014年到2022年.2 to 23.2 for Oracle, etc.
与其他技术的集成 -应用程序的编程语言(Java, c#等.)、现有的基础设施(DNS、存储等).), operating systems (Linux, Windows, etc.), on-premise or cloud servers (Azure, AWS, GCP, OCI, etc.),现有的第三方应用程序等.
如果对列出的每一项技术都要求技能,那就太极端了, 尤其是最后三点. 然而,对于涉及集成的项目,了解相关技术的列表是很有用的. In such projects, 在选择SQL开发人员时,所涉及的特定技术的经验将是最重要的因素之一.
如何为您的项目编写SQL开发人员职位描述
SQL开发人员角色通常在营销时带有特定的DBMS. 使用或不使用该方法,您还可以针对特定的子角色,例如.g., 数据库集群顾问, 数据库集成工程师, 数据库迁移工程师, and/or data architects. 使角色描述更具体的另一种方法是指出要求开发人员充当数据库管理员的程度,而不是与数据库管理员协作的程度.
准备一份吸引最优秀求职者的职位描述的最有效方法是 使用SQL开发人员职位描述模板-或者更好的是,一个特定于 MySQL or SQL Server, if applicable. 如果您的团队已经有精通SQL的工程师, 请他们检查描述,以确保其符合您的项目需求. 您的描述中最重要的一点应该包括项目需要哪种SQL引擎, 申请人需要知道如何使用任何计划的集成或专门的工具, 以及项目和角色的总体目标.
SQL触发器是一段代码,它在响应数据库中某个表上发生的事件时自动运行, such as inserting, updating, or deleting a row. 这是SQL开发人员工具包中的一个基本工具, 但在雇用他们时,需要考虑一些权衡, in documenting, debugging, and maintaining them. 这个问题是衡量候选人经验深度的好方法——如果他们说他们严格支持或反对触发,就把它当作一个黄旗, 而不是权衡利弊.
您使用什么将表从一个DBMS复制到另一个DBMS?
因为dbms组织数据的方式不同, 它很少是直截了当的, 将企业数据大规模地从一个系统迁移到另一个系统的一对一流程. That said, SQL开发人员可以使用几个选项, 从现成的迁移服务到ETL工具,再到为手头的项目量身定制的完全定制的SQL脚本. 最有经验的候选人将具有以上所有经验. Ideally, 你应该知道你的项目可能需要什么,并可以要求候选人深入了解他们使用这些特定工具的经验.
在创建新数据库时要考虑什么?
Here, 候选人有机会展示他们对需要根据数据的目的激活的特性的知识. For example, SQL Server Filestream需要在操作系统级别开启,数据库才能存储文档, 在能够创建分析数据库之前,需要安装Oracle在线分析处理(OLAP)特性, 需要使用容器或可插拔数据库来保持企业之间的分离.
公司通常雇用SQL工程师来处理跨多个SQL引擎的数据交互和迁移. 即使对于没有任何DBMS的公司也是如此, SQL开发人员可以推荐最合适的DBMS,并针对它优化数据库结构和代码. 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.