How the image of software developers came about

Birgitta Böckeler is a developer and consultant with ThoughtWorks in Germany. As a Technical Lead on custom software delivery teams, she is splitting her days between coding, coaching, consulting, and keeping the work fun.

The stereotype of the socially-awkward, white, male programmer has been around for a long time. Although "diversity in tech" is a much discussed topic, the numbers have not been getting any better. On the contrary, a lot of people inside and outside of the IT industry still take it for granted that this stereotype is the natural norm, and this perception is one of the things that is standing in our way to make the profession more inclusive and inviting. So where does this image come from? Did the demographics of the world's programmer population really evolve naturally, because "boys just like computers more"? What shaped our perception of programmers? This text is about some possible explanations I found when reading about the history of computing.

Coders Nathan Ensmenger is a professor at Indiana University who has specialised in the social and historical aspects of computing. In his book “The Computer Boys Take Over” , he explores the origins of our profession, and how programmers were first hired and trained: Little has yet been written about the silent majority of computer specialists, the vast armies of largely anonymous engineers, analysts, and programmers who designed and constructed the complex systems that make possible our increasingly computerized society. The title of the book is a reference to where it all started: With the “Computer Girls”. The women programming the ENIAC — one of the very first electronic, general purpose, digital computers — are widely considered to be the first programmers. At the time, the word “programmer”, or the concept of a program, did not even exist yet. The six women (Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman) were hired to “setup” the ENIAC to perform “plans of computation”. More specifically, they were teaching the machine to calculate trajectories of weapons, to be used by soldiers in the field. The ENIAC women were recruited from the existing groups of women who up until then had been calculating these plans manually. Try entering "first computer" in google.com, then try "Erster Computer" in google.de - the first results will either mention the ENIAC or Konrad Zuse's Z3, respectively. This is just a reminder that the sources for this text are almost exclusively US-American, viewed from my German perspective. The Computer History Museum in Mountain View has an interview with Jean Bartik (formerly Betty Jennings) on their website that offers a glimpse into the way Jean and her colleagues approached the task. The most fascinating thing for me is that Jean Bartik describes how those very first programmers already appreciated the value of pair programming, a concept that took more than 50 years (and Kent Beck’s book, “Extreme Programming” ) to get its name: “Betty Snyder and I, from the beginning, were a pair. And I believe that the best design and all that stuff is done by pairs because you can criticize each other, find each other’s errors, and use the best ideas.” -- Jean Bartik The ENIAC women at work (Wikimedia Commons) Computer “setup” was of course a very mechanical process at the time, pictures from those early days show how much it resembled plugging cables into telephone switchboards. So this work was seen as handicraft and mechanical, as opposed to scientific and intellectual. The women were called “operators”, “computers”, or “coders”. According to Ensmenger, the term “coders” became very associated with mechanical or manual work, and with the female gender. Even after the term programmer got established in the 1950s, for a few decades to come, “coder” still had negative status and gender connotations, and male programmers tried to distance themselves from it.

Nobody saw it coming If the ENIAC’s administrators had known how crucial programming would be to the functioning of the electronic computer and how complex it would prove to be, they might have been more hesitant to give such an important role to women -- Jean Bartik So the computer revolution had started - hardware was continuously improving, and a lot of people were excited about the progress and the bright future of computing. But nobody was actually paying much attention to software yet. Stephanie Shirley, who founded one of the very first British software startups in 1962, looks back in this TED talk, saying: “Software was given away free at the time with hardware, nobody would buy software. Certainly not from a woman.” But it turned out that the challenge of software development had been sorely underestimated - they found that programming is hard. Maurice Wilkes, a pioneering British computer scientist, realised at the time “with some shock and dismay” that “a good part of the remainder of [his] life was going to be spent in finding errors in [his] own programs”. The media in the 50s and 60s also picked up on this. There were stories in the press like that of the Mariner 1 probe to Venus, which left its course and had to be destroyed. The urban legends for this failure include a story about a “.” instead of a “,” in a Fortran statement, or a “missing hyphen” in an equation. There is no evidence that Fortran was even used in the programming of the probe, but these stories strengthened the opinion that only the most skilled programmers should be employed, because programming was so error-prone.

