Credit Where Credit is Due

(Image: Barbara Liskov in 2010 | see credit below)

I am suitably (I think) proud of my professional life, in so much as though I am not the best programmer (I know I have worked with and will continue to work with people far more talented than I), and yet I have been lucky enough to find something I love and tenacious enough to become good enough at it to be able to make my living doing it and helping other people to do it.


Almost everything that I take for granted about modern computing and computer programming can be traced back to a small group of incredibly talented and insightful pioneers, but until today I had no idea that the progenitor of data abstraction and modularity in software, and thereby Object Orientated Programming, is a woman called Barbara Liskov.


I am both stunned and unsurprised at the same time that I have worked in this field for over twenty years and heard the names of white men over and over again and yet never heard her name in all that time.  To be clear, I am sure that there are people working in software engineering right now who have heard of her, but I am simply acknowledging that I had never heard of her before today, whilst I have heard of Dijkstra, Cooley, Flowers, Furber, Hoare to name but a few, and I like to read and learn about what I do for a living.

Okay, so hold on a minute, did I just realise that there is a gender imbalance in software engineering, or indeed that there are wider more systemic issues to do with gender inequality?  Clearly not, but I have been slapped in the face by my own ignorance and guilt therein and I decided to say something about it.  If you are ahead of me on this journey, great! If you are looking to troll me for trying to make the World a better place in some tiny way, please think first about how much of a retrograde misogynist you want to look like before you start in on me.  I know I am not perfect and have many ways in which to be a better man and a better ally, I am not claiming any virtue or that I hold any high moral ground by writing about this today.

Anyway...


The company I work for has made a commitment to gender equality across our employee base, but there is a hard truth that we have to face about the current talent pool in my field, that of computer science in general and computer programming, specifically infrastructure and data engineering in particular.  There are almost no women in the field.  Now I know what you are going to say "I know a couple of women who are web developers", or "My best friend is a an AI programmer and she's definitely a woman", and I know that there are quite a few women working across software, I've worked with some of them and they have been some of the most impressive people I have ever worked with.  In fact of the nine software engineers at my company, two are women, and our Science team does even better having two out of six of their full-time team.  We really would like to be fifty-fifty, but considering the overall demography of the talent pool we are doing pretty well.  Do not think for a second that we are not trying to do better.

The thing is though, just stop and think how many more men you know that work in software engineering or similar...  The difference is an order of magnitude.


My language of choice, Clojure, has a particular problem with gender balance, or it appears to at any rate.  The last Clojure eXchange in London in 2018 had less than five percent female identifying attendance (rough guess if I am honest, but I was on the content committee, I know how many people attended and I know how many women I saw at the event) - but our community has a few shining lights who are women and so the rest of us forget about the real gender picture.  In the last few years we in the Clojure Community have all seen Karin or Elise or Bodil(*) speak or met Yodit(**), or been to a Dojo with or seen Gaivile speak at an event, so we kid ourselves that there are plenty of women in our midst.  I __know__ I am missing out a handful of people, in fact quick shout out to Anna who I met when she was working in London but now lives and works in the States, and there are a couple of other ladies that work for a couple of exciting London startups that use Clojure (you know who you are) whose names I am forgetting - I am genuinely sorry(***).  I've mentioned six names, two of them live and work in the States, referenced eight in total, I would be amazed if anyone in the London / UK Clojure community could name five more women who work in or even actively hobby in Clojure.  There are quite literally hundreds of men who do, many of whom have  name recognition one way or another.


Clojure as a community is a microcosm of the wider trend - there are not many of us, so the fact that less than ten percent of the working population of software engineers are women is writ large across our events and mailing lists and disparate communities.  There are hundreds of thousands of JavaScript developers in the World, so there appear to be more women in that community, but the mix is roughly equivalent, probably a little better to be fair to the JS community.


How is this possible when women like Barbara Liskov built the foundation that we now thrive upon?  How is it possible that the wonderful film "Hidden Figures" that explores the staggering impact that women (mostly of colour), had on the US Space Program as pioneers of computer programming, only got made a few years ago, over fifty years after they made such strides?  (By the way I loved the film, but boy did it make me feel guilty as a white, male, computer programmer - and rightly so).  How is it that we are not encouraging girls and young women to go into this field that our foremothers actually built?


I don't know how to solve it, of course I don't, but I have some ideas that I think might get some of the job done.


For one thing we have to stop seeing computers and computing in a gendered light.  Whether it's programming or gaming or anything in between, this is not a space that can remain a "boys' club" any longer, and the fact that it has remained one so long is shameful, and I know I am part of the problem.  There are plenty of articles out there talking about the masculinisation of the computer industry in the late nineteen seventies and early nineteen eighties, belive me it is a real thing, we did it.


Even more importantly, we need to teach our kids that women are in so many areas of endeavour as important to the evolution of modern society, through science and technology, if not in some cases more important, as the men we all hear about.  Every child in school should be learning to code, even if they don't end up being a coder, but alongside it they should learn who Barbara Liskov is, and what her ingenuity and scholarship did for them, along with all the other great women pioneers in this field, let alone the rest of STEM.  I should not have arrived at the age of 45, with 20 years of professional experience and a lifetime of personal experience with computers and software without hearing her name.  We owe it to the children in our schools to really let them know how important the contribution of women has been to computer science, or we will go for generations to come with less and less women entering the field, and more and more men who assume for some bizarre reason that this field is theirs alone.

None of this can be fixed overnight, and all of it is complex and part of a wider set of issues to do with gender inequality, but this should be something that we, software professionals that is, can actually fix.  We need to talk to non-technical people about the history of our discipline without redacting the women, and we need to talk to kids about how computer science can and should be the great leveller in professional gender balance, because women have an equal stake in its history at the very least.  If we can move those needles and start to encourage more girls and young women to explore this great area of endeavour, then one day there may be gender equal development teams all across the software world, and that would be a great way to say thankyou to Barbara Liskov.


Watch Barbara talk about how she invented Data Abstraction and laid the groundwork for Object Orientated Programming and by association much of the technology that we take for granted today, here.  She is absolutely a hero, tell five people about her today if you possibly can.

Here is her professional faculty profile at MIT


There are actually quite a few excellent groups for advocacy and awareness for women and other under-represented groups in Software Engineering, so if you are looking for them either because you are a woman who codes or wants to code, or because you are a man who would like to do better at this, here are some ideas to start you off:


The header image for this post is a modified version (cropped) of a photograph made available by the originator via an Open Source License - here is their credit:

By Kenneth C. Zirkel - Own work, CC BY-SA 3.0

As is required by the License I hereby make my modified version available under the same License.


(* Bodil has pretty much left the Clojure community behind, but she is still a clarion voice in software engineering and a prolific member of the Rust community.)

(** If you've been around the London Clojure scene for long enough you may have heard Yodit speak or at least met her at a Dojo or a conference, but these days she is just too busy running her own company - yep she's awesome)

(*** If any of the women I have mentioned in this article would like me to link to their Twitter accounts / blogs etc. then I am happy to do that, but I don't want to single them out without their consent / knowledge, because sadly they already get enough unpleasant attention online as it is.  That sad state of affairs is a whole 'nother blogpost - I am getting to it.)