A critical need to hire more software engineers was an opportunity to increase the diversity of our teams. But the pool of applicants showed the depth of the challenge.
I spent a sizable fraction of my time in 2021 reviewing about 10,000 applicants for software engineering positions at my company, 7Factor, in order to eventually hire about 30. I came to this process with a reaffirmed commitment to hiring, retaining, and giving growth opportunities to engineers from diverse backgrounds — a principle codified as one of the seven core values embedded in 7Factor’s name. Along the way, I had to confront and attempt to solve for some of the most persistent systemic impediments to greater diversity in software engineering.
This is not a “Great Resignation” story. Very few engineers left my company last year. Very few ever do. Talented technologists who care about developing their craft and creating quality solutions for our clients tend to stay with us long-term, appreciating our commitment to continuous improvement, personal growth, and mutual support.
The new hires were mostly to cover our rapid expansion. Last year was, in many ways, a very good year for my company. Demand surged for our high-performing teams of software engineers, with new and existing customers coming to us with projects that would more than double our gross revenue.
There was only one problem: I didn’t have nearly enough engineers to staff all these opportunities. I know this is the right kind of problem to have, but it was a problem just the same.
This is very much a “Global Talent Shortage” story.
At 7Factor, our interview process is rigorous and our technical standards are extremely high. But there’s currently a critical global shortage of the talent we need to maintain those standards. This leads to two consequences:
- We end up rejecting the vast majority of all applicants.
- We can’t afford to let bias get in the way of us discovering, recruiting, and retaining talented engineers.
So as I responded to our critical need to hire more software engineers, I was determined to use this as an opportunity to increase the diversity of our teams. That’s why I told my recruitment agency that I wanted them to send me a very diverse applicant pool. They tried, I believe they really tried. And yet out of those 10,000 applicants I received, only about 100 (1%) were women or people of color. I hired two of those applicants, or 2% of the available pool, compared to 0.3% of the 10,000 as a whole. But that still left me hiring mostly white men to fill the 30 open positions.
This was profoundly frustrating to me. What’s going on here?
It probably goes without saying, but this challenge is not new or unique to my company. While women dominated the field of computer science in its early decades, starting in the 1970s women were systematically phased out of the field to be replaced by men. Today, somewhere between 19% and 25% of software engineers are women.
Meanwhile, American Black and Hispanic engineers have always been underrepresented in the field. A 2020 CNBC article reported little improvement in representation at major tech companies over the previous six years. For example, Black people made up only 3.8% of Facebook’s technical workforce, despite comprising 13.4% of the U.S. population. And a 2021 Pew Research Center report found that Hispanic people held only 8% of computer jobs, while accounting for 18.7% of the U.S. population.
The disparities, however, start before people enter the job market. According to the National Girls Collaborative Project, while women earn about 57% of all bachelor’s degrees in the United States, they earn only 18% of computer science degrees. ComputerScience.org notes that women earned 37% of computer science degrees in 1984, so this disparity has actually gotten worse over the last few decades.
Similarly, the same Pew Research Center report found that “Black and Hispanic adults are underrepresented among STEM college graduates compared with their share in the population.” For example, Pew found that Black students earn only 7% of STEM undergraduate degrees. “In computer science,” the report continues, “Hispanic students earned 8% of master’s degrees and 6% of research doctorates.”
And the systemic inequities of course begin long before college. They include:
- Space, tech, and time. Socioeconomic factors have a major impact here. Future (and current) software engineers develop their skills by sitting in front of a computer, in an environment that allows them to focus for hours at a time as they solve problems and learn the craft. But not all potentially skilled developers have access to the equipment, space, and time to do that.
- Encouragement and role models. Women and girls are often taught, whether explicitly or implicitly, that computers and engineering are male pursuits, and therefore are not supported in following any interest or curiosity they may have in these fields. People of color and other marginalized groups may see too few identifiable role models in software engineering, so many never consider it a viable career path.
- Educational opportunities. Some kids are introduced to basic coding concepts when they are five years old, and have excellent computer science classes and equipment throughout high school, while others never see a line of code before their first coding bootcamp.
- Internships and other early experience. As is true in many fields, internships can jumpstart a career in computer engineering, but they are not equitably available to all. Internships that are unpaid are even harder for those with limited resources to access.
- Talent. In order to respond with quality solutions to the fast-growing demand we’re experiencing, I need to be able to attract and retain top talent from all backgrounds and identities. Anything that prevents me from successfully finding, hiring, and keeping superb software engineers ends up hurting my business. I can’t afford that.
- Perspective. “Why are we doing this?” That’s one of the most important questions anyone can ask on a software engineering team. Yet on homogenous teams, it’s too easy to fall into habits of thinking, to take certain approaches because “that’s how we’ve always done it.” Solutions that are more efficient, effective, or aligned with client goals often arise because someone with a different perspective feels safe in asking, “But why do we do it this way?” Often followed by, “What if we did it this way instead?”
- Innovation. I encourage harmonious autonomy because I know that diversity of thinking encourages innovation. While some problems we solve in software engineering have a well-established right way to solve them, many of the most interesting and important problems we tackle require equal parts creativity and critical thinking. That creativity works best when my engineers don’t all think alike.
- Retention. Diversity creates a richer culture at 7Factor, a place where people can show up true to who they are while learning from the experiences and perspectives of those very different from themselves. This freedom of thought and expression empowers my engineers in their positions. This helps us attract more talented engineers, and I think it’s also why most people choose to stay.
Such disparities can be found in any group of people, but they disproportionately impact women, people of color, and other marginalized communities. The whole system is broken in ways that limit the access of underrepresented groups to opportunities that would lead them down the path of a career in computer science.
Small wonder that fast-growing software-engineering companies like mine struggle to hire a diverse workforce. Even the big dogs of the computer science world, with their lucrative pay packages and perks, are struggling to hire a diverse workforce from a candidate pool severely lacking in diversity. How can the rest of us compete for the most qualified engineers from underrepresented communities?
Why It Matters to Me
I’m not looking for excuses for why we haven’t yet hired a software engineering team that reflects the full diversity of America. I’m looking for solutions.
Ours is a culture that encourages everyone to bring their whole selves to work. We understand diversity broadly, to include factors like neurodivergence, personality, and gender identity. We are guided by a spirit of harmonious autonomy that encourages our engineers to solve problems in their own ways, within the guardrails of our best practices and standards of quality.
I care about this, in part, because it’s the right thing to do, but I also know it’s the smart thing to do for my business. There are a few key reasons for this.
At the heart of it all though, this is personal to me. One of the rewards of running my own company is the leverage it gives me to lift people up and give them opportunities to grow, to succeed, if they show me they have the talent and drive our field requires.
But what do I do about that 1% problem? How do I hire more women when so few apply? How do I hire more technologists of color when so few resumes make it to my screen?
I don’t have all the answers, but here’s what we’re trying.
Deepening Our Reach
Some of the inequities in software engineering are beyond the limits of my current impact. I don’t, for example, have a solution for the underrepresentation of women and people of color getting degrees in computer science. It’s clearly a critical problem that, as a field, we must address, but it’s not one I can solve myself.
However, wherever 7Factor can reach deeper to lift people up, that’s what we’re going to do.
By the time someone applies for a junior developer position at my company, I’m looking to see that they’ve had relevant experience outside their computer science degree or coding bootcamp. Opportunities to get that experience, however, are not evenly distributed.
In order to offset some of these inequities, we’re presently reconfiguring and will soon relaunch our Apprenticeship Program, which gives inexperienced new developers an opportunity to gain experience as working members of one of our teams.
We’re also going to fatten our hiring pipeline. 10,000 applicants for 30 positions was already a lot, but now I want more. If only 1% of applicants will be women or people of color, then maybe we need 100,000 applicants. We’ll see.
Our software development process is based heavily on the idea of continuous improvement. Last year’s hiring revealed some challenges that our existing processes didn’t solve. But we’re iterating on last year’s approach, trying to do better in the year ahead. I’m certain that our present solutions won’t be perfect, but we’re going to keep trying, learning, then using what we learn to try something better.
And as we succeed in finding and hiring a more diverse team of engineers, I know we’ll be able to keep them. I’ll hold 7Factor’s culture up against any competitor in the field. We respect people in the fullness of who they are. We help our people grow. We support them in having balanced lives.
I have no ambitions of 7Factor ever becoming the biggest software engineering company around. I’m more than content with working toward being the best, and diverse teams of engineers will help us get there. I don’t need to hire thousands of people to do that. I need only the right dozens of smart people.
We’re going to find them, or help them find us. And once they’re part of our team, our culture will convince them to stay and grow with us.
Together, we’ll build good things.