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.
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
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
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.
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?”
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.
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.
Diversity is the real rock star
In the past 3 years, I have worked with more women coders than the 7 years
before that combined. I never thought I minded working on male-dominated teams,
but now I don’t want to go back. Why exactly that is, that's a conversation for another time.
But if you haven't had the chance yet to work on a more diverse team, I just want
to end by telling you that it is out there, and it is worth striving for.