RSS
Facebook
Twitter

Friday, January 11, 2013

Wrap up of 2012

Fortunately for me, the guys at JAXenter chased me for a summary of 2012 and my predictions for 2013 - I say "fortunately" because otherwise I never would have got around to doing it, and that would be another year slipping away silently into the abyss.

Here it is in all its glory.

Tuesday, December 18, 2012

As well as talking about, you know, actual work-type-stuff, I was encouraged to give my "Technical Approach to Women" presentation at Devoxx.  This went so well at JavaOne that I thought it would be difficult to top.  Also, I wasn't convinced it would work at Devoxx, because the theatres are not well suited to audience participation - the seats are warm and comfy, the room is dark, the speaker is on stage in front of a massive screen....

I was incredibly impressed with the audience.  There were literally hundreds of people, most of them men.  To me, it proved once again that the men in this industry are determined to "fix" this problem of gender imbalance.  And they're happy to extend that to improving diversity as a whole, once you highlight the bigger problem.  It says to me that this is not naturally a misogynistic industry, where you have to fight against the boys club to get anywhere.  It says to me that we are all in this together.  After all, in the "real" world the geeks are still outsiders, and different, so we're used to embracing our different-ness - whether that's because you're the only girl in the room, the only Java developer at a .NET conference, or the only techy at a dinner party.

Conferences are a self-selecting audience, I know - these are the people who are investing time and money in advancing their careers, or at least encouraging their employers to do.  But for the punchline of this session, these are exactly the right people.  We need to go out, tell everyone how much we enjoy our jobs; tell kids that programming is cool, and show them it's fun; mentor other people, and each other, and be a role model.  I don't care what gender you are or what colour you are or what your dark secret is - you are the role model to inspire someone.

Just do it.

Wednesday, December 12, 2012

Agile++: When Agile Goes Well

If you see anything about LMAX - the Disruptor, Continuous Delivery, or even the selection criteria for hiring developers, you'll see that LMAX is pretty keen on Agile.  However, no-one's documented the Agile process there, as far as I know.  Although I personally had it on my todo list, I never had the motivation, the hook to do it.  And I realised eventually that's because I'm not sure it's a process that would work very well for another team, in another company, working in another business.

The agile process followed at LMAX is one that works for the individuals and the organisation there.  And that's because they do one thing very well - they regularly examine the issues faced and adapt the process to try and combat them.  It's an agile process that's, well, very agile - it's constantly changing.  Documenting it would only represent a single snapshot in time that would be out of date almost as soon as the next retrospective comes along.

Any process can inspire Cargo Cultism, and the last thing I want to do is give people a process to without the tools to know whether it's the right thing for them or not.  It's more important to understand your goals, check progress and improve.

I was talking this through with a colleague, Israel, and he rightly pointed out the tool that LMAX can share with everyone else - thinking.  Examining the problems, visualising them, and trying out different ways to fix them.

So at Devoxx Israel and I presented a session on "Agile++", using LMAX as a use case of when agile methods work.  The session examines four specific issues encountered at LMAX and the steps taken to solve them, and it's available on Parleys.  Enjoy.

Wednesday, December 5, 2012

Hot on the heels of my very first MongoDB webinar, I was... encouraged... to do another.  Here at 10gen we've been running a series of webinars around using MongoDB in the financial services domain.  Yesterday was the last in the series, and was presented in association with C24 - John Davies, their CTO, did most of the talking, and demonstrated their product for automatically turning financial messages from one format into another.

(Slides and webinar available here - and you're not going deaf, the sound doesn't start until about 3:44 into the video)


It was a fun webinar to do, actually - I didn't know anything about C24's iO tool, so I learnt quite a lot as I watched John navigate the demo.  My background in trying to debug raw FIX messages probably skewed my questions, I was definitely more interested in how to use it as a developer and what it could give me if I were doing production support.  It's a dead interesting tool - I know for a fact that many organisations, banks in particular, spend a lot of time translating stuff from one format to another, before making some decision on on what to do with the contents.  This tool does all the heavy lifting so you can get on with the interesting stuff, the stuff your business actually needs you to do.

In addition, as someone with more of an FS background than a NoSQL background, I was very interested to hear how lots of the financial institutions are using MongoDB already - the combination of not having an enforced schema but supporting structured data, supported by fast execution, makes it a good fit for a lot of the problems they're trying to solve.  Yes, it's my job to say nice things about MongoDB, but when businesses are already using it because it makes their lives easier and meets their needs, it gives you a warm fuzzy feeling that the product must be doing something right.

I enjoyed giving this webinar, I think if I do any more I will suggest pairing on it (we all know two heads are better than one, right?) - it gives you some of the feedback and energy that's hard to get in a darkened room talking to a microphone.

Friday, November 30, 2012

My First Official MongoDB Appearance

Yesterday I had the nerve-wracking dubious alarming great pleasure of presenting my first official MongoDB-shaped talk.  This was in the form of a webinar, which is an interesting and different format.

I naïvely assumed it would be like a presentation but without the visible hand-waving, but it isn't really.  For a start, you can't easily poll the audience to find out what their level of experience is, and taking questions is quite tricky, even with the technology to support it.  Also, because you're not standing in front of people, I think the "rules" around making sure your slides don't distract from you are a little different - it strikes me that webinars are more like a set of slides with a narrator and a fixed time, than a presenter with a set of slides to emphasise points.  This puts the medium in an awkward position between an infodeck and a talk (yes, I am reading Presentation Patterns at the moment, and it's making me very conscious of all my slides and presentations).  So my slides are more info-heavy than my usual style.

I actually learnt a lot while I was putting together this webinar, so whether you're completely new to NoSQL/MongoDB, or just starting to use it from a language running on the JVM, it's worth checking out.




(Or see the webinar and slides together)

As always, feedback very much appreciated - I think there's great material in here, but I already have some ideas for improvement.

Monday, November 26, 2012

LJC Open Conference 2012

Saturday I had the pleasure of being part of the 5th London Java Community Open Conference.  This is a great event to end the conference season on - it made me feel good about being part of the LJC, and  got me excited about the prospects for 2013.

The fantastic thing about an open conference is that a) you don't have to prepare like mad for it and b) the short sessions and wide variety of subjects mean that you learn stuff you didn't expect to.

Given how much I've been presenting lately, and with the conferences piling on top of each other back-to-back leaving little time for preparation, I had decided not to speak at the open conference, but to sit and learn for a change - it's a great opportunity for new speakers to present for a start.  But that resolution lasted all of 3.54 milliseconds.  After all, if people don't like the sessions I propose, they won't come, so I lose nothing by suggesting some.

Photo by Ged Byrne
First up, it was a very great honour to be giving my very first Keynote.  Ben Evans and I presented on the State of Java - a summary of this last year from the point of view of our community and globally, and a view to next year.  I know we've had an incredible year as the LJC, it was really satisfying to be able to summarise this for everyone there, to present what we've achieved locally and globally.  And looking forward to the future, there's so much more we can do as individuals trying to improve our skills (especially with Java 8 due), as a London-focussed community (with our own events, our sister communities, and with Devoxx UK), and globally (with the JCP and OpenJDK).

Next, I was roped into a Java Performance panel, with the JClarity guys (Ben, Richard and John).  I was surprised to see that not many in the audience were working on low latency systems - in London you'll frequently find a room full of Java developers who are all working in finance on things that have specific performance requirements.  It was good that we had a this variety of developers, because it meant we covered a much broader range of subjects, and could discuss what to think about and where to get started when you're considering your non-functional requirements.

Immediately after that I was on another panel, with some of the same suspects, talking about the LJC's involvement in the Java Community Process and the Open JDK.  I really like these sessions because it's easy for us, who are dealing with these things at least on a weekly basis, to forget that most of our members aren't familiar with either of these two things.  What's encouraging though is that after just a short introduction to what they are and how we can impact them, most people want to be involved in some way.  The hack days are particularly appealing to developers (not surprising).  Although we've had a number of very successful hack days, we still need to work out a way to scale them - how do we attract more people?  How do we make the best use of their time?  In particular, we need to work out how to cater for people with different timetables (weekends vs evenings vs week days), and how to handle the split between beginners and those who have already been to at least one hack day.  I'm excited about what we've achieved so far with the hack days, but I think there's so much more that can be done.

You can't tell from this photo, but there were girls this year
Over lunch there was a series of lightning talks.  I really like the way the lightning talks are presented to everyone in the conference.  I like the variety of topics, and I like that it's fairly easy for a new speaker to give a 5 minute talk, with as little or as much preparation as they want.  The one I remember most was on software for elections from Alex Florescu - I thought that looked like an interesting (and difficult!) business domain, which needs novel solutions in order to get acceptance.

Next up, I gave an intro to NoSQL  From Devoxx, it was clear that while a lot of developers have heard of the NoSQL movement, and of databases like MongoDB, it's not clear to them why you'd chose these over traditional databases. Which is a relief to me, because that's exactly where I was three months ago.  So this was a really quick (30 minute) overview of the different flavours of NoSQL, what they're good for and why you might pick one over another.  Obviously there was a focus on MongoDB, since this is the one I know most about, but I also covered the strengths of some of the others.  I really enjoyed giving this session - the audience was perfect for the topic, the questions were intelligent and drove the direction of the discussion, and I had a number of positive comments from people who felt like they had learnt something.

I gave another session which was a recap of the JavaOne and Devoxx "Problem with Women" talk, but even shorter.  The fantastic thing about this was the energy from the people in the room - these guys like what they do and they're keen to tell other people how great it is to work as a developer.

Finally, I managed to actually attend a couple of talks too.  Barry led "Why is technical recruitment so broken?", and we had some interesting discussions around the problems employers and developers face, in trying to get the right people into the right roles.  Clearly there is no easy solution, and there's definitely a role for recruitment agents of all kinds in this space, but it would be awesome if we stop floundering around in the dark and actually be able to match the right people to the right jobs more easily.  In seems to me that there is a huge educational piece here: developers can find resources around how to write their CVs, how to stand out from the crowd, how to network to increase their chances of finding a good job, but they need to know to start looking for these resources.  Worse, though, is the problem of the employers - if you're a big company you have a non-technical HR department standing between the team needing a developer and the candidates themselves, and smaller companies don't have the time to invest in the hiring process, or going out and networking to meet people at things like LJC events.  It's a tough problem, and one I'm extremely interested in.  I'm hoping that the "Attracting Great People" track I'm running at QCon London will look at some of these issues, and give some advice from those who are doing a good job.

The last session was an exploration of all that is wrong with Agile, led by Ged Byrne.  It was an interesting discussion, the only disappointing thing about it was that everyone agreed with each other!  Certifications Are Meaningless; external Agile coaches and consultants aren't necessarily invested in improving your business; a formal Agile process is really defeating the point; and, most importantly, let's try to remember the original agile manifesto.

In summary, it was a really great day!  I enjoyed it as much as I enjoyed last year's, for many of the same reasons - we have a fantastic community, it's a great event for meeting people, it's brilliant for encouraging new speakers, and if you are speaking you get much better feedback than you do at the large events, because you can involve your audience directly and give them what they really want.  I can't believe how much I personally have achieved since my first solo talk at the LJC Open Conference last year, and I can't wait to see what the next year holds.


(More photos from Andrew Black)

Thursday, November 22, 2012

Summary of Devoxx 2012


Devoxx topped off a crazy two months of conferences. I've heard people talk about the conference season in the past, and been slightly (OK, very) jealous of all that jet-setting.  I'll admit, however, to a slight feeling of relief that my focus until Christmas is pretty much going to be coding.  I hope.

