Why We Shouldn't Target Women

I’m back from Devoxx, having had lots of food for thought.  In particular, my panel on Why We Shouldn’t Target Women generated a lot of discussion and I’m still trying to process it all.

Martijn Verburg; Regina ten Bruggencate; Trisha Gee; Antonio Goncalves; Claude Falguière; Kim Ross 

The panel went really well, we got decent interaction from the audience, and of course my fellow panel members were awesome.  I managed to restrain myself from using the opportunity as my own personal soap box and allowed other people to speak occasionally.  Sadly the only male on the panel stole the show somewhat, so Antonio won’t be invited in future… Actually in seriousness, it was great to have a guy on the panel to present his point of view.  It was interesting that he’s a father, highlighting that parenting issues are not the same as women’s issues, and conflating those two concerns hurts both genders. But Antonio’s hair is far too shiny and pretty and he’s funnier than I am, so I’m not standing next to him again.

I’d love to make a note of all the issues discussed during the hour, but I’ll be honest, I was too busy trying not to fall over in my girly six-inch stiletto boots to remember anything that happened.  The video will hopefully be available on Parleys some time in the future, so I will link to it when it’s there if it’s not too horribly embarrassing.

Someone let me have the microphone again…

One question that came up more than once throughout the week was: IT/programming is not the only industry with a lack of women, why should we care?  Maybe it’s just natural?

I think we need to be very careful before writing off such an imbalance as “natural”.  We need to make sure first that we aren’t discriminating against groups, consciously or through some unnoticed system bias.    And for me, the thing is that we notice that women aren’t well represented in technical roles, but we don’t necessarily notice the other groups of people who might be being put off for similar (or maybe totally different) reasons.  We can’t so easily tell if gays, jews, parents, shy people, folks from poor backgrounds or any other less distinguishable sets of people are finding it hard to make it as a programmer.

We can see the figures for females.  In the UK in 2008:

  • 44.7% of people taking ICT (Information and Communications Technology) at GCSE (age 14-16) are girls.  As in many other subjects these days, the girls get better results than the boys.
  • 38.6% of kids taking ICT at A Level (16-18) are girls.  Only 9.6% of Computing students are girls. Again, girls outperform the boys in both subjects.
  • 19.4% of those studying Computer Science at university are women.  This is down from 24% in 2003.
  • Through a not-very-scientific poll of the members of the London Java Community, it looks like approximately 15% of techies in industry are women.  Interestingly, some companies have a much higher proportion than others, but I think that’s something to explore another time.
The thing that worries me about these figures are a) the “pipeline” hints at a drop-off in interest in the subject, not a lack of ability, since the girls are doing well tech subjects but choose not to pursue them and b) the numbers are declining in some areas, specifically university applications.  I’ve read studies that show the percentage of those in technical jobs who are women has been steadily declining since the 80s, but it’s difficult to get specific figures, especially as I’m particularly interested in programming / technical roles rather than just the percentage of women “in IT”.
If the numbers are declining, that seems like a smell to me.  Not only do we have some sort of image problem which puts people like those who have two X chromosomes off from entering our industry, we’re driving them away when they get here.  And I don’t believe that’s because women find they’re not good at it.
Other industries have been successful at attracting a higher proportion of women - for example, in 1950, only 15% of accountants were women.  By 1985 half of all accounting majors were women, and by 1990 the majority of the workforce was female.  It would be nice to think we could learn something from our friends in the Maths world.  After all, the skills are not dissimilar.  But they have a slight advantage over us - in many countries all children are required to study maths until age 16.  However, there are very few 16-year-olds who have any programming experience at all.  Either we need to accept that we’re going to have to hire kids with other degrees and train them to be programmers, or we’re going to have to do some serious outreach to interest kids in programming and technology long before they start to make their exam choices.  In the UK, they need to choose their GCSE subjects at 14, which means we probably need to be targeting kids as young as 10 or 11.  That’s not inconceivable, when you think about it - how many of us were programming in BASIC aged eight or nine?  Could we not teach kids to write an iPhone app or a Facebook app instead?  I was very pleased to hear someone in our audience was teaching their daughter to program.  At an even younger age, the least you can do is buy your kids Lego - I’m sure that exercises the right parts of the brain.
The point is, that I don’t think we can conclude that it’s “natural” for girls to not be interested in programming.  The first programmer was a woman, and during the war and even into the ’60s many programmers were women.  I think that if we can work with schools to provide some tutoring in computing at a younger age we might be able to attract kids who wouldn’t have thought about programming as a career choice before.  Some of these may be women, some will not.  That’s fine, diversity is our ultimate goal.
Which leads me onto another point - special treatment of women.  I’ve said it before I’m sure - I think singling out women to attempt to increase their numbers does more harm than good, for a number of reasons: 
  1. It makes women think that there must be something wrong in our industry if women need to be treated differently, or mentored differently, or need additional training to get by. Or it makes us think that we really aren’t as good as our male counterparts because we’re being given special treatment.
  2. It builds up resentment amongst our male colleagues, so they soon begin to wonder if we’re doing our job because we’re good at it, or if we got there because we got lots more help, or because we’re there to tick some sort of box
  3. It’s not solving the problem of lack of overall diversity - where are the programs for people who went to the wrong schools, for those who didn’t think about programming as a career, for a million other special interest groups that exist out there?
