Skip to content
NLEN
Illustration: Selection Process for AI Roles: from Resume to Assessment

The Selection Process for AI Roles as One Continuous Journey

By Ivo Donker — compiled with AI assistance (Claude & Gemini) · August 18, 2026

In practice, the hiring of AI Engineers, Machine Learning Specialists, and Data Scientists rarely happens through separate, disconnected steps. Those applying for a technical position in the AI domain quickly discover that sending in a resume, having an exploratory conversation, and doing a live assessment are all part of one overarching chain. Throughout the entire cycle, companies test the same core competencies: problem-solving ability, mastery of data architecture, realism about model limitations, and the skill to justify technical choices. This article focuses primarily on candidates preparing for a selection process for AI positions, but also offers insight for hiring teams looking for consistency in their evaluation criteria.

The anatomy of the hiring chain

The selection process traditionally consists of four to five successive phases: the initial resume and portfolio screening, the exploratory conversation (often with a recruiter or engineering manager), the in-depth technical interview, the technical assessment, and the final culture and contract phase. When we approach these steps as separate islands, we risk stories not lining up with each other, or claims on the resume not being backed up during the assessment.

The information put down on paper in phase one serves as direct input for the questions in phase two and the case selection in phase four. If a candidate states on their resume that they're skilled at reducing inference latency, they can count on interviewers probing further during the technical conversation about specific optimization techniques such as quantization, batching, or kernel fusion. Good preparation therefore starts with the very first written statement. For those looking for a structured overview of the initial phase, the guide on applying for an AI position concrete guidance for successfully getting through the initial screening.

Phase Employer's goal Candidate's focus point Typical failure factor
1. Screening & Portfolio Filtering for measurable impact and relevant tech stack Concretizing contributions and measurable results Generic buzzwords without an underlying codebase
2. Exploratory interview Testing communication and career motives Clearly articulating your own technical profile No clear delineation of your own share in projects
3. Technical deep-dive interview Verifying in-depth expertise and conceptual insight Substantiating architecture and model choices Getting stuck in theory without operational context
4. Practical assessment Observing work approach, code quality, and debugging skills Clean coding, testing, and handling model noise Over-engineering or ignoring evaluation metrics
5. Closing & Match Examining team fit and expectations Asking questions about infrastructure, budget, and culture Passive attitude toward the work environment

Phase 1: The resume and portfolio as the foundation

The resume and portfolio form the starting point of the journey. Instead of an exhaustive list of libraries and algorithms, technical evaluators expect evidence of systems that have actually been built and run. Training a model in an isolated Jupyter notebook is now the bare minimum; demonstrating that a pipeline functions stably under fluctuating data input makes the difference.

During this selection step, a reviewer looks at the complexity of the projects completed. Has thought been given to data ingestion, error handling, rate limits, and evaluation frameworks? Those who show projects in which edge cases have explicitly been accounted for create a reliable impression. To understand how to best shape tangible projects, it's worth reading about building a strong AI portfolio, where the emphasis is on code quality and traceability over superficial demonstrations.

Phase 2: The exploratory interview and the technical intake

Once the resume has been selected, a conversation of thirty to forty-five minutes usually follows. Although this conversation often looks informal, the hiring team is testing here whether the candidate is able to explain complex material in an understandable way to stakeholders with different levels of expertise. After all, an AI Engineer has to switch regularly between product managers, data engineers, and management.

During this conversation, candidates are challenged to break down their previous projects. Why was a specific embedding model chosen? What were the operational costs per thousand calls? Where did the system get stuck as data volume increased? Those who answer these questions with vague catch-all terms quickly lose ground. To gain insight into the questions recruiters and leads regularly use, the overview of interview questions for AI positions valuable examples for sharpening your answers.

Phase 3: The technical deep-dive interview

In the technical deep-dive interview, the emphasis shifts from general experience to fundamental principles and system design. Here it's assessed whether a candidate understands what happens under the hood of modern architectures. Topics discussed include transformer models, attention mechanisms, quantization methods, vector databases, and retrieval strategies.

A common component is designing an AI system on a digital whiteboard. The assignment might read, for example: "Design a scalable customer service assistant that searches documentation, takes user permissions into account, and delivers a first streaming response within 400 milliseconds."

During this exercise, it's not just the final diagram that counts, but especially the trade-offs made during the design process:

Phase 4: The technical assessment and the evaluation culture

The technical assessment is the true test. Employers typically opt for a take-home assignment or a live pair-programming session of two to three hours. The assignment often simulates a real task within the team, such as building a RAG pipeline, fine-tuning a classification model, or optimizing a data-loading process.

