Today, President Obama urged every American to spend an hour learning to code. As part of the Code.org initiative, it's a well-intentioned effort to promote Computer Science Education week. And as a supporter of efforts like Black Girls Code, CodeNow and Girl Develop It, I do think there's a lot of value in teaching people, especially young people, about how software works. It's particularly important as more of our lives are influenced by choices made by technologists.
But there's an increasing backlash from within the tech industry against the reflexive promotion of "just learn to code!" as a solution to a wide range of societal ills. Even the opportunity to participate in the fantastic coding education programs that exist are heavily constrained by economic and personal constraints that many in the tech industry have not yet begun to address first.
Even if we taught every disadvantaged young person to code, they would still not have access to the opportunities that today's successful programmers and technology experts enjoy.
Switching It Up
The biggest obstacle to bringing underrepresented groups into the technology industry is that deep insularity and exclusionary culture that pervades much of the fastest-growing, highest-profile parts of the industry, especially the companies that create social web apps and consumer technology.
We have already seen that qualified candidates who are women, or non-Asian minorities, or persons who have varying physical and mental skills, face significant systemic exclusion from the tech industry, even as it loudly proclaims how critical its need for programming talent is. There are similar barriers to those who not geographically located in a small handful of big cities, not to mention the obvious challenges with engaging with talent from outside of the United States.
But even if a candidate can navigate this formidable set of obstacles, they might well end up in a career that's unfulfilling, marginalized within the companies they'd worked so hard to join. The simple reason why? These candidates speak a different language.
I don't just mean tech jargon — as off-putting as acronyms and tech talk can be, many people can make the leap to learning the vocabulary needed for the work that they do. Rather, there's a challenge in being fluent in the cultural assumptions and social context in which the tech industry exists. Even more broadly, there's the challenge of literacy in the business world overall.
For as famously open-minded as the technology industry is about fashion (insert brief digression here for me to sartorially eviscerate Zuckerberg for his hoodies once more), there's an extremely rigid linguistic uniform within the tech industry. Whether it's fluency in meme culture, familiarity with Reddit or Hacker News in-jokes, obsessive literacy in the minutia of Steve Jobs' life, or a preternatural interest in screen resolutions, the tropes of programmer culture today are deeply insular. Move to the executive suite, add in a healthy dose of MBA jargon and peacocking from the old boys' network, and it becomes clear that the ability to read and write Python pales in comparison to reading and writing tech corporatese.
Keep in mind, the groups that most need to access these tech opportunities have fewer chances to learn the lingo of corporate America, and will be judged on far less forgiving grounds if they are in the process of learning it. So simply waving the promise of great jobs in front of those who are economically or socially disadvantaged, without addressing the cultural barriers they're likely to face, is irresponsible.
Code For America
The answer, then, is to encourage our young people to learn to code switch. Code switching, as explained so well by NPR's "Code Switch" blog, is a simple matter of being fluent in multiple cultures:
[M]any of us subtly, reflexively change the way we express ourselves all the time. We're hop-scotching between different cultural and linguistic spaces and different parts of our own identities — sometimes within a single interaction.
When you're attuned to the phenomenon of code-switching, you start to see it everywhere, and you begin to see the way race, ethnicity and culture plays out all over the place.
The ability to seamlessly code switch between different cultural contexts is an ability that the President is extremely familiar with. And as we move to a culture where no one racial or political group is a majority, it becomes increasingly valuable and important.
What's more, technology changes extremely quickly — the programming skills we're teaching our young people today will largely be obsoleted in just a few years unless they're accompanied by the social skills to keep learning on top of those fundamentals.
For those who are underrepresented in technology today, a long-term career in coding is predicated on being an expert at code switching.
This focus on code switching isn't to pooh-pooh the idea that technology in general, or programming in particular, could be a valuable leg up for those who are on the wrong side of our society's increasing economic gap. I do think the enormous concentration of wealth in the tech industry could be directed toward broadening opportunity. But to truly do so in a meaningful way, those of us who are already in tech have to focus on a few important goals:
- We have to, counterintuitively, build a good support system and funding infrastructure for less efficient startups. Yes, less efficient. Because current efficiency models for tech startups count on creating a few rich winners and a mass of very poor underemployed workers, but very few long-term sustainable middle class jobs. We're going to have to articulate, and pursue, different goals in our tech startups if we're going to make enough solid jobs for the folks we're encouraging to learn coding.
- Similarly, we have to embrace the idea of blue collar coders. If we succeed in bringing all of these new young people to the tech industry, we're going to necessarily undo the image of programming as the exclusive domain of a rarified coterie of high priests. Instead, we have to see it as a useful trade that is a meaningful path toward the middle class for those who are struggling to get there, akin to the blue collar trades that honorably served that purpose in the last century.
- We have to aggressively, and uncompromisingly, attack the pernicious lie that the technology industry is a meritocracy. Perpetuating this myth only serves to bolster the egos of those who have succeeded already, at the expense of saying that people who are underrepresented in tech today aren't present because they aren't good. We cannot tell most Americans that they're bad at technology, then ask them to spend an hour learning to program, and then wonder why it didn't work. And we can't just tell them to follow the same ten tips that worked for most of the big tech success stories in the past.
- Most fundamentally, the way we get young people to engage with technology, and to consider programming as a potential career path, is to talk about our values and our communities. Tech changes constantly, and what's currently in fashion as a programming language or technology platform will change countless times during a person's career. We do have a chance to break out of the current systems of exclusion and return to software's origins as an industry led by women, or to embrace the global reality where people of every race and social class are finding opportunities in technology outside the United States.
Reaching the true potential of the technology industry, both from the standpoint of creating meaningful jobs for many people, as well as inventing valuable new products and services to help people, is an important goal. But the ability to read and write code is the end result of a process, not the starting point.
If our goal is for more young people who speak programming languages, then the tech industry must go at least halfway in speaking their language.