What Happened to Software Engineering Interns?
Motivation
I never thought I’d have to write something like this.
A Week ago we posted a job at RoboticGen for an Intern Software Engineer. It hasn’t even been two weeks and we’ve already got close to 450 applications. We rejected about 80% of them in the first screening round, without properly reading their CVs. That’s why I’m writing this.
Disclaimer I
This isn’t advice or a rulebook. It’s just how I see things, as a fresh graduate. I don’t have ten years of industry experience behind me. This is an argument based on what I’ve seen so far, and I could be wrong. If you think I am, tell me.
Disclaimer II
The outline and the arguments here are mine. Claude did the grammar and the cleanup, because I didn’t want to spend all my time on that part.
Starting from zero
Before arguing about what a software engineer should be, it’s worth looking at where the words came from.
Engineer comes from the Latin ingenium — natural talent, clever invention, genius. An engineer originally wasn’t someone who followed a procedure. It was someone who figured something out.
Software is the set of instructions, the programs plus their data and documentation, that tells the hardware what to do. It has no physical form. The word is fairly young too. John Tukey popularised it in 1958, back when the code was still an afterthought to the machine it ran on.
Software engineering is younger still. Margaret Hamilton, who led the team writing the Apollo flight software at MIT, started using the term in the 1960s on purpose. She wanted the work taken seriously as its own field instead of a side activity of hardware engineering, and people laughed at her for it at the time. The term really spread after the 1968 NATO conference in Garmisch. The industry was in the middle of what they called the software crisis: projects running late, over budget, half finished, impossible to maintain. The argument at Garmisch was that building software needed the same kind of discipline as civil or mechanical engineering.
So software engineering means applying a systematic, disciplined approach to building, running, and maintaining software.
IEEE's definition
The application of a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software.
That’s roughly where the industry landed on it.
What I like about the phrase is that it holds both halves at once. Ingenium: the figuring things out. And engineering: the discipline and the accountability. You’re supposed to be both, not one or the other.
And then there’s the other word in the job title.
Intern comes from medicine. It shows up in American English around 1879, from the French interne, meaning assistant doctor, which goes back to the Latin internus, “within.” The first interns were resident physicians — doctors in training who lived inside the hospital and treated real patients under supervision. It only spread to other professions around 1963.
Two things about that origin matter. The intern already had a medical degree. Internship wasn’t where you learned medicine; it was where you practised it with someone senior watching. And the work was real. Real patients, real consequences.
So a software engineer intern, going by the word itself, is someone who already has the fundamentals and is now doing real work under supervision. Not someone being taught the basics on company time. The supervision is what makes it an internship. The competence is what makes it engineering.
That’s the thread running through the rest of this article.
There are two things I want to talk about. The first is where the bar sits.
The baseline
If you’ve watched Suits, you already know where this is going. There’s a scene in Season 1, Episode 10 — “The Shelf Life” — where Harvey holds his hand out flat at one level to show where things are, then lifts it well above that to show where he wants them.
The gap between his hands is the point.
Now think of Harvey as the industry.
The same thing has happened over and over in this field: the NATO conference (1968), the dot-com bubble and crash (1995–2001), the Agile Manifesto (2001), the outsourcing boom (2000s), open source and Stack Overflow and GitHub (2005–2015), the move to the cloud (2006 onwards). Every one of them raised the line. And every time, skills that used to get you hired turned into the bare minimum, or stopped mattering at all.
We’re in the middle of another one now. AI moved the hand up again, and faster than any of the earlier shifts. The baseline isn't where it was five years ago.
So what’s above the line now? Going by the applications on our portal, the industry isn’t hiring people to produce code anymore. It’s hiring people who can:
- take responsibility for a result, not just close a ticket
- turn a vague problem into something buildable
- read code they didn’t write and tell whether it’s actually correct
- debug a system they only half understand
- make trade-offs on cost and time, and explain them to someone else
- pick up new tools quickly, because whatever they learn this year is going to move again
None of that is less technical than before. It’s more. Writing the code was always the easier half; it was just slow enough to look like the whole job.
One thing I want to be clear about: this argument usually gets misread. I’m not saying you don’t need to know how to code. Remembering syntax and understanding fundamentals aren’t the same thing. Forgetting the exact arguments of some library function never really mattered. Not knowing why a query is slow, or why a piece of generated code is quietly wrong, matters more now than it used to, because you’re the one signing off on it.
But from what’s coming through the door, a lot of applicants haven’t noticed that the line moved. I don’t think anyone is hiring for the ability to type out memorised code from scratch. That skill had its time. It’s below the line now.
Natural selection
The second thing is about who gets through once the bar has moved.
There’s a line people love putting on slides, usually with Darwin’s name under it:
Attributed to Darwin — he never said this
It is not the strongest of the species that survives, nor the most intelligent. It is the one most adaptable to change.
Darwin never said it. It’s from Leon Megginson, a management professor at Louisiana State University, who paraphrased On the Origin of Species in a talk in 1963. His version said the species that survives is the one “able best to adapt and adjust to the changing environment.” Over the years the sentence got shorter and catchier, Megginson’s name fell off, and Darwin’s got stuck on instead.
I’m still going to use the idea, because the idea is right. But with the correct name on it. And honestly, the misattribution makes my earlier point better than the quote does. It sounds right, it spreads, and almost nobody checks. Not checking is exactly the habit that stops working when a machine will hand you a confident, well-formatted, plausible answer any time you ask for one.
Also worth mentioning: “survival of the fittest” was Herbert Spencer’s phrase before Darwin picked it up, and fittest never meant strongest. It meant best fitted to the environment you’re actually standing in.
That’s really the difference on the other side of this shift. Not the strongest applicant, not the best GPA, not the most syntax memorised. The one who notices the bar moved and adapts to where it actually sits now, instead of aiming at where it used to be.
That’s what I’m actually looking for the CVs on our portal right now. Not the longest tech-stack list, not the highest GPA — some sign that the person already knows the bar moved. If you’re one of the 450, that’s the thing to show us next time, not more of what used to be enough.
References
- Mastropaolo et al., The Rise and Fall(?) of Software Engineering — https://arxiv.org/html/2406.10141v1
- Engineer — Online Etymology Dictionary — https://www.etymonline.com/word/engineer
- Intern — Online Etymology Dictionary — https://www.etymonline.com/word/intern
- IEEE Computer Society, What to Know About the Scientist Who Invented the Term “Software Engineering” — https://www.computer.org/publications/tech-news/events/what-to-know-about-the-scientist-who-invented-the-term-software-engineering
- Software — Wikipedia — https://en.wikipedia.org/wiki/Software
- The evolution of a misquotation — Darwin Correspondence Project, University of Cambridge — https://www.darwinproject.ac.uk/people/about-darwin/six-things-darwin-never-said/evolution-misquotation