I have written about Becoming an AI-Native a few days ago. It describes what got me into using agents for my daily work and also what fascinates me about them. After reading the article, a former intern asked me if he should first learn the basics of programming before he lets agents write code for him. What do you do as a “junior”?
My first reaction was to say: you really are stuck between a rock and a hard place. You need a lot of experience to judge the quality of agent output and how will you collect that experience when the agent writes all the code?
At my company, we have historically had a lot of interns and working students and that has helped us to get things done, help people grow, and fill our hiring pipeline. But now I can open the Codex or Claude app and have as many working students as I want for as long as I want.
So what do you do as a junior? How do you break into an industry that has just found the ultimate tool to get rid of you?
Agents are the better juniors
The rush to “agentify” all the things has left juniors (by which I will mean everyone at the start of their career, including interns and working students) struggling to catch up. Before I get to my advice, I want to quickly outline what makes agents so competetive with juniors.
As a pre-AI software engineer, agentic coding is endlessly fascinating to me. I can start as many as my subscription limit let’s me. They are not getting tired. They do not make demands. They are always motivated. And for now, they are reasonably cheap.
There are no inter-human problems with AI. I do not need feedback meetings and when I want the agent to follow guidelines, I simply have to put them into its AGENTS.md. All the friction of working with humans is gone.
The traditional role of juniors
Hiring juniors has been and is always an investment for a firm. Mentoring them through the early parts of their career is time-intensive and the output lags the invested hours considerably at the start.
Of course, there are advantages as well. There are many small to medium tasks every day that do not have the highest priority. Handing some of these tasks to someone that is not yet as experienced but wants to grow is incredibly helpful. It takes away from the load of more experienced engineers while giving more junior people a chance to grow.
But agents have taken over these tasks. When a task is small in scope, it is surprisingly easy to hand off to an agent using a reasonably intelligent model. You will get back a result of very often high quality in a matter of minutes with minimal input as the models were trained on engineering problems and know what to look for.
Breaking the loop
But when all the easy tasks are getting solved by agents, then what is left for juniors to work on? How will they collect experience? How will they grow to eventually tackle more complex tasks? Who will hire them if they have close to no experience? How will they grow into more senior roles?
To get hired, you need experience - but to collect experience, you need to get hired. It is a doom loop. - How can you break it?
Getting your first internship or job
In the past, getting your first internship or job will became very hard without prior experience. Now, there is no reason to hire someone when an agent can produce much better output in less time.
As a beginner, you will have to work on side-projects on your own to collect experience. You need to show that you are capable of the basic workflows in programming: Understanding the problem at hand, figuring out a solution, and finally implementing and iterating on that solution. And of course: You will eventually have to learn how to use agents to their full potential.
Making use of curiosity
Getting started will be a lot easier if you have a passion for programming. Genuine curiosity is one of the most valuable skills. It leads you deep down into how and why things work the way they do. If you find it hard to find projects that you can work on, pick any open source project (Django, Opencode, FastAPI, really anything) and try to understand how it works. If you have trouble, you can always ask AI to help you understand the code.
An agent can not only write but more importantly explain any code you might not yet understand. Nonetheless, your ultimate task is to understand! The more effort you put in, the more you will learn. Ask yourself: Why does this piece of code work? Why was it written in this particular way and not another way?
Be critical of the agent’s responses to your questions. While the problem of hallucination is mostly solved for frontier models, agents can be overly confident and easily influenced. Being critical is an important skill when you work with agents in the future.
Learning what an agent is
Another important aspect about learning to become a software engineer is learning what an agent is. What’s a harness? What’s an agent loop? What’s a model? How does an LLM work? Why are cached input tokens so much cheaper than regular input tokens? Why are output tokens (for some models) so expensive? Why is it so hard to run frontier models?
Being conscious about the tools one is using is an important skill that applies whether you are programming the traditional way or with an LLM. It means persistence: Blaming the agent for bad code is easy - trying to understand why it produced that code and helping it improve is harder.
Becoming an engineer
Finally, your goal should be to work independently on projects. Whether that means letting an agent work for you and just reviewing code or writing everything by hand: you will have to understand the fundamental mechanisms of how your software works.
