Kalqore
All posts

AI for engineers

The AI roadmap for coders

From writing software to building software that can think, reason and act: LLM basics, RAG, tools, evaluation and agents, with four projects and a 90-day plan.

12 min readBy @thebrokenapp (opens in a new tab)

If you already write software, you are further along than you think. You understand programming, APIs, databases, systems, debugging and architecture. None of that gets thrown away.

What you need is one new layer on top of it: building software that can interpret, decide and act, and that you can still trust in production. Call it AI-native engineering.

This is the order I’d learn it in, what to build at each step, and the mistake I see developers make most.

Start here

What has actually changed

You are building a reliable system around an unreliable component.

Traditional software is largely deterministic:

Before
Input → Code → Output

An AI application adds a probabilistic step in the middle:

Now
Input → Model → Probabilistic output Input → Model → Tools → Data → Reasoning → Action

Your job is not to call an LLM. Anyone can do that in ten lines. Your job is to decide what the model is trusted with, what it is given, what checks its output passes through, and what happens when it is wrong. That is architecture, and it is why engineers have the advantage.

Level 1

Become an AI-native developer

Use it across the whole workflow, not just to write functions.

Start with your own work. ChatGPT, Claude, Gemini, GitHub Copilot, Cursor, Claude Code and Codex all do the job; what matters is using them for debugging, design, review and testing, not only for “write this function.”

Example: debugging a production problem

Don’t paste a stack trace and ask what’s wrong. Give it the relevant code, the logs and stack trace, the expected behaviour, recent changes and enough architecture to place the failure. Then ask for a process:

  1. List the possible causes.
  2. Rank them by the evidence you have.
  3. Explain what evidence would tell them apart.
  4. Suggest the smallest diagnostic test.
  5. Propose a fix.
  6. Identify regression risks.
Paste into your AI tool
Here is the failing code, the last 50 log lines, the stack trace and the diff from yesterday’s deploy. List possible causes, ranked by evidence. For each, tell me what I would see if it were true, and give me the smallest test that would confirm or rule it out. Do not propose a fix until I pick a cause.

Now the model behaves like a collaborator who reasons out loud, rather than a search box that guesses.

Foundations

Learn the LLM primitives

You don’t need to train a model. You do need this vocabulary.

These eight ideas show up in every AI codebase you will touch.

ConceptWhat to understand
TokensWhat to understand:How models read and are billed for text.
Context windowWhat to understand:How much the model can consider at once.
System instructionsWhat to understand:How you steer behaviour before the user says anything.
TemperatureWhat to understand:How sampling changes how much output varies run to run.
Structured outputsWhat to understand:Getting predictable JSON instead of free text.
Tool callingWhat to understand:Letting the model request an external capability.
Multimodal inputWhat to understand:Working with images, audio and documents, not just text.
StreamingWhat to understand:Returning output progressively as it forms.
Project 1

Build an intelligent support triage

Not another chatbot. Something that produces data your code can use.

Don’t start with an agent. Start with something small that teaches the core loop. A customer writes:

“I’ve been charged twice for the same subscription and I can’t access my account.”

Your system should understand the request, identify the issue type, extract the details, judge urgency, search the support docs, draft a reply and route the ticket. The output looks like this:

Triage output
Category: BillingIssue: Duplicate chargePriority: HighCustomer ID: 12345Suggested response: ...

In one small project you have used an LLM API, structured output, prompt design, validation and ordinary application logic. That is a far better first project than a generic chat window.

The pattern to internalise

Models produce unstructured text by nature. Your software needs something it can rely on, so ask for a shape and validate it:

Structured output
{  "category": "billing",  "priority": "high",  "sentiment": "frustrated",  "requires_human": true}

Then normal code takes over: routing rules, database writes, notifications.

Level 2

Learn RAG, then go past the demo

Retrieval-augmented generation: give the model knowledge it was never trained on.

Sooner or later your app must know things that aren’t in the model, such as your docs, your policies, your data. The basic shape:

RAG in five steps
User asks a question→ Search for relevant information→ Retrieve the useful documents→ Send them to the model as context→ Generate the answer

Project 2: an enterprise knowledge assistant

A company has HR policies, engineering docs, product manuals, architecture documents, incident reports and internal FAQs. Employees dig through hundreds of pages. Build “ask our company anything.”

Someone asks, “What is the process for getting production database access?” The system understands the question, retrieves the relevant documents, writes an answer, shows citations and links back to the originals. Companies pay for exactly this.

A demo is easy. Production is not.

LearnWhy it matters
ChunkingWhy it matters:How you split documents decides what can be found.
EmbeddingsWhy it matters:How meaning becomes something searchable.
RetrievalWhy it matters:How the right passages are found.
RerankingWhy it matters:Reordering results so the best ones lead.
Metadata filteringWhy it matters:Restricting by department, permission or document type.
CitationsWhy it matters:Showing exactly where an answer came from.
EvaluationWhy it matters:Measuring whether retrieval and answers are actually good.

This is where a prototype becomes a system.

Level 3

Give it tools

From “the AI answers” to “the AI can do something.”

A customer asks, “Why was my last payment rejected?” The AI could:

  1. Identify the customer.
  2. Query the payment database.
  3. Retrieve the failed transaction.
  4. Check the error code.
  5. Search the documentation.
  6. Explain what happened.

The model never touches your systems directly. You hand it a small set of controlled tools:

Tools exposed to the model
get_customer()get_transactions()search_documentation()create_support_ticket()

The model decides which tool is useful. Your application decides whether to run it, with what permissions, and what comes back.

