What eight years of training developers taught us about who learns to program (and who doesn't)
Who learns to program and who doesn't: what eight years at Apple Coding Academy taught us about talent, opportunity and the story that shuts people out.
In eight years of training developers, we've seen people arrive at AC Academy from backgrounds nobody would have predicted: a 42-year-old secondary school teacher, a retired soldier, several graphic designers tired of depending on others to build their ideas, and many women whom nobody around them had bothered to tell that programming was something they could do too.
What that time has taught us most isn't about Swift or Xcode. It's about who learns to program and who doesn't. And the answer, invariably, has nothing to do with their technical starting point.
The problem isn't difficulty. It's the story.
Technology, and software development in particular, has spent decades building a story of exclusivity that has no technical justification. The stereotype of the developer as a very specific profile (young, male, drawn to math since childhood) isn't a description of who can program. It's a description of who got to the field first, back when nobody was explaining that there was room for everyone.
In Spain, the share of women in computer engineering degrees has been stuck at around 12–15% for years. Not because women are less capable of programming (the results in our programs show no systematic difference in performance). Because nobody told them in time that it was an option for them, and because the environment in which programming is taught in most schools still isn't an inviting one.
What does work, from what we've seen
Curiosity kicks in when the problem makes sense to the person solving it. That sounds obvious, but it's rarely applied when teaching programming. Abstract exercises (“compute the factorial of n”) don't connect with the real motivation of most people learning to code. What connects is building something you can use, something you can show, something that solves a problem you actually had.
Swift Playgrounds is one of the best examples of this working in practice. Apple designed a tool that lets you explore programming visually, iteratively and with immediate results. It's no accident that it's the most widely used tool in Apple's intro-to-coding programs for schools.
But the tool without the environment isn't enough. What separates someone who quits in the first few weeks from someone who keeps going isn't aptitude. It's whether they have someone who tells them, when they get stuck, that getting stuck is part of the process and not a sign that this isn't for them. That someone can be an instructor, a classmate, a mentor or a community. What it can't be is no one.
STEM as a calling, not a destination
There's a framing mistake in how STEM careers are presented to younger students. They're sold as a destination (“study engineering and you'll have a job”), when what actually hooks people on technology is the process, not the destination.
Nobody learns to program because they want a stable job. They learn because at some point they built something that worked and that feeling was addictive. The first app running on your own device, the first function that does exactly what you asked, the first bug you've been chasing for hours that you suddenly understand. Those moments have nothing to do with the industry or the salary. They're about the satisfaction of building.
That's the story we need to tell students. Not the one about the job market, the pay gap or hiring statistics. The story that programming is building, and building is one of the most fundamentally human things there is. The language changes (today it's Swift, tomorrow it'll be something else), but the ability to turn an idea into something that works never expires.
What eight years have confirmed
Anyone who wants to learn to develop software can learn to develop software. Not anyone in any circumstances: you need time, you need access to tools, you need an environment that doesn't make you feel you're in the wrong place. But there's no non-negotiable starting requirement other than motivation.
The people who arrive at AC Academy with no prior experience and more doubts than certainties about whether this is for them are often the same people who, a year later, are working as developers at real companies. That's not a sales pitch. It's what we've seen happen enough times to believe it without reservation.
Talent is distributed fairly evenly across the population. Opportunity isn't. Not yet.
