There’s no doubt that great programmers can come from all walks of life, any background and be of either sex. However, changes in the world of software engineering mean that skills traditionally thought of as feminine are arguably becoming more important, and I think it’s time to celebrate what girl coders can bring to the table.
I hope it’s obvious that I’m not trying to say that all girls have these skills and no boys do. I’m simply trying to highlight what I believe are commonly held notions about masculine and feminine traits, and why both are important in good programming.
Maintainability Over Speed
In the past, hardware limitations meant that every line of code needed to be optimised for performance, and this need for speed created a somewhat macho culture in which programmers would compete to produce the fastest running code. These days, processing power and disk space advances along with the shift from low-level, procedural to higher-level, object-oriented languages mean that for most software, with the exception of intensive graphics applications and other special cases, this isn’t so much of a priority.
What is a priority is code that is readable, maintainable and extensible. As software becomes increasingly complex, more people are going to be working on each other’s code, and it is more likely to need to be extended. And in my experience, this is something that seems to come more naturally to girls than boys. Boys tend to be more focussed on getting something working and spend time optimizing performance, whereas girls instinctively put more effort into ensuring the code is elegant and understandable.
As technology infiltrates the lives of the general public, bad user interfaces will not be tolerated. The importance of user-friendly, attractive products is clearly demonstrated by Apple’s recent success, where arguably aesthetic design has won out over specs (but that’s a debate for another day…)
I would assert that in general, girls tend to place higher importance on a pleasant user experience.
This takes two forms:
- How aesthetically pleasing a product is
Products aimed at women are available in a wide range of styles and colours (do my straighteners need to be pink? No, but I love them for it), while it is assumed men are happy enough with just a few variations.
At school, I remember the boys would scribble their work down as fast as possible while the girls would make sure everything was laid out neatly and highlighted in the appropriate colours (although I must confess I was too lazy to keep swapping pens).
So it would seem that women just tend to care more about what a product looks like. If that means they put more effort into making prettier user-interfaces, it could be a very commercially valuable trait.
- How easy the product is to use
Studies show that women tend to be more empathetic than men, so perhaps this gives them an advantage when considering user-friendliness as they can empathise with a non-technical user. With such high commercial importance placed on intuitive user-interfaces, this could be very advantageous.
Code Like a Girl
I don’t know why these traits are considered feminine. Perhaps girls are just inherently tidier or care more about the appearance of things (or at least, are socially conditioned that way). Or perhaps it’s just a big misconception and actually there are no typically ‘masculine’ or ‘feminine’ traits. Whatever the reason, people are now starting to take being told that you ‘code like a girl’ as a compliment, and I think they’re right.
Of course, I’m not saying that girls make better programmers, in fact there are plenty of qualities that guys tend to have (e.g. single-mindedness) which are invaluable for programming. In particular there’s one key thing I think we could learn from the guys: confidence in our coding ability. I know it’s something I struggle with!
I’ll leave you with this rather appropriate video. I particularly enjoyed the line:
“It ain’t hard to like how she writes with a pretty interface but the source is tight”
I think it pretty much sums up my point!