Open Source Summit Diversity and open source can help fix the software developer skills gap, argued Scala contributor and Carnegie Mellon Assistant Professor Heather Miller in a keynote talk at the virtual Open Source Summit North America.
Miller examined the IT and computer-related skills shortage from a US perspective. "The Department of Labor statistics show that in 2017 there were over 500,000 computing-related jobs open in the US that were not filled. They project that this number is going to get a lot higher. If this trend continues, it's obvious that there's no way these posts can be filled by computer science graduates."
There are, however, many new people coming into the profession, not necessarily computer science graduates, and a notable point of recent StackOverflow research is the large number of respondents who consider themselves professional and have been coding for less than five years – 39.6 per cent in the latest survey.
"The years of experience of professional software engineers, that is going down," said Miller.
One factor behind the influx of newbie developers is that "new frameworks are lowering the barriers to entry," said Miller, quoting Caleb Fristoe who founded CodeTN, an initiative to teach children programming in Tennessee. "It's a far cry from the days when you had to learn the syntax of several programming languages in order to build useful software."
The way we build software is changing, said Miller, referencing research from Black Duck/Synopsys showing a dramatic increase in the amount of open-source software in use by business. In its latest report [PDF], Synopsys says that 99 per cent of applications audited include open-source components, and that the percentage of open-source software has doubled from 36 per cent in 2015 to 70 per cent in 2019.
Research from Tidelift showed that on average applications have 20 per cent custom code and business logic, 70 per cent open-source components and 10 per cent commodity infrastructure. "People are just building on top of frameworks. It's becoming easier to teach newcomers things."
Seasoned and skilled developers may be snooty about the idea of newcomers joining their team and having to bodge something together with a patchwork of libraries and code cribbed from StackOverflow answers; but Miller's most surprising point, perhaps, is that having a diverse range of people on a team (in terms of skills, experience and gender) improves its productivity. "We need those newcomers... this means looking at ourselves and trying to develop cultures of mentorship, and looking at the scientific research that if you have diverse teams, you can expect that they will develop code faster than teams that are more homogeneous."
Miller's main source for this research is a 2015 paper from ACM on "Gender and Tenure Diversity in GitHub Teams", which found it had "very significant, positive effects on productivity, across different team size segments, when controlled for other effects." Miller said there were some problems with the research, not least that in many cases they had to guess the gender of team members because it was not stated. Nevertheless, she told The Register: "The academic community has accepted that diversity in terms of tenure and gender correlate with more productive teams."
The fact that the barriers to entry in software development are lowered by open source and reuse of frameworks means "it's just more accessible. You can look at the people using frameworks as people who need far less specialised training and there's nothing wrong with that. A lot of people are afraid to get into software engineering. There's a lot of perception that's really wrong."
Why is diversity lacking in software teams? Part of it is the well-known issue of too few females in the profession. Miller said the problem is deep-rooted and may go back to marketing decisions in the '80s. "When Radio Shack started selling build-your-own computers they were marketed to little boys," she told The Register, and this gender bias is self-reinforcing and remains today. "The image of the profession contributes to it being not desirable or even optional for a lot of people."
In 2018, 82.8 per cent of UK computer science students were male [PDF]. On the positive side, Miller said she is seeing "a massive influx of students coming into CS programmes. They don't even know what they're going to do, they just know that's where the money is. That's helpful; perhaps some will stick."
Gender disparity among professional developers (StackOverflow 2020 survey)
She has the impression that the gender mix is improving. "It looks like there's a lot more diversity in the pipe," she said – though she also worries that the culture of the industry will drive them away.
Why are diverse teams more productive? "My guess is that people try to empathise with each other more when they are more different. Also, when you have somebody who is a beginner and somebody who is an expert, everybody tries to help out, it breaks down barriers. There's not this fear of asking questions.
"I can't tell you how many times I've entered some team and, especially when it's very homogeneous, like just a bunch of white dudes that are already friends with one another and I'm the outsider, everybody is knowledgeable about the thing that they're working on and they can converse very concisely. Then I come in asking extra questions. It can go two ways. Either there's pushback and 'How dare you not know X.' That causes me to close down and I don't get so much done. Or I get a response like, 'OK, I will stop and explain'. Then I learn more and they learn more and I am being pulled into the design discussion."
Miller does not think that simply hiring more diverse people into teams is the answer – "people largely do that already," she said – so much as trying not to drive them away.
She hopes that the data on productivity will cause the industry to do more to encourage diversity. "If diversity is not important to you, then at least you might care about the bottom line. It should not be about trying to look good for public relations.
"Maybe there will be a statement about diversity that a company will release, and then that's it. The people actually running the teams are insulated from it, it's just PR. If the people running the teams don't believe it will help them, nothing is going to happen." ®