← Blog/

A learning path is only personal if it knows what to skip

An organisation can say where it wants its engineers to go. It cannot say where each of them is starting from. Here is how Pravaha builds a path per engineer, and what the first two weeks showed.

Sudhakar · Founder, Pravaha

TL;DR

  • An organisation can name the destination for its engineers. It cannot name where each of them starts, and a plan that ignores the starting point spends its first month teaching people what they already know.
  • Pravaha gives every engineer their own path: a map built from the organisation's goals, with the engineer's goal, experience and gaps laid over it.
  • The model never invents structure. It credits what the engineer already knows, gives every step a one line reason, and the engineer's own corrections always win.
  • Two weeks in, 42 engineers have built a path. The goals they pick most are AI Engineer and Software Architect.

I build Pravaha, an AI coach for engineering teams. The idea behind it is that learning at work should be shaped around the engineer, not handed out as a catalogue.

Coaching someone starts with a plainer question than how they learn. It is what they should learn next. Two weeks ago we shipped our answer to every customer: a learning path for each engineer, built from their goal and what they already know. As I write this, 42 engineers have built one.

The organisation knows the destination. The engineer knows the starting point.

You can probably say where you want your team to be in a year. More engineers who can ship AI features. More people who can own a system end to end rather than a ticket inside it. Those are destinations, and they are the easy half.

Pravaha is onboarded by organisations, not individuals, so we already ask for that half when a customer joins: what the company wants its engineers able to do, and for larger customers, what each department wants.

The hard half is the engineer. Take two people on your team with the same goal. One has written JavaScript for five years. The other joined from college in June. A plan that treats them the same wastes the first one’s month and loses the second one in the first week.

What we held the path to:

  • It has to move. What an engineer wanted six months ago is not what they want now, and their team may have changed stack under them.
  • Experience changes the route, not just the pace. Five years of JavaScript does not make Python unnecessary. It changes why they are learning it.
  • It starts from what they know, and how sure they are of it. Someone who has used Docker once and someone who deploys with it every day should not get the same answer.

I am a big fan of roadmap.sh. It is the best public version of this idea, and it maps a whole field. That is exactly why it is too much here. An engineer inside a company needs the slice of the field their company cares about, minus what they already know, with a reason for every step.

Same destination, a different path

Here is an engineer building theirs.

Onboarding asks for the goal first, then only the questions whose answers change the path.

The goal comes first because it decides which part of the map matters. After that the conversation asks only what moves a step on or off the path: the engineer’s main language, which side of a choice they are on, the tools they use every day. By the time it closes, the path is already drawn.

Here is what that produces for two engineers on the same team, both aiming at AI Engineer: one with five years of JavaScript, one who joined from college in June.

Five years of JavaScript. HTML, CSS and JavaScript, React, Git and web fundamentals are credited, each with the reason. The path runs Python, vector databases, API services, RAG applications, then AI agents, and ends on a choice between two agent frameworks. How LLMs work and fine-tuning sit beside it, marked as things to learn outside Pravaha for now. None of it repeats what they already know.

Joined from college in June. Nothing is credited. The path starts at web fundamentals and Git, and the same AI programmes sit at the end of it, a good deal further away.

Every step also carries one line saying why it is there for this engineer. That line matters more than I expected. Our Python programme describes itself as being for junior developers. Shown that on its own, the five-year engineer reads it as the wrong programme. With “new language, not new to programming” beside it, it reads as the obvious next step.

The map is drawn once. Each engineer’s path is laid over it.

When an organisation joins, we collect its goals and what it wants its engineers trained on. An agent turns that into a map for each role we find: which programmes lead to which, where the team has to pick one of two, and which topics have no programme yet and have to be learned elsewhere.

Each engineer’s path is laid over that map, never generated in its place. The model decides which goal applies, which steps the engineer’s experience already covers, and what the one line reason says. It does not add programmes, draw connections or reorder anything.

The organisation's map for AI EngineerOne engineer's path: five years of JavaScript

Learn outside Pravaha ⧉Coming soon

An organisation's map for one goal, then one engineer's path over it The AI Engineer map runs from Web Fundamentals through Python Basics, Vector Databases, API Services, Building RAG applications and Building AI Agents to a choice of agent framework, with side programmes branching off each step, some coming soon and two to learn outside Pravaha. For an engineer with five years of JavaScript, Web Fundamentals and Git are credited, Python Basics is where they are with the reason "new language, not new to programming", the rest of the spine is their path, and React and HTML, CSS and JavaScript are credited outside the path. Web Fundamentals 10 hours Python Basics 20 hours AI Assisted Development 12 hours Learn Git for Beginners 8 hours Using Claude Code Effectively Coming soon Vector Databases (Qdrant) 6 hours How LLMs work ⧉ API Services (REST & GraphQL) 22 hours PostgreSQL Fundamentals for Application Developers 9 hours Linux & Shell Scripting for Developers 16 hours Docker & Containers Coming soon Building RAG applications 28 hours RAG, Multi RAG and Graph RAG Coming soon Building AI Agents 24 hours Fine-tuning & model customisation ⧉ PICK ONE AGENT FRAMEWORK Learn Agno Agentic Framework or AWS Strands Web Fundamentals Credited Learn Git for Beginners Credited Python Basics New language, not new to programming. YOU ARE HERE · 20 hours Vector Databases (Qdrant) 6 hours API Services (REST & GraphQL) 22 hours Building RAG applications 28 hours Building AI Agents 24 hours OUTSIDE YOUR PATH React Fundamentals Credited HTML, CSS, JavaScript Credited
The organisation's map for the AI Engineer goal, then the same map for one engineer. The structure never changes. Only the credits, the starting point and the reasons are theirs.

Credits are the riskiest thing the model does. “You already know React” is an inference from a conversation. So when it is unsure, it leaves the step on the path and lets the engineer say otherwise. A step credited by mistake is a gap nobody notices. A step left on by mistake costs one sentence to remove.

A path the engineer can argue with

No plan survives six months of a real job, so the path is never finished. Every engineer has an Adjust path button that opens a conversation with the coach. It is the only place the path changes after onboarding, and what the engineer says there is final.

Adjust path, three months in

Engineer

I have been deploying with Docker every day for two years.

Coach

Then Docker does not need to be on your path. I have moved it to the things you bring.

Docker: on the path → credited
Engineer

I have also been leading design reviews since the new service went in. I would rather work towards architecture than agents.

Coach

That changes your goal to Software Architect. Your credits carry over, and system design moves up your path.

goal: AI Engineer → Software Architect

What changed. Two sentences from the engineer, two changes to the path, applied straight away. The model rewrites the reasons around them later, but it can never undo either one.

That last part is deliberate. An engineer who corrects the plan once and sees the correction quietly reverted stops correcting it, and a plan nobody corrects drifts away from the person it is for.

What the first 42 paths say

We rolled it out to every customer two weeks ago. At the largest, around 350 engineers, people started setting goals in the first few days. As I write this, 42 engineers have a path.

The goals they pick most are AI Engineer and Software Architect. The first I expected. The second is engineers asking what it takes to own the design of a system rather than a feature inside one, and most teams never give them a way to ask that.

The number I am watching next is where enrolments come from. An engineer who keeps leaving the path to pick programmes from the catalogue is telling us the map or the credits are wrong. I will update this post after a month with what that shows.

An organisation can write down where it wants its engineers to go. Only the engineer knows where they are starting, and a plan that never asks them is someone else’s plan.