What many candidates underestimate is that a working solution is only the starting point. Evaluators look critically at how the code is structured, whether unit tests are present, how configurations are managed, and how the system handles unexpected input. Those who want to thoroughly prepare for the typical pitfalls during coding tests can consult the guide on preparing for a technical assessment for direct insight into what examiners expect.

An essential element in modern assessments is the evaluation layer. A model that appears to respond well to ten manual prompts is vulnerable in production. Companies test whether candidates can set up automated evaluation metrics to prevent regressions. To see which quantitative methods and benchmarks are common when systematically measuring AI behavior, the reference guide on how to evaluate an AI agent how task success and intermediate steps are tested in a structured way.

The common thread: consistency from claim to code

The biggest danger in a selection process is a break in consistency. When a candidate writes in their cover letter that latency optimization is their specialty, then hesitates about caching mechanisms during the deep-dive interview, and delivers a blocking synchronous loop in the assessment, doubt arises among the evaluators. The selection process should therefore be seen as one continuous argument.

The pseudocode below illustrates what a robust evaluation structure looks like in an assessment. Instead of relying on a single generic model call, this setup explicitly shows how validation, token monitoring, and structured error handling are built in.

import time
from typing import Dict, Any, Optional

class ResilientAIService:
  def __init__(self, client: Any, model_name: str, max_retries: int = 3):
    self.client = client
    self.model_name = model_name
    self.max_retries = max_retries

  def generate_with_fallback(self, prompt: str, schema: Dict[str, Any]) -> Optional[Dict[str, Any]]:
    payload = {
      "model": self.model_name,
      "messages": [{"role": "user", "content": prompt}],
      "response_format": {"type": "json_object"},
      "temperature": 0.1
    }
    
    for attempt in range(1, self.max_retries + 1):
      try:
        start_time = time.perf_counter()
        response = self.client.chat.completions.create(**payload)
        latency = time.perf_counter() - start_time
        
        content = response.choices[0].message.content
        parsed = self._validate_schema(content, schema)
        
        # Log latency en tokenverbruik voor reproduceerbaarheid
        self._record_metrics(latency, response.usage.total_tokens)
        return parsed
      except Exception as err:
        if attempt == self.max_retries:
          raise RuntimeError(f"Faal na {attempt} pogingen: {str(err)}")
        time.sleep(2 ** attempt)
    return None

  def _validate_schema(self, raw_json: str, schema: Dict[str, Any]) -> Dict[str, Any]:
    # Placeholder voor robuuste parsering zoals Pydantic validatie
    import json
    return json.loads(raw_json)

  def _record_metrics(self, latency: float, tokens: int) -> None:
    pass

The candidate's role as a critical evaluator

An application procedure is not a one-way street. While the company is investigating whether the candidate has the right skills, the candidate should be assessing whether the organization has a mature AI vision. Many companies are still in an exploratory phase in which use cases haven't been clearly defined or where the necessary data infrastructure is lacking.

During the final rounds of conversation, it's wise to ask targeted questions about day-to-day practice:

The answers to these questions often reveal whether a team already works in a structured way with continuous integration and evaluation, or whether they're still struggling with uncontrolled notebooks that are manually transferred to servers.

Common mistakes per process step

In practice, candidates often fall short due to avoidable stumbling blocks that can easily be corrected when you see the whole process:

1. Fixating blindly on model size

Many applicants try to impress with the heaviest models, while employers are actually looking for cost-efficient and scalable solutions. Those who can demonstrate that a task can be reliably solved with a smaller, quantized model or a well-designed search system show more professional maturity than someone who blindly calls an external top-tier model for every problem.

2. The absence of error handling

During live-coding sessions, candidates regularly write 'happy path' code. In the AI domain, however, input is inherently unpredictable: APIs hiccup, embeddings drift, and models can refuse to return structured JSON. Code that accounts for these uncertainties and includes fallbacks scores considerably higher.

3. Ambiguity about your own role

When a candidate talks about a previous team project, it must be clear what the individual contribution was. Phrases like "we built a RAG system back then" immediately raise the question with technical interviewers of who designed the architecture and who merely wrote the prompts. Be precise in your explanation: state exactly which modules were developed by whom.

Conclusion and checklist for the complete journey

Those who approach the selection process as one coherent system considerably increase their chances of a successful outcome. By formulating clear claims from the very first resume contact, explaining them convincingly in conversations, and backing them up with tested code in the assessment, a robust and reliable profile emerges.

Before you enter the next process, it's useful to run through the checkpoints below: