dbt
Blog How to hire analytics engineers

How to hire analytics engineers

Apr 16, 2024

Learn

Modern data warehouses have upended the way that data teams function. Data warehouse management has entered the realm of analysts, not just database administrators or data engineers. Modern data warehouses like Snowflake, Redshift, and BigQuery have upended the way that data teams function. Data storage has become cheap and fast; data transformation is now done in-warehouse (ELT vs. ETL).

These trends are impacting the way that data teams are staffed and organized to bridge the gap between data engineers and data analysts. Many companies still call these people data analysts, but we’ve started to call them “analytics engineers.”

Here’s why and how you can hire one too.

What is an analytics engineer?

An analytics engineer is a technical analyst who applies software engineering best practices to the production and maintenance of analytics code. The analytics engineering workflow cleans and transforms raw data into consumable information and business logic. In the process, the analytics engineering workflow tests data to ensure it is of high quality, documents all business logic and ensures data models are running reliably in a production environment.

Analytics engineer vs. data analyst

In contrast, a data analyst leverages these prepared datasets to generate insights, create visualizations, and drive decision-making by interpreting trends and patterns.

Where these roles differ most is in their technical responsibilities and tools: analytics engineers primarily work with coding languages like SQL and Python to design data models, while data analysts often use BI tools and dashboards to deliver actionable insights.

Additionally, analytics engineers ensure the infrastructure supports scalability and data quality, whereas data analysts concentrate on storytelling and communicating results to stakeholders.

Why are companies hiring analytics engineers?

In short: analytics engineers can improve teams, data, and infrastructure.

Increase productivity of the data team

It’s still common for data engineers to own 100% of the ETL process in an organization, although this is often a legacy organizational structure from the time when data warehouses weren’t fast enough to allow for data transformation to be done in-warehouse. If you’re using a modern data warehouse, this approach is no longer best practice. For modern data teams, the ideal setup is for analysts, who have a much better understanding of the business logic that goes into data transformation, to own most or all of the transformation process.

An analytics engineer can be that seamless bridge that connects data analysis to data engineering. This role is often the difference between analysts being empowered to turn their work around in real time vs. needing to wait in the queue to get data engineering support. It is not uncommon for that difference to result in a 10x in the velocity of the analytical process.

quotes from data leaders about the need for analytics engineers

Improve data quality

Data quality can erode in a few places during the transformation process as an organization matures. Without a tight process, this code can often become full of copy-paste, tables that are no longer used still stick around and create confusion, errors creep in without anyone realizing it, and performance can degrade. All of these issues are simply a byproduct of entropy—the natural state of the world is to degrade towards disorder—and they’ll slow down your team’s productivity significantly.

When data engineers own data transformation, quality erodes because they often don’t quite have the depth of understanding of the business needs that data analysts have. Things get lost in translation, and data engineers aren’t actually able to identify what constitutes an “error state” in the data.

The analytics engineer improves data quality by bringing a deep understanding of what the business needs into the transformation process, but also by bringing the rigor of software engineering to analytics code.

Implement specific technology

In some cases, the need for an analytics engineer comes from the fact that organizations are invested in specific tools and workflows. dbt is a tool that is designed to allow analysts to own the entire analytics engineering workflow. Once companies adopt dbt, they start hiring to match that need.

How do you interview for analytics engineering potential?

It’s unlikely that you’re going to find someone who has “analytics engineer” on their resume. Jillian Corkin, Principal Data Analyst at HubSpot advises that hiring managers “focus on the skills you need + the aptitude and interest for learning them. There’s a lot of noise in the field and it’s not reliable to look at titles. Also, I suspect there’s a lot of untapped talent who may not even be thinking about analytics as a career in systems analyst-type roles.”

In other words, if you’re hiring for this role, you’ll likely be hiring for potential vs. experience. The people we spoke with pointed to some common indicators of analytics engineering potential.

They have a natural affinity for structure

Engineers are structured thinkers, and while data analysts haven’t always been taught that same kind of structure, you can often spot a natural affinity for the engineering mindset.

Some more interview questions hiring teams use to evaluate this quality include:

  • What are the advantages of a columnar data store? And what are the disadvantages?
  • Walk me through the data stacks you’ve worked with.
  • You receive feedback that a source of data has been reporting incorrect data for a couple of weeks and that it has been sent out to multiple clients and used for internal analyses in the company. How would you go about identifying the root cause of the problem and how would you communicate your findings to all relevant stakeholders?
  • What data integrity/governance challenges have you encountered and how did you deal with them?

