What inspired you to start making software? For some of us, it was playing videogames. For others, it was the influence of friends or a teacher. Many implemented their first recursive algorithm or user interface when they were teenagers; a smaller number, including me, learned as adults.
Jessie, Devon and I recently had the opportunity to speak about our work with the students of San Francisco International High School. SF International is a unique institution: located in the Mission District, its students are all recent immigrants, mostly from Central and South America and China. Most students come from lower-middle-class backgrounds and are learning English as a second language.
A room full of future surgeons and sales managers
Over the course of two hour-long Q&A sessions with about 200 11th-graders, we were peppered with questions about every aspect of our jobs: Do you enjoy it? What tools do you need to do your work? How much money do you make? We learned that many of the students at SF International aspire to attend university and become, in order of popularity, doctors, accountants, lawyers, police officers and social workers.
We were blown away by the students' enthusiasm and energy. But as software professionals who really enjoy our work, we couldn’t help but feel a little concerned that more students wanted to be sales managers than engineers. Out of all those kids, only one said he wanted to be a programmer. (He already knew C and asked what we do when our websites get DDoS'd.)
Software is boring. Apps are cool.
So why didn’t the 11th graders of SF International consider software to be an interesting or viable career option? Partly because — despite the efforts of people like Mark Zuckerberg and Chris Bosh — programming still seems to have something of a branding problem. When we introduced ourselves as computer programmers or software designers, we were met with polite nods or blank stares. When we said "We make apps like Tumblr and YouTube", the students were excited and impressed.
The image problem wasn’t the only factor. As we spoke with the students, it became clear that there are some persistent misconceptions about programming which diminish its appeal. When we asked students why they didn’t want to be software developers or designers, we'd typically get one of the following responses:
- "I thought you had to be really good at math to do programming."
- "But don’t you need to be really smart to learn to program?"
- "Well, I like working with people. Programmers spend a lot of time working alone."
Reimagining the programmer stereotype
Needless to say, if everyone writing code professionally today could be described as a loner math genius, we would not have the vibrant, diverse, resilient community we do. But familiar programmer stereotypes have persisted in the popular imagination, along with the notion that writing code is a skill only a select few can ever hope (or would want) to learn.
Nonprofits like Girls Who Code and CodeNow are doing a great job of providing resources for kids who want to learn to code. As working designers and developers, we can support this effort by volunteering our time and donating money. As Jessie, Devon and I learned at SF International, we can also think about ways to help local schools update students' perceptions of what it means to be a programmer.