Neal Ford's When Geek Leaks
So, how was Devoxx?  Well for starters, the calibre of the speakers and talks was excellent.  I learnt things in every one I went to - either something I could put into practice at work, or something I could do to improve my own presentations.  My favourite was Neal Ford's When Geek Leaks - Neal is a great speaker, and this talk was entertaining and informative. I'm also currently reading his Presentation Patterns book, which is extremely useful.  Although obviously I give a bunch of presentations and have found some very handy tips in here, it's dead handy for everyone, even if you're just presenting to your boss or team at work.

The great thing about Devoxx is being able to meet all the European-based people in the Java space. People fight to get to JavaOne, but Devoxx is a lot easier if you're based over this side of the pond. It's also easy to run into people in either the exhibition area (where lunch is served, so everyone ends up there at some point), or the central corridor between the rooms (which everyone has to go through at some point).  It was really awesome to have so many people grab me either at the MongoDB booth or when I was sat at the desks in the corridor.  I really like that venue for a conference, the only downside is the seats are so comfortable, people fall asleep in the talks.  Even in our presentation (how rude).



I have a lot of personal highlights from Devoxx now I'm finally free to think about it:

  • Another re-run of The Problem With Women.  If anything, this went even better than when I ran it at JavaOne. What I really loved about the session is the sheer number of men who turned up.  it's tempting to assume they're there to heckle, but in fact their active participation in the subject proves to me that the men in this industry are very much on board with trying to address the gender balance.  As always, I have so much more to say on this subject, so I'll make a note to write a separate blog post.  In summary, although there are differences in the contributions from the audience in these sessions, there are common themes and a willingness to get involved and Do Something.
Agile++ with Israel Boza Rodriguez
  • The exclusive premier of the new Agile++ talk, co-presented with a colleague of mine from LMAX.  The aim of this presentation was to talk about where you go when your organisation starts with a great agile grounding - what problems might you face and how do you tackle them.  Bit confusing for me giving this talk since I was still in LMAX-mode, and I'm very grateful to 10gen for not only allowing me to present this, but actually promoting it for us as well. I'd love to do this session again, I'd like to work out how to without having a split personality as an LMAX person and a MongoDB person.

Not everything can go swimmingly, so I should probably make an apology for giving the Shortest Talk Ever on Wednesday.  It was supposed to be a 20 minute talk about the benefits of open sourcing your software, but it ended up being more like a lightning talk.  Lessons learned: 1) no matter how much you think you have to say about a subject, having the speaker notes is still very important (to me) and 2) a bit more preparation, updating the talk given my new role, would have been extremely beneficial - as it was, I cut a lot of the content on the fly and had nothing to replace it with.  Oh well, you live and learn.

I also had a new experience on Tuesday, being on the MongoDB booth in the exhibition space.  This was really educational too:
  • I'm glad I had a week of intensive MongoDB training the week before, I could actually answer all the technical questions thrown at me - yay me!  It's true that educating people is a really good way to learn stuff.
  • People are really interested in MongoDB. Many are using it already, but even more are wanting to learn about NoSQL in general, and Mongo specifically.  It was really awesome that Stephan gave a massive boost to Mongo's reputation, describing how the central data store for the conference technology was MongoDB running on a Raspberry Pi.  You don't get cooler than that.  Numerous other speakers gave very positive stories of using MongoDB too, so we had a lot of people stop by the stand to ask us what it was all about.
  • Although I was nervous of being on the stand after Ceri's experiences, I didn't notice anyone doubting my ability as a technical person despite being of the female persuasion   I only had one conversation where the (male) developer I was speaking to kept addressing his questions to the (non-technical) (male) sales person instead of me.  But that's fine, I just kept answering the questions, and maybe I've made a slight dent on his (clearly subconscious) assumption that women aren't techies.  I still think the best way to address problems like this is to keep persevering, keep being visible, and to not let your assumptions about what other people are thinking override your own confidence in your abilities.
And finally...


Robots seem to be cool again, and I, for one, welcome our new automated masters.  I was totally blown away by the choreographed dancing robotos on stage as a lead up to the keynote.  

I think the only way to top that for Devoxx UK is Robot Dancing Tyrannosaurus Rexes.  On caffeine.  Destroying Lego cities.