Discuss a time you’ve had someone question your analytic work. How did you explain your process and reasoning?

They are always learning

If you’re hiring for this role, you’re very likely going to be doing some amount of training. Celina Wong from Simon Data, advises that “The novice with potential is a better investment than the expert with arrogance.” Because when you’re hiring for a fundamentally new role, it’s unlikely you’ll find someone who is an expert in every aspect of the work. You’re better off looking for someone who loves learning and has the potential to grow.

This approach to hiring isn’t all that different from how organizations approach hiring software engineers. Every engineering team has its preferred languages and tooling, but being an expert in those exact languages and tools is rarely a requirement.

Some interview questions hiring teams use to evaluate this quality include:

  • What resources (blogs, books, newsletters, etc.) do you follow to keep up with data?
  • If you had built the data team and technology stack at your current organization on day one, what would you have done differently?
  • When was the last time you learned something new at work just because you were curious about it? What inspired you to take that on?
  • What is the most difficult data analysis problem that you have solved to date and how did you do it?
  • Tell me a time when you were caught off guard (eg. fire drill project). What was it and how did you handle it?
  • Tell me about a project you screwed up and the consequences for the different stakeholders involved. What do you do differently now as a result, and how does that impact each of those stakeholders?

They care about writing damn good SQL

Analytics engineers aren’t afraid of messy data because they can solve it with good SQL. They write SQL in a way that is highly-performant, easy to troubleshoot, and DRY. They’ll likely write better SQL than either your data analysts or your data engineers.

The most popular way to test for technical skills is with a technical test. Tests reveal a lot not just how much SQL a candidate knows, but also open up the opportunity for the hiring team to understand how that candidate thinks about writing analytics code with questions like:

  • Can you walk me through your thought process here?
  • What led you to define the problem this way?

GitLab asks candidates to rate their SQL skills from 1-5 and then explain why they gave themselves that rating. Bonus points when candidates mention window functions, CTEs, and macros!

How to write job descriptions for analytics engineers

Hiring, like sales and marketing, is all about the funnel; you are selling candidates on the opportunity of joining your team.

Very strong job descriptions are a crucial first step. I recommend job descriptions have five parts:

  • Background on the role;
  • Requirements;
  • Responsibilities;
  • Hiring process; and
  • A 30/60/90 day plan (How You’ll Ramp).

Many job descriptions don’t have these things, but candidates really appreciate them.

For data roles, it’s a job seeker’s market. Investing in thorough job descriptions will help you stand out from the crowd and help ensure a strong candidate pipeline.

Overview and background

Give the candidate an opportunity to understand the company, your goals for this role, and how they will fit into the team.

What does the team already have and what is the need that you are filling? Is this someone who’s going to focus on a specific domain or subject area? Let them know up front.

This is also a great time to paint a picture of your stack and sell the candidate on your business.

Requirements

What are the hard requirements for your role? (Hint: a college degree shouldn’t be one.) Do you need someone with experience with certain technologies or frameworks? Your requirements list should be as specific as needed but should not be a laundry list.

For example, if you use Airflow, you don’t need to have Airflow experience as a requirement, but you might decide that orchestrator experience needs to be, so a candidate who has used Luigi, Prefect, or Dagster is also one you’d consider. If that’s the case, call out “Experience with data orchestration tools” instead of “Experience with Airflow.”

Try to keep your list of requirements to 5 to 10 bullet points. Fewer actual requirements are better than a lot of fungible requirements. If you have additional “Nice to Haves,” make that a separate list. Women are less likely to apply for jobs if they feel they don’t meet all of the requirements. Help ensure a strong, diverse pipeline by keeping your list of requirements to only requirements.

Responsibilities

What are the things that a candidate will actually do if they move into this role? Try to be as specific as possible. This is your opportunity to paint a picture for a candidate.

I always mention in interviews that we are looking for “floor sweepers” — people who are not afraid to pick up a broom and sweep a pile of dust on the floor if it’s in front of them, even though it’s not in their job description.

A list of responsibilities is not a list of all the things you will be doing, but this is your opportunity to present what an exciting role this will be.

Hiring process

You should tell candidates upfront exactly what the steps in the interview process are. Let me emphasize: You should tell candidates upfront exactly what the steps in the interview process are. Nobody likes to be in the dark.

Tell candidates exactly how many calls they need to do, how long they will be, and who they will be with.

