Hiring juniors and teaching the fundamentals.
We hire the brightest minds over the longest resumes and teach them the old ways. Early AI adoption made that look outdated. We think it made it essential.
We hire the brightest minds over the longest resumes, and we teach them the old ways before they ever see a client. Most of our team joined straight out of school. For a while, cheap AI leverage made that look like the wrong bet. It was not: building someone up from fundamentals beats grafting AI onto habits that do not fit, and helping a person launch a career, earn real income, and grow independent is its own reward.
Talent over skillset still works
We have hired leads, but the majority of our people came directly out of school. Hiring for raw ability over a specific skillset remains the bet we make, and it keeps paying off.
A Claude budget is not a shortcut
Hand an experienced lead a Claude budget and their output can triple with almost no oversight. It is tempting to stop there. But bad habits and the smallest cracks in ownership start eating the gains, and they compound. Leverage multiplies whatever sits underneath it, good practices or bad.
The ramp got longer on purpose
A new grad used to spend one to two months before touching a client system: Wiski deployments, Terraform changes, our standard operating procedures, and the full software lifecycle run dozens of times over. That ramp is now three to six months. The reason is depth. Every engineer needs to understand what an LLM will reach for, because the model will use it whether or not the engineer does.
A two-hour fix, then a one-day lesson
Our most recent intern was asked to replace dotenv for configuration loading. The solution was elegant and well researched, and it took about two hours with no AI involved: look it up, confirm it on Stack Overflow, implement. That is the old-school way, and most of the time it is exactly right. The catch was in the details. The code leaned on several LINQ extensions, and when we pressed, the intern was not clear on the order of operations or how the underlying functions actually work. Recreating those statements by hand took another day, and it was worth every minute.
Depth, because the model already knows it
That exercise brought real clarity on the code we own, and it surfaced three topics we now teach on purpose: how LINQ extensions order and execute, how to optimize deduplication in an array, and how to plan for arrays before they bite you. We teach them precisely because Claude knows them cold. To own and trust AI-leveraged code, our engineers have to know them too. The same instinct drives breadth: we expect one person to optimize that array, build an appealing front end in React and Tailwind, and stand up a cloud environment in Terraform.
Why it held
The shaky moment was that exact temptation: why train juniors when a lead with an AI budget looks faster? We held the line because the order matters. A junior has to become effective without AI first, so the foundation is real. Only then does that same engineer join a production team and apply the same principles with AI tools, fast and safely, because the foundation is already under them. Skip the first step and the leverage has nothing to stand on.
Related: Talent & Assessment · Project Management