Photo by LinkedIn Sales Solutions on Unsplash

The 4 Types of Technical Interviews for Data Engineers

Everything you need to know about technical interviews for data engineering.

Jeff Vermeire
Data Engineer Things
9 min readJul 25, 2023

--

Technical interviews are often the pitfall for many data engineers (and virtually any other tech discipline). At the same time, the style and content of a tech assessment can provide valuable insights into a company for a candidate.

I have quite a bit of experience on both sides of the (literal and figurative) table when it comes to technical interviews. There are four main types of technical interviews that companies use, sometimes using multiple in a candidate cycle. While the four styles are more or less universal for tech practitioners, I’m going to speak directly about what these look like from a Data Engineer perspective and give my take on the effectiveness of each.

The 4 main types of technical interviews, ordered by worst to best:

  1. The Timed Test
  2. The Oral Assessment
  3. The Take-Home Assignment
  4. The Live Challenge

1. The Timed Test

Photo by Nguyen Dang Hoang Nhu on Unsplash

What is a Timed Test?

The Timed Test is an online example of what we typically envision as an "exam" like the ones we took in elementary and high school. They usually involve a time-limited series of multiple-choice, true/false, and fill-in-the-blank questions around SQL, Python, and general software engineering topics. Did I mention that they’re timed? HackerRank and CoderByte are two examples of companies that proctor these exams.

Timed Tests - My impression:

I hate these. Loath might be a better word. I may be biased because I tend to perform poorly on these Timed Tests, but there are legitimate reasons for that. This format of testing is designed to assess comprehension of specific academic topics. As such, this measures a candidate’s aptitude for rote memorization. It doesn’t measure anything useful in regards to hard skills, and certainly not soft skills. The questions that tend to come up 9 times out of 10 are completely irrelevant to the actual job. Besides, in what way is the skill of test taking applicable to any job?

💡 Neurodiversity: As someone with ADHD, I find this type of testing incredibly ableist as it advantages specific neuro-types and disadvantages others. It may be possible to ask for an accommodation for more time, but that is a difficult choice for many due to the fear of bias.

What it says about a company:

This is a signal that the company doesn’t know how to effectively assess technical talent. It implies a preference for specific neuro-types. More specifically, it shows that the company values rote memorization over technical chops and soft skills. To me, this is a red flag.

2. The Oral Assessment

Photo by Christina @ wocintechchat.com on Unsplash

What is an Oral Assessment?

An Oral Assessment is similar to the Timed Test in that it is a series of questions that a candidate needs to answer successfully. The difference is that it’s not necessarily timed (although they usually need to be answered within the timeframe of the interview session) and the questions are proctored by the interviewer(s) orally.

There can be quite a bit of variation in the type of questions asked: key term definitions, explaining abstract concepts, or verbally working through a theoretical problem.

Examples of questions asked during an oral assessment:

  • What’s the difference between ETL and ELT?
  • Explain to me how you would design an Inmon schema.
  • Give me a detailed explanation of how you would architect a data platform, from end to end, and give me specific examples of the technologies you would choose, methods you would use, and how you would write the pipelines. Explain your reasons for each choice, and be very detailed.

I wish I was making that last one up. 😭

Oral Assessments - My impression:

In most cases, I consider this as equally bad as the Timed Test. Some exceptions tend to be lesser evils, but for the most part, this is 1b to the Timed Test’s 1a.

Don’t get me wrong, I’m not saying that probing someone’s knowledge with high-level, conceptual questions is bad. There’s nothing wrong with making sure that a candidate has a basic knowledge relevant to the job. Asking someone the difference between an INNER JOIN and a LEFT JOIN is perfectly acceptable. The key here is that these questions need to be things that are relatively basic and easily explained. Most of all, they shouldn’t be the central aspect of a tech assessment.

Getting into the minutia of defining terms or explaining complex, abstract concepts doesn’t indicate a candidate’s ability to apply those terms and concepts.

💡 Neurodiversity: This type of assessment favors specific neuro-types over others.

👂 I have a hard time with these because I struggle to keep auditory input in working memory (I have strategies and tools that I use to overcome this, but these tend to be looked down on in interviews).

👀 I also find it easier for me to explain a concept if I can use a visual reference like a whiteboard or jamboard.

What it says about a company:

This is a bit more dependent on an individual interviewer, but it still signals that the company values rote/academic knowledge over practical skills. At least there is some room where it could be a decent experience for a candidate. In my experience, though, these types of assessments tend to dive way too deep into the fine details. As far as soft skills, it does give some sense of a candidate’s communication ability, but that’s about it. This would sit as a red or yellow flag for me, depending on an interviewer’s expectations for detail.

3. The Take-Home Assignment

Photo by Artturi Jalli on Unsplash

What is a Take-Home Assignment?