Project 3: a support agent with tools

Build one that can do three things:

  • Read: customer profile, order history, subscription status, previous tickets.
  • Reason: work out what happened.
  • Act: create a ticket, raise a refund request, update a note, or escalate to a human.

Then add the parts that make it real: permission controls, logging, and human approval for sensitive actions.

Level 4

Learn to evaluate

The most underrated skill in AI engineering.

Traditional tests compare expected output to actual output. Your support assistant just answered 1,000 questions. Was it good? You can’t tell by reading a handful, which is why you need evaluation.

MeasureThe question it answers
Retrieval qualityThe question it answers:Did we fetch the right information?
Answer correctnessThe question it answers:Was the answer right?
GroundednessThe question it answers:Did it stick to what was retrieved?
Tool accuracyThe question it answers:Did it pick the correct tool?
SafetyThe question it answers:Did it avoid actions it shouldn’t take?
CostThe question it answers:What does one interaction cost?
LatencyThe question it answers:How long does the user wait?

Build an evaluation set

Take 100 real questions. For each, write down the expected information, an acceptable answer, the relevant documents and the tool calls it should make. Run the system. Change the prompt, the retrieval or the model. Run it again.

Now you are doing engineering, not vibe-checking a chatbot. I’ve put this before agents on purpose: an agent you can’t measure is one you can’t safely improve.

Level 5

Agents

More than a chatbot: a loop that pursues a goal.

A simplified agent loop:

Agent loop
Goal→ Reason→ Choose a tool→ Execute it→ Observe the result→ Reason again→ Take the next action→ Finish

Ask one, “Find out why our enterprise customer churned last quarter.” It queries customer data, reads support tickets, analyses usage, searches account notes, spots patterns and writes a report. The impressive part isn’t that a model wrote a report. It’s that the system carried out the investigation.

Level 6

Production AI

Everything that happens after the demo works.

ConcernThe question to answer
ReliabilityThe question to answer:What happens when the model fails?
ObservabilityThe question to answer:What did it see, what did it produce, which tools did it call?
SecurityThe question to answer:What if a user tries to manipulate the system?
PermissionsThe question to answer:What is it actually allowed to access?
CostThe question to answer:Which model should handle which task?
LatencyThe question to answer:Can it answer quickly enough?
Human in the loopThe question to answer:When must a person approve an action?

Project 4: build an AI analyst

Give a system read access to your company database, product analytics, customer feedback, support tickets and documentation. Then ask:

Paste into your AI tool
Why did customer retention decrease last month?

It queries retention metrics, compares cohorts, reads support tickets, analyses feedback, finds correlated changes, retrieves the release notes, forms a hypothesis and shows the evidence behind it. A human analyst still makes the final call. The time to get there drops dramatically.

Level 7

Then go deeper

After you’ve shipped a few things, not before.

Once you’ve built several applications, the theory starts to have somewhere to land.

  • Transformers: the basic architecture, and why attention matters.
  • Embeddings: representation and semantic similarity.
  • Fine-tuning: when changing behaviour through training is worth it.
  • Quantization: the trade-off between size, speed and quality.
  • Inference: what actually happens when a model generates output.
  • Model selection: why the biggest model isn’t always the right one.

That’s the point to decide whether you want to go deeper into AI/ML engineering or stay in AI application engineering.

What to learn first

Must learn, in this orderLearn later
LLM APIsLearn later:Fine-tuning
Structured outputsLearn later:Model training
Tool callingLearn later:Deep learning internals
RAGLearn later:Inference optimisation
EvaluationLearn later:Distributed model serving
AgentsLearn later:
Production AILearn later:

The right-hand column moves up only if your specific career goal needs it earlier.

The plan

A practical 90-day challenge

Become AI-nativeDays 1 to 30

Use AI throughout your development workflow, and ship Project 1: an app built on an LLM API with structured output.

Learn RAG and toolsDays 31 to 60

Ship Project 2, a document or knowledge system with citations. Then Project 3, an application where the AI can use at least three tools.

Build a real systemDays 61 to 90

Pick a domain: healthcare, finance, sales, customer support, developer tooling, enterprise knowledge, education, legal or operations. Build something people can actually use. Then add evaluation, authentication, permissions, logging, error handling, cost monitoring and human approval.

Read this twice

The biggest mistake developers make

It’s easy to think: “I know how to build software, I’ll just add an LLM.”

That isn’t enough. AI changes the architecture. You now design for probabilistic behaviour, context, evaluation, retrieval, tool use, permissions, human oversight and failure modes.

The best AI engineers aren’t the people who know how to call an LLM API. They understand where probabilistic intelligence belongs inside a software system, and where it doesn’t.

Where this can take you

  • AI Application Engineer: products powered by existing models.
  • AI/ML Engineer: models, training and inference.
  • AI Platform Engineer: infrastructure that lets organisations use AI reliably.
  • Agent Engineer: systems that reason and act.
  • AI Product Engineer: product thinking, software engineering and AI together.
  • Founder: find a painful problem and build an AI-native company around it.

You don’t have to pick now. Build first; the direction gets clearer.

The shift

Traditional software asked, “What should the code do?” AI-native software asks, “What should the system be able to understand, decide and do?” Then you choose which part belongs to code, which to AI, which to tools, which to data and which to humans.

That is why this isn’t about learning another framework. It’s a new way of building software.

Launching soon?

Want a second pair of eyes on it before it goes live?

Kalqore builds and runs production software. Tell us what you are shipping and we will tell you where it is likely to break.

Let’s talk (opens WhatsApp in a new tab)
All posts