Become an AI engineer

A self-paced course for developers who already build software. Learn to build AI applications people can rely on, from the first model call to production.

Start with a free lesson. No account or card needed.

Build one AI application, from first model call to production

The course has ten Parts and 60 units, with a project at the end of every Part. The whole way through, you build one application: an AI assistant for a fictional appliance-repair business.

See all 60 units
  1. Working with LLMs

    Build LLM features that handle bad output, timeouts and cost.

  2. Choosing models with evidence

    Compare models on your own tests, and keep working when a provider goes down.

  3. Embeddings and vector databases

    Search by meaning, so "a payment that went through twice" finds "duplicate transaction".

  4. Retrieval-augmented generation (RAG)

    Answer from a company's own documents and show where each answer came from.

  5. AI agents, workflows and MCP

    Let your application act on a user's behalf without losing control.

  6. Security, privacy and responsible AI

    Protect your users and their data, and test that the protections hold.

  7. Evaluation and observability

    See inside your AI system and tell whether a change made it better.

  8. Deploying and operating AI apps

    Deploy, monitor and hand over an application another engineer can run.

  9. Fine-tuning and inference

    Find out when fine-tuning is worth it, then run the experiment.

  10. Multimodal AI and AI-assisted development

    Handle photos, scans and voice, and use AI coding tools with good judgment.

Learn to handle what goes wrong in production

Every Part starts from a problem like these.

  • Part 2 · Choosing models

    Your main model goes down in the middle of a busy day.

    Switch to a suitable backup or stop safely, and know which model answered each request.

  • Part 4 · RAG

    A customer asks about your refund policy. The assistant answers confidently, using a policy that was replaced last month.

    Answer only from current documents the user is allowed to see, and say so when they don't hold the answer.

  • Part 5 · Agents

    Your assistant prepares an action, then the server restarts before the approval arrives.

    Build workflows that pick up where they stopped, so an action never runs twice or before it's approved.

  • Part 6 · Security

    A document your assistant reads hides instructions aimed at the model.

    Attack your own application the way an attacker would, and build defenses that hold even when the model is fooled.

  • Part 7 · Observability

    A client says the assistant has started giving worse answers. Where would you look first?

    Trace every request and measure every change, so you can find the cause and prove the fix.

  • Part 10 · AI-assisted development

    You prompt your way to a working prototype. Now it needs tests, secure data handling and someone who can maintain it.

    Turn rough AI-written code into software you can test, secure and maintain, and know when to start over.

Try a full lesson before you pay

Lesson 1 is free, with no sign-up. You learn how AI usage is counted and priced, then write a Python tool that reports usage and cost.

Read Lesson 1 free

Unit 1.1 · Lesson 1

Tokenization and input/output accounting

What you learn

  • Why a word count is not a token measurement
  • What an API counts beyond the message you can see
  • How to read usage records without counting anything twice
  • Why a missing usage record is never zero
  • How to turn token counts into a cost estimate

Your assignment: a Python tool that turns raw usage records into a cost report.

token_cost.py
from decimal import Decimal

MILLION = Decimal("1000000")


def estimate_cost(input_tokens, output_tokens, input_rate, output_rate):
    for count in (input_tokens, output_tokens):
        if type(count) is not int or count < 0:
            raise ValueError("Token counts must be non-negative integers")

    for rate in (input_rate, output_rate):
        if not isinstance(rate, Decimal) or not rate.is_finite() or rate < 0:
            raise ValueError("Rates must be non-negative Decimal values")

    return (
        Decimal(input_tokens) * input_rate
        + Decimal(output_tokens) * output_rate
    ) / MILLION


input_rate = Decimal("0.50")
output_rate = Decimal("2.00")

request_cost = estimate_cost(1200, 150, input_rate, output_rate)
print(f"One request: ${request_cost:.4f}")
print(f"10,000 similar requests: ${request_cost * 10000:.2f}")

Output

One request: $0.0009
10,000 similar requests: $9.00

AI engineering is one of the best-paid paths in software

AI and machine learning engineers are among the highest-paid developers in the US, ahead of back-end, front-end and full-stack developers.

Median yearly pay in the US, by role, 2025
AI/ML engineer
$189,500
Back-end developer
$175,000
Front-end developer
$145,000
Full-stack developer
$138,000

Source: Stack Overflow 2025 Developer Survey, 5,239 US responses. Pay is self-reported and includes bonuses.

Demand keeps growing

  • #1

    AI engineer tops LinkedIn's 2026 list of the fastest-growing US jobs, based on jobs members started from January 2023 to July 2025.

  • 10%

    Projected growth in US software developer jobs from 2025 to 2035, according to the US Bureau of Labor Statistics.

  • 106,100

    Projected openings a year across US software developers, quality assurance analysts and testers, from the same source.

These are US figures from the sources named. Pay varies by country, experience and employer, and we do not promise a job or salary.

What you'll be able to do at work

Skills for every stage of an AI feature, from the first estimate to the final release.

See the curriculum

Decide

  • Estimate what a feature will cost before it ships
  • Choose the right model, and explain why
  • Know when fine-tuning is worth it

Build

  • Search documents and back answers with sources
  • Create agents that stay within clear limits
  • Handle images and other non-text input

Ship

  • Keep features working when the model misbehaves
  • Prove a change helped, with test results
  • Secure, trace and deploy your application

Is this course for you?

It's self-paced, so you can start any time and learn on your own schedule.

A good fit

  • You already build software
  • You're comfortable with APIs, Git, databases, testing, authentication and basic web applications
  • You want to build AI features at work, or move into AI engineering

Not a fit

  • You're new to programming
  • You want to train large models from scratch
  • You want to do model research

One simple payment

One payment covers the whole course. There's no subscription and nothing to renew.

Start with a free lesson

Read Lesson 1 without signing up. When you're ready for the full course, get early access.