Overheard: Development Myths

Continuing the theme of Things I Have Heard I Don't Think I Agree With.

To developers technologies are everything

I can't remember the context of this, but I hear the same sentiment in different guises over and over again. Often from non-techies, but more alarmingly from developers.

Is this true?

It's true for a certain tribe of techies, sure. And creating and effectively using new technologies is an important part of what drives the current information age forward. But I'd be worried if I thought that 99% of developers were like this.

In our day jobs, and also if we want to create something that makes any money, we need to be interested in solving people's problems and creating solutions. Sure, we'll use technology to do that. But if we were all only motivated by technology, we'd always be trying out the Next Big Thing when our customers wanted a simple CRUD web app. Any organisation that encouraged this sort of technology um, infidelity? playing the field? might find themselves with lots of fascinated and broadly-educated developers, but not a lot of productivity.

I always thought developers were drawn by wrestling with the machine to solve a particular problem, or to do something that hadn't been done before. I didn't think we liked learning Ruby because we didn't study it at university, or switching to a functional language simply because that's the way the whole world is going.

We can train The Business to speak our language

I've heard a number of people talking about the Holy Grail of having business owners write acceptance tests. At LMAX we have a (Java-based) DSL that theoretically could allow technical-ish non-developers to write our automated acceptance tests. However, is this the right thing to do? To make our jobs easier, and our code better quality, we need the business to become almost developers?

Our (very difficult) job as developers is to act as translator between the ones and zeros a computer speaks and the real life doman language our business guys (and girls) use. Forcing the business to become more technical is just, well, lazy.

So if our business people shouldn't be forced to become more technical, how can we bridge the gap? Is there anything that we as developers can do to move closer to the business?

A Ubiquitous Language is a good start. When a business user talks about an order, a developer should be thinking about the Order class, or something that implements an Order interface. When the business talks about placing an order, a developer shouldn't be thinking "place order translates into the execute method", they should assume there's a placeOrder method somewhere they can use as a start point.

We certainly shouldn't be training the head of sales to start talking in terms of Java classes or technologies - "I want the Resin tier to validate the order while the OrderMatcherImpl checks for availability". That would be silly.

Development is hard, that's why they pay us. And part of that hard job is learning the business model we're implementing so we can mirror and support the business. We shouldn't be inflicting our technology on the business.

Featured on a BBC Podcast

This week's BBC Outriders podcast features yours truly venting about The Subject That Won't Go Away, Women in Technology. I was interviewed at Sunday's Girl Geek conference, and got a chance to voice my opinions once again. For those who can't be bothered to listen, they can probably be summarised as:

  • There are genuine problems that face people in our industry, let's talk about those that you have actually faced, not ones that you imagine exist.
  • In my opinion, now is a great time for women to make a name for themselves - conference organisers are crying out for you to attend and (if you want) speak, and our industry needs talented people of any type and isn't that fussy about who you are.
  • Please, please can we start talking about the good stuff that we see as women in IT? We shouldn't only talk about the issues we face. Yes, we need to highlight problems and address them, but I believe that this message is drowning out all the great things about what we do, and why we love our jobs. We should be encouraging people (not just women) to join us, not putting them off.

Why the customer isn’t always right

Last week I went to get my hair cut (yes, sorry, this is a story about hair). I had thought long and hard about what I wanted. I researched, checked styles online, and bought a magazine so I could show my hairdresser exactly what I was after and there would be no confusion. I was determined I would not be spending that ridiculous amount of money on something I was not going to be happy with. I was even bold enough to ask for some changes to it at the end, which I have never ever had the courage to do before.

Continue reading "Why the customer isn’t always right"

On The Similarities Between Girls And Aliens

I discovered, through the power of the search words that lead to my blog, that there was an incident at JavaOne that once again opens the can of worms that is Sexism In IT.

This Makes Me Sad. I had a really positive experience at JavaOne. In fact, I would say it was the one conference I've been to in the last 12 months where I felt like my gender wasn't a problem - I even got away with wearing hotpants (tweed is business-casual, right??) without being mistaken for anything other than a developer.

Continue reading "On The Similarities Between Girls And Aliens"

What my hangovers can teach you about Agile

As a survival trait for living and working in the cites1 of London, I have a set of rituals to avoid hangovers. If you are not a single person living in a city like London, you might not understand how vital this is. Most networking, particularly in the financial services industry, is done in the presence of alcohol.

So preventing the inevitable hangover is quite important to the other part of the job – the actual working bit. I'll let you into a secret and tell you my nightly ritual:

Continue reading "What my hangovers can teach you about Agile"

On How Not To Target Girl Geeks

(First, let me say this post contains opinion, stereotyping and sweeping generalisations. But that's sort of the point. Also I don't pretend for one moment to speak for all girl programmers, I can only speak for myself)

When I first started this blog, I wanted to just post "proper" technical information. I wanted to prove that there are girls out there doing "real" programming.

I specifically didn't want to talk about my gender. I wanted to prove by silence that gender is incidental to what I do.

But, it doesn't really work that way, does it?

Firstly because one of the first things I get asked by guys when I meet them in this industry is "why aren't there more girl programmers?" (that's after they ask "do you work in HR?" followed by "are you a real programmer?" - I'm not joking, this happened this week).

Continue reading "On How Not To Target Girl Geeks"

Comments on representations of our industry

I have not (yet) seen the presentation this post is referring to. But I think many of the comments Ted makes are very valid, and our industry as a whole should occasionally stop and think. I've seen Ted speak at QCon, and I've had a lot of time for his comments ever since.

I'm aware that this blog is rapidly filling with comments about gender and perceptions and people-y stuff, when I originally wanted it to be a purely technical blog. But I guess this other stuff interests me more. And there are less people talking about it than there are talking about pure technical solutions to problems.