It struck me recently, how big tech have countered the tech staffing crisis; not by making meaningful long-term contributions to resolve it, but by going to more extreme lengths to secure the talent pool that already exists. Relocating people from all around the globe, generous packages etc.
On a recent trip to MIT it seemed to me that their outreach schemes (at least the ones we learnt about) all focused on nurturing the brightest kids. People who were going to do pretty well in life regardless of the opportunity to spend some time on a MIT scheme. They focus on the few. Not the many.
But we need many tech literate people, not just a few genii.
It seems to me there is one clear way to resolve the tech staffing crisis; open the industry up to a more diverse mix of people.
It is a perverse thing that we have a staffing crisis and yet systematically exclude vast swathes of the population from tech, particularly programming, because of the way the topic is taught, and the way the industry is run.
We as individuals in tech must take responsibility for this, because big tech and academia alone won’t.
The following are my suggestions on how we can improve diversity in tech, and hopefully in turn ease the staffing crisis. I appreciate these are not easy things to do, as if they were they would have been done already. But we are running out of easy options, and we still have an issue. So perhaps it’s time to start thinking longer term?
Accept that we currently fall short on diversity
It seems a lot of people in the industry are not willing to accept we have a diversity problem, and are happy to take the modest improvements that have been made in the last decade to mean that nothing else needs to be done.
We need those who hold positions of power to understand that this is not the case.
I was once guilty of this mindset and thought that tech was a wonderfully welcoming place for everyone. But what I found was, when you stop spurting your own narrow experience, and really start listening to those of others it becomes clear, tech is not a great place for everyone.
The bottom line is that generally speaking, women, the neurodiverse and minority groups, at best can be described as having a much harder time (comparatively) than the majority of men do. Yet these people make up over half the population!
Don’t assume everything is great for everyone in tech, just because it is for you and put the work in to understand how and why others might struggle.
Get girls into tech at a younger age
Working on outreach programmes recently, a message I have heard repeatedly from teachers is that by the time kids get to secondary school, the gender divide in tech already exists. Computers are still very much seen as a boys toy and not a thing for girls.
We need to address this at a young age through outreach and more female tech teachers and role models. We must work out how to break this perception that computers are a boys toy.
By doing this we stand a chance of improving the numbers of girls partaking in technology at secondary, and university level.
Improve how we teach coding to make it accessible
At school my maths teacher laughed at me when I suggested that I was interested in computing. While I have gone on to be vindicated, she was right about one thing; I would have never made it onto or through a computer science course.
As an undiagnosed neurodivergent, the school was not equipped to teach me maths and universities not equipped to teach me computer science.
There are lots of people with brilliant minds, who struggle to learn through conventional academia. These people should not be discarded as worthless, and should still be afforded the opportunity to learn computing.
Taking myself as the example, I had to teach myself through trial and error how to program. Through countless code alongs, books, podcasts and conferences. 10 years of professional experience in the field, I am only now studying a computing degree, and in year two the process is nothing more than a box ticking exercise. I know the material so it’s easy, but I could not have been taught it by formal academia.
Not everyone is as stubborn and bloody minded as me, and I have witnessed many try and give up when teaching themselves.
It seems to me at the moment we continue to teach the “top tiers” of students computing. We must ensure everybody has the opportunity to learn, and tailor the methods for learning to everyone.
Improve the culture
Getting a more diverse mix of people into tech is one problem. Keeping them in the industry is another altogether.
One reason? Tech culture, but dev culture in particular can absolutely stink. As an industry we have created a culture of shame. Don’t believe me? Consider Cunninghams law.
Say you are stuck on a coding problem, and need a little help. Cunningham’s law states, that the best way to get the correct answer is to post the wrong answer. Somebody will (attempt to) correct you, and will rarely do so kindly. People, but developers in particular are much happier to correct, than they are to actually help.
Listen in to a developer who has just inherited a codebase and you can expect to hear cries of
‘Who the hell wrote this’
And the old chestnut...
'This needs rewriting completely'
Even though your code is demonstrably working through a suite of automated tests and is obtaining required speed metrics. Rest assured there will always be somebody on hand to scold you and tell you how you should have done it.
If you are not a super confident person, it can be very hard to survive your early years working in this environment. You are expected to eat a lot of crap and smile while doing so. It’s only when you start to have success and prove yourself, that you realise not to take it personally; a lot of people are just dicks.
To the uninitiated this can be hard to swallow. It causes people to question what their opinion is worth compared to this super confident shouty individual who seems to know so much more them then? I believe a key reason we do not retain people.
Which is a sad thing, as the truth is; whether you have a doctorate in computer science, or have just finished your first code camp later in life; your opinion is valuable and can make a difference.
Adjust working practices to make tech more accessible
Flexible working hours are not just for sleeping in, that said if your staff member needs a lie in and it allows them to put in a solid seven hours work that day, what’s the problem?
A flexible working day allows for people to schedule work around their own needs. E.g. the need for a lie in, managing their Mental Health or childcare requirements.
If you want the best out of people, you have to allow them to manage their own needs ahead of work, and trust that they will repay you in kind. If you want a diverse mix of people in a team, this is not optional.
Starting early so you can finish early to take care of the kids? The team can learn to work around it. Longer lunch break to exercise in the sun in the winter; sounds like a good idea.
Build your business to allow your staff flexibility and you will not only enable diversity in the team, but also attract better talent and make your existing staff happier too.
Truly, I can only speak authoritatively about being a neurodivergent in tech who was (and still sometimes is) made to feel like he has ‘idiot’ written across his forehead. I can only relate my struggles to the other groups I have mentioned in this article. But if we really want to improve diversity in tech, we need to make an environment in which people feel comfortable to share their experiences, and for people in positions of power to listen, attempt to understand and assist in addressing them.
If we can solve the diversity issue in tech, it will go a long way towards solving the staffing crisis. But it is up to us to make it happen.