RSS
Facebook
Twitter

Thursday, May 24, 2012

GOTO Copenhagen


So,  before everything gets pushed out of my head, GOTO Copenhagen.

It was my first conference "alone", in that I didn't have friends and colleagues from LMAX or the London Java Community there with me.  And certainly at the start of the conference, I wasn't the only one who was standing around, hoping someone would talk to me (in all honesty some of the photos above are a little unfair - the schedule was a very nice, simple phone app so most people spent a lot of time playing with their phones).

It actually turned out to be an advantage to be alone, as I met a lot of interesting new people.  I was impressed actually by how local it feels - i.e. many of the speakers and attendees were from Copenhagen or at least Denmark.  I liked this, because the alternative is that the conference feels like lots of the usual suspects travelling from place to place, doing the same thing and not really giving much to the city it's hosted in or getting much out of the location.

There was a bit of noise on Twitter, although not as much as at larger conferences.  Actually I think that meant that those who were on Twitter were awesome at connecting up in real life, so I met a bunch of new people who'd originally seen me or spoken to me on Twitter.


War Stories; Coding with the Stars; Coding Using the Disruptor
My sessions were a bit of a mixed bag.  I presented my war story on tracking down a performance problem in IE7, but the most interesting thing about this session was seeing the other two speakers' war stories.  At the end of ten minutes of me talking extremely quickly at the audience, I had no questions - so either my explanation was crystal clear, or I blasted the audience into submission with my caffeine-fuelled nervous energy.  I'm guessing no-one wanted to ask "Can you repeat all that please?".

On Wednesday I paired with a member of the audience on a coding kata - I was really hoping to show TDD (old-school, not TDD as if you mean it), a bit of how to pair (i.e. how you communicate during pairing and why it's dead valuable), and some attempt at showing how you think about your design in a vaguely Domain Driven way.  Although I covered all those areas, I think an hour was barely enough to do one of them justice - I think the tension between showing those three things meant I didn't demo any of them particularly thoroughly or well.  Still, the most interesting thing there was comparing my session with Steve Freeman's, which was directly after - same kata, same language, and totally different approach.  What I hope people got out of this was that there is no One Way to Rule Them All.  

Also, Java is not a good language for getting results in an hour.  Sadly.

My main event was my Disruptor presentation using car assembly as an analogy, which readers of the blog may already have seen in one of its previous incarnations.  At least this time i didn't get a red unsmily face on my feedback like I did at QCon London (whoever you are, tell me what you didn't like!!)

Keynotes - they always force you to learn something new
The keynote on Dart was interesting, I started off feeling very sneery about some shiny new language from Google, but I ended up wondering if we could us it anywhere within LMAX - it's got curly braces and OO, but it's Javascripty.  In a good way (I think).

I took a lot out of Don Reinertsen's keynote and his session "The Tactical and Strategic Art of Economic Models".  Maybe it's just my OCD, but I really like the idea of having actual numbers to allow you to make decisions - understanding the cost of various options as well as the potential gains allows us to make much more informed decisions.  In fact, he points out these numbers don't have to be monetary, but having some uniform way to compare relative costs and benefits of taking certain paths is enough.  Even with average (i.e. not terrible) intuition the range of opinions on the cost of something is 50:1 - that's a big range.  And different people will make different choices based on what they think those costs are.  Michael T. Nygard's DevOps talk also uses numbers on cost to make decisions on whether to actually fix a defect or not.

Rich Hickey's keynote also gave some food for thought.  The main thing I took out of it is that "facts" only have context when associated with a time.  This makes total sense to me, and ties in nicely with some of the stuff we do at LMAX - for example, although it's not specifically time-based, the Disruptor sequence numbers make it clear what's the most recent event, and ensures ordering and repeatability.   It also ties in with some of the stuff in Dave's Continuous Delivery book (sorry Jez, everyone else except LMAX call it Jez's book) - everything, including your configuration, needs to be in source control or some other managed repository, this way you can always get repeatable builds, because its not just the code that impacts the way your system behaves, it's your configuration, your dependencies, so on and so forth.  Having everything trackable by time or revision numbers or something to tie it all together to allow you to get a revision from a specific time makes your releases more repeatable, and makes it easier for you to do things like track down defects on a specific build in production.

Speaking of Continuous Delivery...
There was a lot of good stuff at GOTO around this.  Dave's book was referenced on more than one occasion.  I don't know if it's because that's a conference with quite a heavy lean towards agile, but it seems that getting stuff predictably and regularly into production, and not just being able to compile it and run the tests, is becoming not just an acceptable thing for teams to strive for, but a desirable one.  It's definitely not an easy journey.  But it gives you all the great agile benefits like: fast feedback (from regular releases); decreased waste/inventory (as code is deployed to production as quickly as possible); decreased risk from both of the above things.  

On top of that, it could be argued that by striving for continuous delivery you're driving your design in a nice direction: modularisation, reduced coupling (e.g. if you want to make it possible to deploy individual components), separation of concerns (e.g. feature switches forces you to not have functionality tangled up in your code).  And then there are advantages to the organisation, as in order to create a smooth pipeline from the developer's machine to production, your developers will need to understand more about the environments the system is going to be running on, especially if they're writing/configuring tools to automate releasing.  They get particularly good at this if they're the ones getting the phone calls at evenings and weekends when the release goes wrong...

DevOps
This moves nicely into the DevOps side of things.  It was particular interesting to hear Jeffrey Fredrick from TIM Group talk about the challenges they faced in moving from using managed hosting to an in-house infrastructure team.  It sounds like they've faced very similar issues to those LMAXare working on right now, and I'm very much looking forward to meeting up with Jeffrey back in London so we can exchange ideas.  It's so rare to find anyone with very similar problems to you no matter what your technology or industry is, and it'll be dead interesting to swap stories.

In Conclusion
I think GOTO Copenhagen is the first conference where I spent all the time in sessions - I didn't have gaps in the schedule, and on the whole I got something from all the sessions I went to.  I often feel like I won't have much to take back to work with me when I see new technologies that we don't need to use or people espousing TDD and pair programming, but these sessions, and the keynotes, all gave me something to think about.

Other themes I haven't really mentioned were the same sorts of things I heard at QCon London - e.g. there's always more than one way to do something, and sometimes it's enough to be simply Good Enough.

GOTO was a relatively intimate conference, with a limited number of attendees and relatively small rooms, so it felt easy to talk to new people and by the end of three days I saw familiar faces to smile at wherever I looked.

I'm looking forward to Amsterdam now, although my brain is already full and I'm not sure how much more I can fit in there!



Saturday, May 19, 2012

What Do You Do and How Did You Get There?

So yet another interview with me is available, but this one is in written form.  It's for the Graduate Developer Community, the aim is to show undergraduates and graduates what real techies jobs are like, and how people doing them they got there.

It's long, but if you know anyone just starting out their career who wants to get a feel for where they might want to go, please point them at it.  The site has a number of interviews with people in different roles so it's quite a good way to showcase the diversity of what's available.

Friday, May 18, 2012

Interviewed for InfoQ at QCon London

I was flattered to be interviewed for InfoQ at QCon London.  It was a fun interview actually, and didn't feel anything like the half an hour it actually took.  In it, I get to talk about Agile at LMAX, the Disruptor (of course) and diversity in IT (again).

Thursday, May 17, 2012

Why Open Source Your Secrets

Here's a video of my Open Conference session on the business benefits of open sourcing your software.  Given that the conference was at a weekend and had a very intimate feel, I think I was a teeny bit more honest than I usually am.  Enjoy.


Saturday, May 12, 2012

Update on events

Just a quick note to say I was interviewed for another podcast, again to talk about all-female events.  It's only a short one and there's probably not much in there that I haven't said before, either on here or in person.

From the 21st May, I'm at GOTO, both Copenhagen and Amsterdam.  I'll be talking about code & the Disruptor, thank goodness, and will be trying not to rant about the subject of women in technology.  If you see me there, come and say hello!

On Friday 25th May, after all the GOTO craziness, I'm going to repeat the Disruptor presentation in Rotterdam at 010DEV, an event rather fantastically called "The Disruptor and the Perfect Programmer", which someone on Twitter correct noted sounds like a fairy tale.

After all that, I'm hopefully going to take June off to play Diablo 3 and Prototype 2, and read the next Game of Thrones book.  All these joys I have been denying myself to make sure I get everything sorted in time for next week.

Thursday, May 3, 2012

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.

Sunday, April 29, 2012

Google Campus is an awesome space
Today I was at the Girl Geek Meetup conference.  I didn't advertise it much because I've said in the past I don't really agree with women-only events, and actually I felt quite uncomfortable telling you guys I was going to be there, knowing the majority of my readers weren't allowed to attend.

It's probably worth explaining why I went, so a) I can give you guys and excuse but b) conference organisers can see what people like me are looking for in a conference.

Graduate Developer Community Meet a Mentor Programme
The primary reason I went is because the new Meet a Mentor programme I'm involved in does not have a lot of women mentors.  This is simply a numbers game - when you don't have all that many people signed up to be mentors yet, and you have the "normal" proportion of women in that group, you'll be lucky if you get one female mentor turning up at these events.  Since one of the things we want to showcase to undergraduates is diversity, it's pretty important we get all sorts of people involved, not just mining from the usual suspects in the London Java Community.  This was a good conference to target since a) the attendees come from different technology and industry backgrounds and b) yes, sorry, we want more women doing it.

Don't knock it till you've tried it
I've said before I don't think all women events are the way forward.  But I haven't been to one for a long time, and I firmly believe you shouldn't say bad things about something unless you've tried it out.  So I wanted to go to see what the advantages and disadvantages of an event like this were.  If I had a terrible time, at the very least I would have material for the blog.  I also feel like I have a bit of a responsibility to spy on these things, since my male colleagues cannot.

Networking
Similar to the Meet a Mentor goal above, I wanted to meet some different people.  I'm getting comfortable in my particular circles, and I'm starting to meet some of the same people at various events.  This event was based in the very start-up friendly Shoreditch, and didn't target a specific technology or business, so it gave me the opportunity to meet new people.

They gave me a platform to rant
I only really felt comfortable agreeing to go when I was invited to participate in a panel about whether all-women events were useful, or if they created a Girl Ghetto.  Knowing I could publicly voice my opinions on the subject at one of these events made me much happier to attend.



And actually... I had a very good time!  It was refreshing to meet new people, especially because they're mostly in different technology and business spaces.  I was really inspired to see the number of entrepreneurs, and people working for startups.  And I loved the range of ages, the diversity of people's backgrounds (ethnically, educationally, geographically...), and the fact that everyone bothered to come out on a very rainy Sunday to learn stuff and meet people.

It did feel different to "normal" conferences.  However.  I personally do not believe this was because it was an all-women event.

The LJC Open Conference last year had a very different feel to JAX London and JavaOne - it was more intimate, easier to wing-it in presentations, friendlier.  You could chat to pretty much anyone over the coffee. You could smile at random people.  These are all the same things I felt about GGM today.

I can't help but think this atmosphere of supportive learning and collaboration is at least partly a function of things like:

  • Size - smaller conferences are less intimidating, and you get to meet with people more than once, giving you the impression you're with friends rather than spectators.
  • Venue - being seated (or even standing) around a table or in a coffee-break area is more intimate.  It means the speaker can make better eye contact, feels more engaged with the audience, and there's less of a barrier for active participation.  If the presenter is less than 3 metres from you, it's much easier to ask a question.  This leads to a chattier, more tailored session - more of a dialogue than a speech.  As a speaker I really prefer these sessions, and I think as an attendee I get more out of this too.
  • Common Goal - when you give up a day in your weekend to do "work" stuff, you have to have a clear idea of why you're doing it and what you're getting out of it.  I would say (although I could be wrong) that our common goal was to network, with a side-effect of learning "stuff".  Events at the weekend are really only something you do for yourself, since you're not being paid for it.  That gives you common ground.
I wanted to get a feel for if these awesome women were only going to events like these, and weren't going to "normal" conferences.  I think it was a mix.  I don't think (and I could be wrong) that people were coming to this because there were no guys.  I think they were coming because they were invited.  

