A senior engineer's job is to ship. A preceptor's job is to ship seniors. That's Scott Hanselman's line for PRAISE, the program he and Azure CTO Mark Russinovich started at Microsoft because they expect AI to collapse the early-career pipeline: if leadership believes an agent can do the junior's work, companies stop hiring juniors. Their fix doesn't relabel the junior. It relabels the senior, with a word borrowed from nursing, and pairs the two over weekly AI labs, with Carnegie Mellon courses alongside.
The conversation is PRAISE: Preceptorship for AI-accelerated Software Engineering, 35 minutes on the Microsoft Developer channel, published on October 15. Scott hosts. Dr. Michael Hilton teaches software engineering at Carnegie Mellon and runs education for its Software and Societal Systems Department. Julia Gao is a software engineer on Scott's team, a 2024 Microsoft intern who went through PRAISE as a preceptee. The term meat proxy, from my note on Peter Steinberger's talk, comes up again here, from the other side.
Someone on campus is vibing their degree
Hilton dates the breaking point for academia precisely: the moment AI could complete his homework in one shot. He teaches an upper-division software engineering course, and somewhere between the fall 2025 and spring 2026 semesters it could do every assignment. Students no longer had to think. They could copy and paste.
Julia saw the same thing from the other side of the desk. ChatGPT came out in her sophomore year and wasn't good, so nobody she knew used it until junior year. Then it got good quickly, and professors started asking for a line on each assignment saying where AI was used.
Scott's opener when he trains university teachers: somewhere on campus right now, someone is vibing their degree, and we need to decide if we're okay with that.
Hilton's answer is that this exposes an old weak point. Instructors relied on an assigned exercise having two outcomes: you skip it or you work it out. Now there's a third, the easy button, so the job includes convincing students the work matters. What he hears from students, dozens or hundreds of times, whenever they think they're being honest: "I don't use AI for things I care about. I use AI for the parts of college I don't care about."
- 1Skip itThe old first way
- 2Work it outThe old second way
- 3Press the easy buttonNew since AI could do the homework in one shot
- SophomoreChatGPT comes out. "It wasn't that good."
- JuniorGood enough that people use it. Assignments get an "AI was used" line.
- Fall 2025 to spring 2026Hilton's upper-division homework falls in one shot.
Students"I don't use AI for things I care about. I use AI for the parts of college I don't care about."
Send a robot to lift your weights
Scott's word for what the easy button does to you is atrophied. Muscles grow from time under tension. Send a robot to the gym to lift the weights for you and, asked whether they got lifted, you can honestly say yes. You didn't get stronger.
Hilton put that analogy to his class and offered bonus points for a better one. A bunch of students independently landed on the same picture: a cooking class where you order DoorDash and hand in the plate.
Julia's own use is the version both of them want. She did the problem sets herself, to learn the fundamentals. Once she had a simple implementation working, she asked AI for other ways it could have been done, and when the teacher's solution differed from hers, she asked it to explain the difference. AI as an information source, never as the thing that completes the set.
Then Scott brings up the meat proxy: I ask you a thing, you ask the bot, the bot tells you, you tell me what the bot said. If your job is turning into pressing OK, that's when to worry, because pressing OK isn't a job.
Scott's analogy
The gym
Time under tension is how muscles grow
Send a robot: the weights got lifted, you didn't get stronger
and
The students' analogy
The cooking class
Order DoorDash, hand in the plate
Nobody learns to cook
1Solve it yourself
The problem set, for the fundamentals
2Ask for other ways
Once a simple version works, how else could it be built?
3Compare answers
When the teacher's solution differs, ask why
ScottPressing OK isn't a job.
A nurse's word for the senior's new job
PRAISE stands for Preceptorship for AI-accelerated Software Engineering. The premise of the paper Scott and Russinovich wrote is that interns and apprentices arrive at minus one: thrown into a gauntlet of senior engineers and told to dig themselves out.
Most programs respond by giving the new person a label: intern, apprentice, junior. PRAISE gives the senior one instead. In nursing, a preceptor is a trained trainer whose job in the hospital, on top of giving good care, is to make new senior nurses. The label tells the senior their job has changed.
Scott is honest about why. He has been a mentor, and he wasn't a good one, because his mentorship was a weekly lecture from an old person. The young person left thinking they could get that from their dad.
Julia's preceptorship ran on structured AI labs, one each week, as a starting point for the conversation. The lab gave her something concrete she had just done. Then she could ask her preceptor how he would have approached it, from his first step, and why he would build a project this way and not that way. She now applies his way of attacking a problem to her daily work, "instead of just listening to what AI does".
Hilton, who claims an academic's licence to be a pedant, says the specific word doesn't matter. What matters is that it was chosen with intent, to say this isn't a standard internship. If it's going to be different, call it something different. His Eisenhower quote: plans are nothing, planning is everything.
Mentorship
The label is on the junior
Brought in at minus one, told to dig out
"A weekly lecture from an old person"
vs
Preceptorship
The label is on the senior
A nurse's word: a trained trainer who makes new seniors
A weekly AI lab, then "how would you approach it?"
HiltonThe word doesn't matter. Choosing it on purpose does. "Plans are nothing, planning is everything."
The intern wrote the tool. Now the agents do.
Julia's 2024 internship was a command line tool, written by hand: it updated a few files, opened a pull request and completed it once a user approved. AI sat on the side for syntax, because she was learning C# and already knew Java. How do I define this class here? The design and logic were hers, reviewed by the whole team before she typed.
Back full time, she says the introduction of Claude Opus this year changed everything. Her team runs multi-agent workflows for all of its coding, including the kind of thing she automated as an intern. Scott's summary: so you're a reviewer now. Hers: you need to understand the logic, have the code written for you, understand how it fits the broader context, and take responsibility, because you're the one shipping it.
Scott's version of that responsibility: the pull request is in your name. It says Copilot on behalf of Julia, and when it goes bad, she gets the phone call.
The new stress is context switching. With four or five agents running at once, each on a different part of the work item, she has to switch between them, and she counts that as a skill the whole profession still has to grow.
2024, intern
She writes, AI answers syntax
Juliatypes the command line tool
AI"How do I define this class in C#?"
Design and logic hers, reviewed by the team first
The tool updated files, opened a PR, completed it on approval
vs
2026, full time
Agents write, she reviews
Agent 1
Agent 2
Agent 3
Agent 4
Agent 5
Juliareads, validates, ships, switches
Pull requestCopilot on behalf of Julia
Four or five agents at once, each on a different part of the work item
ScottThe PR is in your name. When it goes bad, you get the phone call.
Across the street or to the moon
Scott asks the question directly: if the thing can just do it, what's deep understanding for? Hilton's first answer is that anyone who claims to know, as of today, is lying. His second is that the context decides. To take an Uber to the airport, you don't need to know how an engine works. To be the principal engineer of a Formula 1 team, you do, even if you never build one. A script that updates a file a few times: check the file and move on. Infrastructure that millions of people will use: understand it before you ship.
He borrows a baseball statistic, value over replacement, and asks what a student's value over replacement is against AI. If all you can do is write a prompt that describes a task, the model can write that code, and you're in trouble. A prompt doesn't carry the context: are we sending this packet across the street or to the moon? Validation, performance and security all depend on which, and knowing what matters here is the human part.
Scott points out that everyone in the room keeps using the word context for two different things. There's the model's context window, and there's the context the solution lives in. A million-token window doesn't know what Julia knows about Microsoft.
Julia makes it concrete. A product is several repos and a lot of moving parts. AI is very good at solving one problem in one repo. It doesn't situate itself across the whole system, so it fixes the thing and breaks something elsewhere. Her preceptor is the one who tells her where her feature sits in the product. Scott quotes a line he can't source: AI easily writes features, but it doesn't easily write architectures.
How deep you need to go
ShallowAn Uber to the airport. A script that updates a file: check the file, move on.DeepPrincipal engineer, Formula 1. Infrastructure millions use: understand it before you ship.
Context, meaning one
The context window
A million tokensone problem, one repo
Solves it very well
Doesn't know what Julia knows about Microsoft
vs
Context, meaning two
Where the solution lives
reporepoyour featurereporeporepo
Across the street, or to the moon? Validation, performance and security follow
A prompt doesn't carry it. A preceptor does
Quoted by ScottAI easily writes features. It doesn't easily write architectures.
Civil engineers don't mix concrete
Hilton and Mary Shaw published a New York Times op-ed in November 2025, "You're a Computer Science Major. Don't Panic." Almost a year on, Scott asks if it holds up. Hilton says yes, and sharpens it: there's a difference between computer science and software engineering, and between engineering software and writing code. Civil engineers don't mix concrete or pour bridges. They design a bridge that holds up under traffic and doesn't become the Tacoma Narrows. Software engineers were always coders only because there was no way to distance themselves from the raw material.
The line I'll keep: as the cost of writing code approaches zero, the cost of the engineering that makes sure the problem is solved properly is not approaching zero at all. Are we building the right thing, on time, on budget, for this audience, with the right security, usability, evolvability and architecture? Those questions now take more of the day, because nobody is typing the lines.
The part of the op-ed he stands by most is that reading, critiquing and understanding code is a separate skill from writing it. Education assumed you'd pick it up on the way, by writing. His son read The Odyssey in high school, critiqued it and wrote a paper about it. Nobody asked him to write an epic poem. Scott notes there are poetry appreciation classes and no code appreciation classes: every course starts with a for loop and expects you to come out writing Linux.
CMU is moving. In the intro course his daughter takes as a freshman, most assignments are PDFs: Parsons problems, where the code is given out of order and you put it right, and comprehension questions. More reading than writing. He's also candid that classes can't change at the speed the frontier labs ship, so there's a lag between seeing a problem and fixing the syllabus.
The engineering: is the problem solved properly?Writing the codecost, over time
The Odyssey, in high school
Read itCritique itWrite a paperWrite an epic poem
A Parsons problem, the intro-course format
- 3
total += x - 1
total = 0 - 4
return total - 2
for x in xs:
Differently slow
Scott on his own day: he used to be the slow part, the coding. Now he's differently slow. Reading the code and waiting for the build are the two things that take the time.
Julia's list is longer. Reading and understanding what the agent wrote. Validating that the change matches the work item, which holds for a small change and sometimes not for a bigger one with more logic. Builds. And AI review, which now runs on their pull requests: each comment is a decision, because addressing one can change a bunch more files and widen the scope, and then she's telling it to revert what it just did. The coding isn't what takes the time now. Getting that code ready for production is.
That's the bottleneck Overmind attacked in my review the plan note, and the queue my own software factory stalls on. Three notes on this site now end at the same wall.
Beforethe coding was the slow part
thinktype the codebuildreview
Nowdifferently slow
promptagents writeread what they wrotevalidate against the work itemwait for the buildtriage AI review comments
- 1An AI review comment lands on the PR
- 2She has the agent address it
- 3A bunch more files change, the scope widens
- 4"Wait, wait, wait. Revert what you just did."
Teach the hidden curriculum
Hilton writes on a Substack with colleagues, The Last Software Engineer?, and his latest post there is about the hidden curriculum: the skills nobody taught because everyone absorbed them along the way. Taste. Engineering judgment. Knowing what to care about. AI is exposing those, and he thinks they now have to be taught directly, when they used to arrive over decades of writing code. He quotes Lenin: there are decades where nothing happens, and weeks when decades happen. Computer science is in the weeks.
That's his case for a preceptorship over waiting for the curriculum to catch up: someone experienced, next to the new engineer, now. He's not a doomer about it. More people will solve more problems with software than ever, and he expects Julia's generation to do more with these tools than his did in twenty years.
Julia's own account is less tidy, which is why I believe it. When she was enrolled she thought, what is happening, I'm already busy enough. The benefit showed up afterwards. Before PRAISE she had nothing to say to the principal engineer on her team, because her work items were shallow and never touched what he knew. Now she still has one-on-ones with him, and she rates his time above everything else she gets.
A senior engineer's job
Ship code
Pull requests, in their name
vs
A preceptor's job
Ship seniors
The code gets written either way. Will they stick around?
Julia, before PRAISENothing to say to the principal on her team: shallow work items that never touched what he knew
AfterStill has one-on-ones with him, and rates his time above everything else she gets
Scott"A senior engineer's job is to ship, but a preceptor's job is to ship seniors."
Try it
The CMU half is a certificate. In the fall, Machine Learning in Production and Preceptorship in AI-Augmented Software Engineering I. In the spring, DevOps: Engineering for Secure Development and Deployment and the second half of the preceptorship sequence. All of it counts toward a software engineering master's. The Microsoft half is the preceptor, the weekly labs and the one-on-ones.
Two honest caveats. This is one preceptee's account on Microsoft's own channel, and nobody in the conversation gives a number: no cohort size, no retention figure, nothing measured yet. What it does give is a shape you can copy without either institution.
01A pair
An early-career engineer at Microsoft and a senior who takes the preceptor label
02A lab a week
Structured AI labs start each conversation; one-on-ones carry on after
03Fall at CMU
Machine Learning in Production, and Preceptorship in AI-Augmented Software Engineering I
04Spring at CMU
DevOps: Engineering for Secure Development and Deployment, and Preceptorship II
Not givenCohort size, the length of the pairing, any measured result.
If you want more:
- PRAISE: Preceptorship for AI-accelerated Software Engineering, the conversation, 35 minutes
- The Command Line post by Mark Russinovich and Scott Hanselman, the paper Scott refers to
- CMU's announcement of the certificate and its four courses
- "You're a Computer Science Major. Don't Panic.", the op-ed by Mary Shaw and Michael Hilton, via CMU
- The Last Software Engineer?, Hilton's Substack with colleagues
- Don't be your team's meat proxy, the same term from Peter Steinberger's side
- Review the plan, not the pull request, one team's answer to the reading bottleneck
If you're the senior on a team, take the label for a quarter. One lab a week, their questions, your first step out loud. Tell me what the junior asks that the agent can't answer.
Plain text: preceptors-ship-seniors.md · Atom feed · All notes