Is there a technical assessment? Include that information too. If you cannot write this before posting a role, you have not spent enough time thinking through your hiring process.

How you'll ramp (30/60/90)

Starting a new job is nerve-wracking. Laying out a 90-day plan on how candidates will ramp into a role helps establish standards for performance. It affirms to the candidate that you have thought about what success looks like and helps set their expectations.

As in data projects, the time to set clear measures of success is before you invest time and energy, not after. Hiring is no joke and is not a small amount of effort, but investing in the process up front is something that will pay long-term dividends.

Analytics engineer vs. data analyst job descriptions

The key distinction lies in the scope of work and technical focus: analytics engineers bridge software engineering and data management by transforming raw data into usable formats, often using tools like SQL and dbt. Data analysts, however, prioritize interpreting this data to identify trends and patterns, focusing on storytelling and decision-making support rather than engineering the data itself.

Example of analytics engineer job description

Job Overview

Included in all roles. This is specific to your company, your team, and your needs. This is your opportunity to sell yourself to the candidate.

Requirements

  • Clear and direct communication skills about complex, technical topics
  • Understanding of SaaS metrics
  • Track record of working autonomously with organizational and time management skills

Responsibilities

  • Utilize SQL + Git to build new analyses and support existing ones
  • Communicate findings to a wide range of stakeholders
  • Help drive a change in the usage of data through the active surfacing of insights to stakeholders

Hiring Process

  1. Hiring Manager Resume Review
  2. Recruiter Screen (1 hr)
  3. Hiring Manager Interview (1 hr)
  4. Technical Assessment (done on own time, asked to limit to 2 hours) + 30 min Technical Review with peer, scheduled upon submission
  5. Peer Interview (1 hr)
  6. Cross-functional interview, if supporting specific function
  7. Executive Interview (30 mins to 1 hr)

How you’ll ramp

  • 30 days: Working in our business intelligence tool, producing analyses on already modeled data
  • 60 days: Helping lead metrics alignment conversations across stakeholders
  • 90 days: Producing proactive insights for the business

Example of data analyst job description

Job Overview

Included in all roles. This is specific to your company, your team, and your needs. This is your opportunity to sell yourself to the candidate.

Requirements

  • Comfortable working with Git and the command line
  • Track record with Python/R and SQL to drive business insights
  • Clear and direct communication skills about complex, technical topics

Responsibilities

  • Expand our data warehouse with clean data ready for analysis
  • Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale data infrastructure

Hiring Process

  1. Hiring Manager Resume Review
  2. Recruiter Screen (1 hr)
  3. Hiring Manager Interview (1 hr)
  4. Technical Assessment (done on own time, asked to limit to 4 hours) + 1 min Technical Review with peer, scheduled upon submission
  5. Peer Interview (1 hr)
  6. Cross-functional interview, if supporting specific function
  7. Executive Interview (30 mins to 1 hr)

How you’ll ramp

  • 30 days: Comfortable working with dbt and our data stack from the command line
  • 60 days: In the on-call rotation without named support
  • 90 days: Gathering requirements and scope on projects with little support from more senior members of the team

Where to find potential analytics engineer candidates

Seventeen people shared their expertise with us for this article, and while there are some notable trends even among this small group — the traditional job boards work but communities and meetups are quite popular too — there are less popular ideas with a whole lot of potential — like participating in internship programs. When you’re hiring for a still emerging role, spending 3-6 months showing a group of interns the ropes can be a great way to spot the one or two who have a particular aptitude for analytics engineering.

If you currently have an open role, there are 12000+ people in the dbt Slack #jobs channel. Join the community, share your role, or just pop in there and get inspired by job descriptions from companies that are currently hiring.

One word of caution from John Lynch, “Hire one sooner than you think! Analytics engineers are a great way to get data engineers and data analysts/scientists working together more closely.” We couldn’t agree more.

How dbt can help

Hiring analytics engineers is a critical step in building a scalable, high-performing data team, and signing up for dbt Cloud is a great first step to learning why they're invaluable.

Experience how dbt Cloud empowers analytics engineers with a collaborative environment for developing, testing, and deploying analytics code.

Get a free 14-day trial for your team today.

Last modified on: Feb 11, 2025

dbt Developer Day

Join us on March 19th to hear from dbt Labs product leads about exciting new and coming-soon features designed to supercharge data developer workflows.

Set your organization up for success. Read the business case guide to accelerate time to value with dbt Cloud.

Read now

Recent Posts