Born, not made IBM Ad in the NYT, May 31, 1968 - they received 7 replies and considered this an "excellent return on investment" (The Computer Boys Take Over ) It was hard for companies to figure out what skills were needed for this totally new profession. They needed programmers to be really good, because they were panicking about errors. At the same time, they had no specific idea of the necessary skill set. Companies started to think programmers had to be „born, not made“, and that programming was a „Black Art“. This was fuelled by the fact that programming was a very idiosyncratic activity at the time, almost every computer operated differently. How do you recruit people for a profession like that, when at the same time the demand increases rapidly? The “software crisis” had started. One approach the big players in the industry took at the time to identify and recruit programmers were aptitude tests. These tests were supposed to filter for traits thought essential to good programming, such as logical thinking and abstract reasoning. According to Nathan Ensmenger’s research, by 1962 an estimated 80% of all business used some form of aptitude test when hiring programmers. Half of these used the IBM PAT (Programmer Aptitude Test), which would become the industry standard instrument. In 1967 alone, the PAT was administered to more than 700.000 individuals, it was basically the gateway into the programming occupation. But these aptitude tests were not enough for some companies, they were also trying to find personality profiles to predict which type of people had a good chance to become happy (and therefore effective) programmers. One of these companies was SDC, hired in the 50s by IBM to work on one of the largest software projects at the time, the SAGE. In 1956, about 700 programmers were employed by SDC, which was about three-fifths of the available programmers in the US at the time. Only 5 years later, they had hired 7000 more. They say about themselves that they “trained the industry”. To become better at identifying people with a good aptitude for programming in their recruiting process, they commissioned two psychologists, William M. Cannon and Dallas K. Perry, to define a “Vocational interest scale” for programmers. Their paper, published in 1966, showed a profile similar to the vocational profiles for engineering and chemistry. It was not particularly close to physics or mathematics, there was a slight correlation with musicians, otherwise it was pretty similar to other white-collar work. Cannon and Perry came up with only one really striking characteristic that they attributed to programmers: Disinterest in people. William M. Cannon, Dallas K. Perry; "A Vocational Interest Scale for Computer Programmers", 1966

A self-fulfilling prophecy So let’s recap: 700 000 individuals took the same test to determine if they could become apt programmers. The company that “trained the industry” chose their employees based on a template that included “disinterest in people”. Ensmenger’s conclusion: The primary selection mechanism used by the industry selected for antisocial, mathematically inclined males, and therefore antisocial, mathematically inclined males were overrepresented in the programmer population; this in turn reinforced the popular perception that programmers ought to be male, antisocial and mathematically inclined, and so on. -- The Computer Boys Take Over If you look at what the stereotype of a typical programmer is today, 50 years later, he makes a very convincing point. Are we still expecting “real programmers” to be like this? And even worse, on the flip side, are we suspecting people who do not match this image of not being “real programmers”? Even if you do not believe that this paper could have had the influence that Ensmenger attributes to it, to me it is at the very least a cautionary tale. It’s startling to realise that the pressure of the software crisis, the resulting hiring practices and these two psychologists from the 60s might have shaped this whole image, while so many people are still assuming that it’s “just natural”. So Ensmenger’s book gave me these new puzzle pieces to explain why I am surrounded by such a homogeneous group of people. But still, there used to be more women in computer science, right? What happened to them?

“I guess I think I’m more balanced” The best book I have read so far about women in computing is “Unlocking the Clubhouse ”. The authors, Jane Margolis and Allan Fisher, interviewed more than 100 Computer Science students at Carnegie Mellon university over the course of 4 years, from 1995 to 1999 . They asked them questions like why did they choose Computer Science, what motivated and demotivated them at each point in time of the study, why did those who dropped out do so, etc. There are a lot of quotes from these interviews that really struck a chord with me (and a lot of other software developers I talked to). Here are just a selected few: There are people who are born to do this, and I am not one of them. And it's definitely not one of those things that, like, "Oh, with practice, you will become one who is born to do it" You just gotta be born to be like, "Computers! Yeah! They are awesome!! They are my life!" You know, a lot of computer scientists, that’s all they do. I don’t live to program. I know guys who live to program, or at least they seem to. You find them on the weekends doing nothing but programming and I just think, "How can they do that?" I guess I think I'm more balanced. It is striking to me how the theme of “you have to be born for it” comes up here again, decades later. Many of the interviewed students actually started with a lot of enthusiasm for computers and coding, and then got put off by the passion they seemed to be surrounded by, a passion that seemed to surmount their own. They slowly started believing that maybe they didn’t belong after all, Computer Science was not for them. In Margolis’ and Fisher’s group of students, this did not only happen to women. But it affected them more, because they already stood out as part of the minority, and felt under more scrutiny and more pressure to prove themselves.

“My God, this is so easy.” The other thing that shook the confidence of the Computer Science drop-outs in the study group is that they seemed to be surrounded by people who knew more than them. In this short podcast, Jane Margolis talks about why the rise of home computers in the 80s coincided with a significant drop in female computer science students. Around this time, computer science started becoming an education that favored those who were privileged enough to have computers at home before they started university. And this privileged group was predominantly male. Margolis heard more than one story about a family where the computer was locked up in the brother’s room, so his sister could only get to it when he allowed her to. One student quoted in “Unlocking the Clubhouse” is saying: I began to lose interest in coding because really, whenever I sat down to program there would be tons of people around going, "My God, this is so easy. Why have you been working on it for two days, when I finished in 5 hours?" Felienne Hermans has a great take on "the craziness of the self taught 10 year old" in this blog post: "I am going to stop saying I taught myself programming when I was 10 and maybe you should too. The book also describes the initiations for first-year computer science students at Carnegie Mellon, professors making jokes about how “real programmers use C” or “Java is a programming language for bozos”. To laugh at these things and feel part of the group, you not only need to know about programming languages already, you also need to have knowledge about their status in the community. Imagine a professor saying to a group of first-year medical school students “What? You’ve never cut open a corpse?” But in Computer Science, it is often considered the norm by both students and educators to already have tons of practical experience when you get started. This drop in the 80s must have been yet another catalyst of the self-selection already going on, and we still have not recovered from that when it comes to diversity. And although home computers have become much more common today, the types of households they are common in still reinforces the selection. A Bloomberg Businessweek feature on black computer science students from Howard University reflects some of this. One of the students interviewed says, "When I was at Google, one thing that I heard over and over again was, 'I learned to code when I was 7.' And I was like, 'OK, I didn't.'". The text also touches on the subject of cultural fit, which has become quite a common hiring - or rather, not hiring - factor today. Although officially, cultural fit is about things like being "fun-loving, humble and conscientious", our more or less subconscious biases might apply it to laughing about the same jokes or watching the same TV shows, making the cultural fit yet another potential excuse for just hiring people that are similar to us.

A single model to identify potential programmers Margolis and Fisher make the point that too many people are looking for passion for computers in only a few places. A high school teacher is quoted saying “I have yet to run into a girl like that”, i.e. a girl that loves computers and wants to be programming all night. One of his female counterparts is calling this statement out as a misassumption: Girls may just show their love for computers and science very differently. If we are using a single model to identify potential programmers, we will miss many potential students. -- Unlocking the Clubhouse Let’s say you believe people are indeed born with a larger or smaller aptitude and inclination towards programming and working with computers in general - if parents, educators, role models and society in general teach and convey a very specific image of what programmers are like, many of those people might never even discover this aptitude. (This almost happened to me. I only started programming when I more or less stumbled across it after spending two uninspired years in business school.) Saying someone has to be born to be a programmer applies another filter that many are not aware of: Studies show that it has a profound effect on kids when they believe their intellectual ability is a gift they were born with, rather than something they can develop through practice and dedication. In her 2006 paper, “Is Math a Gift?” , Carol Dweck describes how they neutralised the difference in Math performance among girls and boys in a group of high school students by teaching them about how the brain works. Understanding that they can increase their skills over time because their brain continuously forms new connections had a big impact on the performance of those kids who previously thought it was all about innate ability. We found that many students thought that stereotyping was alive and well in their calculus section. But, happily, this had little impact on women who viewed their math ability as something they could augment. In contrast, feeling surrounded by a negative stereotype had a strong impact on women who thought of their math ability as a gift. -- Carol Dweck, 'Is Math a Gift? Beliefs That Put Females at Risk' To learn more about this, I recommend reading The ‘Good at Math’ Myth, or this article about a more recent study saying the “belief that some fields require 'brilliance' may keep women out”.

So what can we do about it? Reading about the things described so far increased my sensitivity to a lot of subtle and seemingly innocent things we do and say every day. Things that accumulate, things that might have fuelled a cycle over the past 50 years we need to become more aware of. Erica Joy Baker’s blog post The Other Side of Diversity about her personal journey as a woman of color in IT opened my eyes to what can happen when you are part of a minority in a homogeneous environment for years. Sticking out like a “sore thumb”, constantly and often subconsciously trying to adapt, and losing part of your identity through this adaptation. What is the "vocational interest scale" in your head? How does it affect the way you are interviewing and choosing candidates for programmer jobs? Or when you are describing to other people what your job is like? How do we all contribute to the perpetuation of the programmer image, every day? The following are just a few of the many things we can do to adjust the scale in our heads, and those of others. Be aware of "similar-to-me" bias. Something I always wondered about was why such a majority of programmers seem to like science fiction and fantasy (myself included). I actually thought there must be a correlation. Now I am finally starting to suspect, there is not a natural link at all, it’s all just us hiring people that are similar to us... Don’t think the status quo is “just natural”. And don’t let a few men in the 60s still determine who we are, let’s break the cycle of hiring ourselves over and over again. Stop acting so surprised! Whenever you hear yourself or somebody else saying things like “You don’t look like a programmer”, or “What? You don’t know ___?” - stop right there. It might be an innocent little comment that you don’t mean anything by, but the person you are saying it to might be hearing this for the 500th time, and your comment might be the last straw to make them think that they indeed do not belong. This is why such comments are often called “microaggressions”. Each one is small, too small to really be aggressive, but when they appear every week they have a significant cumulative effect. You might miss out on the fun of explaining things (xkcd, “Ten Thousand”) Learn more about microaggressions to increase your awareness of this, for example by reading this excellent article about how microaggressions enforce stereotypes in tech. Challenge the image of the “real programmer” And last but not least, challenge the vocational interest scale in your heads. For example, let go of the notion that only people who spend every free minute programming can be good at it. Let’s face it: No amount of time spent programming can get you up to speed on everything we have to deal with today, especially if you are working in an environment that expects you to be a “full-stack developer”. When I started off, the only thing I needed to do was write, test and build Java code, and I had time to add more and more skills to that over the years. New starters today often get confronted with the full spectrum at once: Not just Dev, but also Ops, Microservices, poly-everything, hone your craft, write good tests. It seems like magic, indeed, to master all this, just a very different type of magic from the one in the 60s. The only way to excel at this is in teams where we complement each other, pair with each other, and don’t constantly make each other feel like we are behind.