Some of the ideas that imply special treatment are things like: all women events (you should know by now how I feel about those
So, what can we do?
  • Reach out to those you want speaking at your conferences.  This might include women, it might include people from other “minorities”, or it might just be awesome people that you want there making your conference look good.  
  • Use these people for marketing and role models - it is indeed possible that if you have some female faces on your conference site and posters, you might attract more women attendees.  Actually, if you have more women role models you might attract more men, but hey, it’s all about diversity.
  • Buy your kids Lego and teach them programming.
  • Treat women in your company like people the same as anyone else.  We were asked about how to deal with a younger female boss.  Kim’s answer was perfect: “Like an older, male boss”.
  • Get involved in mentoring programmes, not just for women but for people of all ages - kids at school, undergraduates, or people who are already in the industry and want to take that next step, for example to speaking at conferences or writing or leading teams or becoming CTO.
Since the panel I’ve been pointed, numerous times, to this excellent article which talks about racism, sexism, and meritocracies.  I particularly like the line “Explicit diversity programs have the solution exactly backwards”.  Well worth a read.

Why We Shouldn’t Target Women

I’m back from Devoxx, having had lots of food for thought. In particular, my panel on Why We Shouldn’t Target Women generated a lot of discussion and I’m still trying to process it all.
Martijn Verburg; Regina ten Bruggencate; Trisha Gee; Antonio Goncalves; Claude Falguière; Kim Ross The panel went really well, we got decent interaction from the audience, and of course my fellow panel members were awesome. I managed to restrain myself from using the opportunity as my own personal soap box and allowed other people to speak occasionally.

Devoxx: The story so far


Stephan wearing the Brazilian flag at the opening keynote

  • European conferences are different (and cool) because you get to hear even more languages spoken than you usually do in London (apparently the most diverse city in the world for spoken languages). I think the idea of a Paris Devoxx with 75% of the talks in French is brilliant - I'm always banging on about diversity, we shouldn't expect developers to learn in English only.
  • Really great to meet up with some of the people I met at Java One and am starting to feel more a part of the global community.
  • Seems to me there are slightly more women here than at the other conferences I've been to, and not just because Regina and I pulled together four women for a panel on women technologists. And once again, a lot of guys asking why this is, because they want things to change.
  • A highlight was seeing my namesake, AutoTrish, up on a cinema-sized screen in front of hundreds of people at Dave Farley's Continuous Delivery presentation.
  • Building on from my twitter revelation at JAX London, I've found twitter very useful here for messaging people I want to meet up with, but also for chatting to new people and making new friends. It's not quite as intimate as JAX London though because there are billions more people here, so the chances of actually bumping into the twitter friends is much lower.
  • Have had lots of interesting conversations with people about the Open JDK, which I guess is the logical extension of the interesting conversations I had about the JCP In San Francisco.
  • A community event like this is different to an event like Java One, because a single organisation isn't calling the shots. It's interesting (and great) that Oracle and Google can both be here talking about the cool stuff they're up to.


The Diabolical Developer

Conferences are clearly something that appeal to me - I love meeting people and chatting about interesting and (sometimes) intelligent things; I love learning stuff and indexing it away, possibly for future references; I love hanging out with people like the LJC guys (Ben, Martijn and John); I love kicking around ideas of what more we can do at LMAX with our lot (Mike, Dave, Dali).


Dave's Continuous Delivery

I'm really looking forward to my panel this afternoon, I'm going to be ranting about how we target women for tech jobs. Should be fun.


Nice 'tash!

Shameless plug: Mike and Dali are raising money for men's health with their rather awesome 'tashes. It took guts to stand up on stage and present with that handlebar, please give a penny or two

JAX London – I learn stuff and meet people

A couple of weeks ago, I was at JAX London along with a number of the London Java Community regulars (Martijn/Ben/John/Sandro/Simon/Zoe I’m looking at you….)

My purpose for attending was largely to present the Hardcore Concurrency for Beginners talk that Mike and I debuted at an LJC event a few weeks back. Almost as important was catching up with the aforementioned LJCers and meeting with as many people as would talk to me. After the disappointment of the sessions at Java One, sitting in a room being talked at was quite low down on my list of priorities. Sometimes it’s nice to be wrong.

The sessions at JAX were of a very high standard, and I learnt something from every one. I was pleasantly surprised by the calibre of international speakers that were there, and the sessions seemed to be pitched right for me personally, which was nice.

Downsides:

  • I’m going to cover these first because I like to end on a high note.  Firstly, although I was interested in the Open JDK session at the community night, it was really on way too late (and after too much beer - i.e. more than none) to get the most out of it.
  • It’s a bit of a shame that our session was the last presentation on the final day, by that time people’s brains are fried and we didn’t get as many questions, or as much interaction, as we usually would.  Maybe that’s because everyone understood and agreed with us.  But we did get great feedback so I could be scraping the barrel for things to complain about.

The following sections outline the main takeaway points for me.

Software Craftsmanship / Design
Sandro did a great job emphasising that Software Craftsmanship is about professionalism, not beauty.  We should be doing the right thing because we want to, because it makes everyone’s lives easier in the long run, and because it is the right thing to do, not because some process dictates that we do it.  The other thing that really struck me was how having a craftsman’s mindset leads to us taking ownership of our career and investing in it.  He also challenged us to stop being miserable and negative.  If we’re happy, we’ll attract more (presumably happy) people into our circle.

Jason Gorman's Slow and Dirty presentation showed that ignoring quality slows down delivery not just in the long run, in terms of maintainability, but also in the short run - a TDD exercise of approximately 30 minutes took less time to get right when done in a test driven fashion, despite that fact that we all still think writing tests takes too much time. He pointed out that Twitter and Facebook are statistical aberrations - not every startup can afford to assume they will be bought out of their scalability problems. There was lots of interesting stuff here about quality, which was pretty inspiring at the time but in retrospect, as a team that already does Test Driven Development almost to the extreme, I wonder what’s next for us to improve our quality even further.
Simon Ritter’s keynote stated that code should be a joy to read, not simply easy to read, and Adam Bien's presentation talking about simplifying code: thinking about design, and not getting bogged down in unnecessary design patterns in order to implement something simple.

Concurrency / Parallelism / Performance
Russel Winder’s session around message passing had me thinking. It was particularly interesting to see him say things that are possibly the opposite of what we (the LMAX/Disruptor types) are preaching. For example, that programmers shouldn’t care about the low-level details; that we should be using models (i.e. abstraction) to deal with parallelism; that you should let the JVM deal with thread management. However, I think he’s fundamentally coming from the same place as us: “concurrency” in the past was not a good model, it was designed for old hardware that was trying to run multiple processes on a single core. With multi-core systems you need to be running code in parallel instead.

Dan Hardiker’s performance testing presentation was another one that reinforced that testing first, finding what the real performance is, profiling and then targeted experimentation are all fundamental to getting good performance. There was a lot of good advice to how to write good performance tests too.
Another point from Simon Ritter’s keynote reiterated that the performance free lunch was over, and we need to get better at writing parallel code.

Workshops
Both the Open JDK session and Ben and Martijn’s “Spring cleaning your code base with Java 7” had me attempting to do things with my mac I never intended to do (i.e. write code). Thanks to Ben and Martijn’s patience, I finally got IntelliJ playing nicely on the mac with Java 7, which was a challenge but I’m pretty pleased I’ve achieved it. The Open JDK one was not as successful for me personally, but I got a good feel for the process of building it (i.e. it’s hard and it takes a very long time).

Other great stuff:

  • The keynote by James Governor from Redmonk was really thought-provoking.  So thought-provoking I wrote no notes and can’t remember any of it.
  • As last time, the Community night was really great.  I met new people and I hung out with some old favourites.  Dear God I must stop drinking with those guys. Hotel bars are particularly awful for losing track of time.
  • I heard about the Java 7+ features enough times from various people to be able to give an overview of the release plan to my geek friends in the pub on Friday (hey, they asked).
  • I learnt how to use twitter to bridge that gap between me and other attendees, and made new friends without having to do the scary thing of approaching strangers.
  • The lunches we rather good.
  • Going to a conference 20 minutes from home is a bonus.  Nice to meet other London devs as well as the European ones too.
  • To me, it seems as if the relevance of the JCP is starting to seep out into the real(er) world.
  • The tables for laptops at the front of the rooms was an awesome idea.  For a start, it encouraged people to get into the room early to get one of those seats.
I had a great time at the conference, I learnt stuff and met people, which is all I really want.

For once, the photos aren’t mine. Images courtesy of JAX London.

More videos from Java One 2011

It must be time for me to move on from talking about Java One, it has dominated my blog of late.  But also I want to talk about JAX London from this week.

But before I move on, it’s probably worth rounding off with the last two resources from the conference.

1) Martin Thompson and I are interviewed about the Disruptor winning the Duke Award (we come in halfway through):

2) I’m interviewed by Duchess about life, the universe and everything (well, the London Java Community, the JCP, the LMAX Disruptor and Duke Award, and women programmers).