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.

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.

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)

Brain Overload!

The moral of today’s story - be careful what you wish for.

This is my brain

During the normal course of my life, it’s filled with Stuff.


Early in November, 10gen ordered me to go to New York to learn about MongoDB (Oh No!  My Life Is So Hard!).  I was looking forward to shopping and taking photos of the devastation wrought by Sandy, but actually I spent the whole time drinking from the firehose of MongoDB information provided by my ridiculously smart, ridiculously well-informed colleagues.

(I didn’t even buy shoes!  But I did buy a new winter coat, so there is some balance in the world).


24 hours after landing back in in London, I was on a train on my way to Antwerp for Devoxx.  There, I did three talks, including a new talk on Agile, co-presented with a colleague from LMAX (a teeny snippet of which can be seen in the video on the Devoxx home page).  Running from thing to thing, helping out at the 10gen stand and meeting new people and those I count as friends kept me pretty busy (did I mention My Life Is So Hard?).

…and now I’m at Skillsmatter Scala Exchange, writing a blog post instead of listening to the talks. Because I’ve got no more space in my brain for anything, let alone a new language I haven’t studied at all (don’t tell anyone).

Fortunately I’m not travelling again for the rest of the year, so I’m hoping to start doing some Actual Code some time soon.  I have one last conference, the LJC Open Conference this Saturday, which fortunately is on home ground.  If I can get away with it, I’ll go and watch other people talk rather than perform myself.  For any LJC guys reading, you can submit talks in advance, or suggest topics you want to see.

(This blog post was brought to you by a person who had an iPad, a stylus, and a desire to procrastinate against doing important stuff like reporting her stolen bike to the insurance company)

Devoxx 2012

""This week I’m at Devoxx for the whole week, and already I’ve achieved two things I didn’t manage last year: I drank Belgian Beer and I’ve spent some time in Antwerp itself.

It’s going to be another busy conference, I’m presenting three times (thankfully one is just a quickie):

When I’m not talking, you should be able to find me lurking around the MongoDB stand, or at the various after-conference events that involve alcohol.

Java 8 – Introduction to Lambdas Article

This month’s Java Magazine features an article by me, Ben Evans and Martijn Verburg about the new lambdas coming in Java 8.

The aim of the article is to give an overview to normal, human Java developers, who don’t need to know the theory behind what they are or how they work under the covers, but want to know how to use them when they get the shiny new version of Java next year (or even get ahead of the curve and try them now).

"www.oracle.com/javamagazine" Look inside >
"34"
Exploring Lambda Expressions for the Java Language and the JVM