The Take-Home Assignment is when a candidate is given a specific coding problem or set of problems to solve on their own time. They can range from writing a series of Python methods and a couple of SQL queries to coding out an entire application (e.g. a web scraper or an ingestion/ETL pipeline). Take-homes can vary in time commitment and complexity. The assignment is generally due within 1–5 days and is usually discussed at a follow-up interview (i.e. a debrief or post-mortem).

Take-Home Assignment - My impression:

Contrary to some, I actually don’t mind these and sometimes even enjoy them. It’s fun to engage in a novel problem and find a unique solution.

⚠️ Caveat — Don’t do free labor!
I will add a huge caveat, though. If you’re asked to write a full-fledged application that takes more than 2–3 hours to complete, tread very lightly.

Some companies will use this type of assessment as free labor (I’ve fallen victim to it). You’ll know if you turn in the assignment and never hear back.

Overall, I find a take-home a much more accurate representation of a candidate’s skills. It’s a close approximation to real life. It allows a candidate to use any resources at their disposal and measures technical prowess as well as problem-solving and work ethic. The trick is to not overthink it and just get it done.

From an interviewer’s perspective, make sure your take-home relates to regular challenges within your stack, keep it simple, and pick 3 or 4 techniques to focus on.

💡 Neurodiversity: This type of assessment is accessible because it allows a candidate to work on a problem at their own pace. 🎉

What it says about a company:

I think that a reasonable take-home is a good sign that the company values skills over rote knowledge. An excessively lengthy or overly complex assignment could be a red flag, so watch out for that. All in all, this type of assessment is a fair approximation to real life, can be a lot of fun, and, with rare exceptions, is generally a green flag in my book.

4. The Live Challenge

Photo by Austin Distel on Unsplash

What is a Live Challenge?

The Live Challenge is a bit of a blend between the Oral Assessment and the Take-Home Assignment. It involves completing one or more coding challenges, typically in SQL and/or Python, while on a live Zoom call with one or more interviewers. Typically, all resources are available to the candidate as the Live Challenge is heavily slanted in favor of soft skills. Interviewees are encouraged to look up API docs, verbalize their thought process, and ask questions.

It’s meant to be a highly interactive process of solving a code-based problem. Leetcode is probably the best example of this, but there are other ways to deliver the challenge (I’ve even done them in Google Docs).

Live Challenge - My impression:

I love these and use Live Challenges exclusively when proctoring tech assessments. As an interviewer, I’m not looking at what answer the candidate comes up with, but rather how the candidate arrives at that answer.

As an interviewer, I’m not looking at what answer the candidate comes up with, but rather how the candidate arrives at that answer.

I’ve promoted candidates that got the wrong answer and passed on others that got the right answer. Instead of a right/wrong answer, I look for: communication, problem-solving, critical thinking, teamwork, and adaptability.

It generally takes me about 5 minutes or less to know if someone has the appropriate technical skills. What I’m more concerned with is if they can learn new ones, apply them, and communicate those skills. Is the candidate able to take direction and adapt? It’s a much more nuanced approach and takes some practice, but it’s well worth the effort. For a candidate, the key is to never stop talking. If a thought or question pops into your head, verbalize it. Even if you’re asking the question to yourself. While this may be intimidating for some, effectively communicating thoughts is an important skill and there are some strategies to help push through these apprehensions. A good way to get your mouth moving is to read the prompt out loud. Alternatively, a candidate can type out questions and notes, then possibly read them if that makes them more comfortable. Just find a way to convey your thoughts. Trust me, it’s incredibly boring for an interviewer to sit through one of these in 30 minutes of silence. At the same time, it’s just as important for interviewers to be empathetic and accommodating to different communication styles.

💡 Neurodiversity: This type of assessment is an opportunity to showcase strengths. Personally, I use this type of assessment to highlight my ADHD super powers: creativity, critical thinking, problem solving, and impulsivity (verbalizing what’s in my head). Because it provides multiple options for communicating ideas, candidates can choose a method that suits them best.

What it says about a company:

This company values soft skills most and hard skills secondarily. It’s a strong signal that they are looking for candidates that aren’t just versed in the current stacks, but those that continuously adapt and constantly pick up new skills. The Live Challenge is a green flag and a good sign that the company places value in people (or at least the hiring team does).

Recap

Whether you’re a candidate facing a tech assessment, or the one administering it, it’s important to consider the style that is used. Passing the assessment off to a third party, or getting hung up in the minutiae of academic concepts could be a major red flag. Alternatively, stressing hard or soft skills signals a preference for capability over rote knowledge. Remember that an interview process works both ways. A candidate is interviewing the company equally as much as the inverse is true. Choosing an appropriate tech assessment goes a long way to building that relationship.

--

--

Data Engineer, Critical Thinker, Creative Problem Solver - Unconventional Background