Someone mentioned that a conference organiser once told them they have to ask a man to speak at their conference at most two times.  They have to ask a woman up to seven times, to overcome their concerns and reassure them that they really do want them.  I wonder if women also need to be asked several times simply to attend conferences?  This would make a lot of sense - about 15-20% of the technical workforce are women, but around 5% of conference attendees are women.  It's possibly that by the time women have been invited to, or told about, a conference enough times to make them want to go, it's totally sold out.  Do we need to very explicitly invite women to our events?  Show them we really want them?  Multiple times?  And this is just for attendees, not even speakers.

I'll come back to some of this.

The schedule
I presented on four occasions - yes, I was so greedy for fame that I actually had almost no time to talk to people or to see anyone else's sessions.

Why Open Source Your Secrets
A different spin on the Disruptor, when I answer the number one (well, number two actually) question: why did we open source it?

The slides are pretty simple and I'm not sure there's a lot of value in putting them online without the talking, but if anyone's interested I can either shrink it to a lightning talk at one of the LJC events, or attempt to expand it into a fully-fledged presentation

GDC: Meet a Mentor
What it is, what's involved, what's in it for you.  This is all material that needs to live somewhere on the interwebs so I promise to link to it as soon as it's available.  If anyone is interested in a really lightweight process for mentoring university undergraduates, drop me a line and I'll try and tell you all about it.

Technology in Electronic Trading (co-presented with Annalisa Sarasini)
This is the session I was most nervous about, since with Annalisa in Nepal and me in Seville, we didn't actually get a chance to talk about what we were doing, let alone rehearse it.  However I think it went really well - at the end of it, the folks who saw it said they had a better understanding of the use of technology in the banking/finance world, and I think it's a great way to show how computer science can truly be applied.  We'd love to run this as a full talk somewhere.

Panel: Women-only events - are we creating a Girl Ghetto?
Oh my goodness, all these women!
In which I get to say that I think it's grossly unfair we do not allow men to this event.  In which I state that this behaviour is sexist and (in my mind) unhelpful.  But in which I also am told that women are still either a) experiencing alienation/sexist behaviour at conferences (thankfully it seemed like a limited amount) or b) feel like there are issues around boys club, macho posturing males, and thought if they presented at a conference they might get questions designed specifically to make them feel stupid.

I think this is a very important point - even if none of this is happening, even if these women have never experienced this themselves, they think it might be happening.  Also, please note, these issues do not affect just women.  These perceived problems are stopping less confident men from attending or speaking at these events.

What can be done about these things?  My answer is, it's up to us.  The women, the less confident, the non-posturing non-alpha males, to make the changes we want to see.  And I can't claim all the glory for that answer.  When, during my very short stay at ThoughtWorks, I complained to Martin Fowler that GOTO 2011 was full of white, male speakers, he said to me, why don't you speak then?  Of course I said "who, me??".  I didn't think I had anything to talk about.  After attending a few conferences I realised that doesn't stop people.  And I realised people have to start somewhere.  And you have to start by doing some poor presentations to practice - you can't instantly be awesome.  It takes time, and practice, and Barrack Obama didn't come out of the womb knowing how to make an impact during a speech.  And guess what?  This year I'm speaking at GOTO Copenhagen and Amsterdam.

So my answer is, you want something?  Ask for it.  You want more women presenters?  Volunteer.  That panel is full of men?  Find out who organised it and what you need to do to be on it next year.  It's down to us.  Not to the conference organisers.  Not to some great beneficent them. The responsibility is ours.  But it's better than that - the control is ours.

Only you know what it is you want.  Only you can speak for you.  Not for all women; not for all white/black/purple people; not for all straight/gay/ambivalent folks; not for all geeks.  The question isn't "What do women want?" but "What do you want?".

I think I saw some lightbulbs go off in the audience.  I hope so.  These women were all awesome, they have a lot to share with the world.  We all do, even the tiniest experience, the smallest thing we've learnt is something someone else might not know yet.  Let's get out there and share it.