Well, if I thought 2012 was the fastest disappearing year on record, that record was smashed into the ground by 2013. What a year! And because I didn't manage to write this on time to publish elsewhere, I can do a more personal reflection of the year here on my very own blog.
Apparently, reading over last year's article, I had goals for 2013:
Get more involved in schools/mentoring.
Yeah... That didn't happen. I don't think I even made a single Meet a Mentor event this year, which is an excellent, really lightweight way of mentoring in London, and I'm sorry I was unable to participate.
Contribute to a major release of the MongoDB Java Driver.
Well, I contributed... but it's still not ready for release yet.
Give a keynote at an international conference.
Nope, didn't manage this either! But I did keynote at the LJC Open Conference again.
...and more of the same from this year: presentations, user groups, blogging, workshops.
Well, this I did manage. More on that later.
I foresee a lot of travel in my future.
There was even more than I imagined. And a big bit of travel that I did not anticipate.
I also made zero progress on the book I signed up to do in 2012, and did not start the other book I have simmering in my head, although I really hope that YOW has given me enough momentum to make a start on that.
So, what a let down, right? I only managed two of my five resolutions, what a sucky year!
Not at all.
What an amazing, busy, life changing year (yeah, but every year changes your life in some big or tiny way, right? Otherwise we'd be standing still).
2013 was the year I got stuck into my new job. I have to admit, the evangelism bit was kinda tricky when you have to sign up for conferences months in advance, and I didn't know a) anything about MongoDB (shh, don't tell anyone) and b) what my strengths or interests would be. Given we were re-writing and re-designing the Java driver, I opted to create a fluffy talk on software design, that I could evolve over the year as we learnt more during the driver re-write. And because I apparently still follow the "say yes to everything" policy from 2012 (something that's not supposed to be a theme of 2013, and made my life trickier than it should have been) I've given a couple of other talks on things that I can't help ranting about.
Development-wise, we've made progress on the new Java driver, but I've felt unable to contribute as much as I had expected to - travel and conference preparation take a lot more time out of my schedule than I ever realised it would, not to mention the cost of context switching. However, I am proud of some of the things I've brought to the project, including gradle, coding standards (automated with checkstyle, findbugs and codenarc), Spock testing (as well as a general focus on automated testing), and addressed all outstanding pull requests. As well as creating a tutorial for the new Java driver, I've also made a start on better documentation. These last two are areas I'd like to progress further in 2014.
I've done quite a lot of community support this year too. Although I find it hard to answer most of the questions off the top of my head because I'm still learning, answering questions on Google groups and StackOverflow has probably been the best way for me to learn about MongoDB, particularly how Java and JVM developers are interacting with it. And from barely having any points on StackOverflow I've now got over a thousand - yay! Hurrah for gamification, it's a perfect carrot for Trish-shaped people.
Although I've done less writing on the blog in 2013 than in 2012, I'm pleased to have posted some more meaty technical content in the form of the Spock blogs (I feel like my conference write-ups are just filler, but people seem to like them so I'm going to carry on unless otherwise instructed). I also made my debut on the mongodb.org blog and on the O'Reilly Developers Blog with a two part piece on technical testing in job interviews. I'd really like to focus more on my writing in 2014, not just my blog but more guest posts and more magazines. But I'm not going to be over-ambitious and claim any of my book-writing is going to happen.
The highlight of my year was moving to Seville (Spain) in August. Moving out of London definitely made is almost impossible to hit my previous resolution of mentoring, and means I'm no longer as active in the LJC, but it's such a great place to come home to when I've been travelling.
And speaking of travel, I guess this has made up the majority of my 2013. So I'm going to bore you with a summary of it.
New York: Spent a week locked in a meeting room in our NYC office with my co-conspirator on the Java driver. I love working remotely, but this week spent on location was worth more than months of working from home - not only did I get to meet/hang out with colleagues, but I got to know my main co-worker much better than I would have otherwise (even with video conferences), and it was instrumental to creating a productive working environment.
Post-Christmas New York
Miami: A month later I had an even better opportunity to get to know this company I'd signed up with - our all-hands meeting was in Miami, and pretty much everyone was there (there was even a dedicated room to for 24 hour support that worked in shifts so that the support guys could be there). It was enormously valuable not only to meet everyone, but also to hear from all of management what their vision for the product and the company was. I know that sounds boring, and when I worked at Ford I hated that sort of thing. But nowadays I want to know what sort of company I'm working for and what direction they're going in, it helps to motivate me. It was also nice to feel like part of two teams - the familiar faces there were the people from EMEA (mostly the London office) and the drivers team (distributed everywhere, but many in New York).
When I got back to London, I was flattered to be interviewed as part of the Women Tech Makers series.
You won't believe it was sunny the previous day
London: I was lucky to be part of the programme committee for QCon London, so for the first time I got to see what goes into organising these conferences. It's not easy! You can have as many opinions as you want, but you need to work really hard to find great speakers and great content. I was especially surprised when I actually attended how poorly we'd done in attracting diversity in our presenters, even though Aino, Dan and I are particularly passionate about this topic.
At QCon I gave a workshop on the new Java driver, which had limited attendance and required me to re-think the tutorial. I was a bit discouraged by this, if I'm honest, but later in the year I built off this experience, and I'm glad I learnt something from it and managed to improve too.
As a presentation, Dan North and I talked about interviewing - mostly from the point of view of the interviewer, but also there should be plenty of tips if you're currently looking for a job. At the time, I was concerned about this presentation as it was a very last-minute thing, but we've had some great feedback from the talk which makes it all worthwhile. I find co-presenting a little tricky because a) you have to work around another's schedule/style/interests and b) when I'm co-presenting with someone with an awesome reputation it makes me feel like a shy schoolgirl, which is not great for stage presence. But this session was a lot of fun, and working with someone with more experience is the best way to get better.
DevoxxUK: Hot on the heels of QCon was the first Devoxx conference in the UK. If there's something I learnt from this experience, it's to not be on the programme committee for two conferences that happen in the same month, and present at both of them. But however difficult it was behind the scenes, Devoxx was an absolutely brilliant conference as a speaker and attendee. It's also where I first presented "What do you mean, backwards compatibility", the talk that's been evolving all year, using the Java driver as a case study for software design. I also co-presented on an intro to NoSQL with Kim Ross - I should try and get that video online actually, it might be good to publish.
The last weekend in March, after these two brilliant but exhausting conferences, my boyfriend and I had a conversation which, somehow, unexpectedly, led to us investigating a move to Spain.
I took myself away from London for two weeks and managed to actually get some code done.
An amazingly productive working environment
GeeCON, Poland: I've already summarised what I loved about this conference in the blog, but here I gave the Backwards Compatibility talk again:
New York: again. Another catch up with the team, and to meet our newest member, Justin.
Dublin: Worked from our EMEA headquarters on commercial support, which was an interesting experience. Also presented at a local user group - I like these mixed technology groups, you get to hear some different experiences.
Shanghai: Absolutely amazing experience, my first time in Asia. Loved it.
Moved to Seville. Had holiday, did some actual code. I swear I code better in the sunshine.
What a month!
Oslo: JavaZone. Unveiled the new version of my talk, higher level and fluffier: "Design is a Process, not a Document".
I managed to survive Oslo with only my phone, since my trusty D80 camera finally gave up, but at Heathrow was "forced" to upgrade to the D7000 - since I took almost no pictures of Oslo, it's clear I need a "real" camera. Honest.
New York: A Grand Meeting of the JVM and C# teams. Sat in a room with everyone I got a much better idea of the motivation behind a lot of our design choices.
This trip to New York was a bit of a disaster on the personal front, losing my phone, having things stolen from the hotel room, being put on two broken planes at JFK before finally having to go back to Manhattan overnight so that we could fly the next day. But these are all first world problems, solvable with time or money (or both), and you just move on to the next thing.
San Francisco: My third outing to JavaOne. As always, it's all about the people you meet out there.
...and I still haven't been home yet.
Aarhus: Finally made it to GOTO Aarhus, it's the first year I've been invited and not had a clash with JavaOne. The sneaky beggars made me track host of the Careers track to ensure my attendance. I never blogged about Aarhus because I got further and further behind on the blogging (instead of having loads of opportunity on the plane, like you'd think I would have, the more travel I did the more likely it was I would fall asleep in front of a movie instead). I gave two talks here, both different to anything I'd done all year, because what you need when you're on a plane and in hotels for a whole month is to decide, for your last conference in the tour, to do something completely different (Note To Self: Do not do this again). The first was Career Advice for Programmers, a talk I was disappointed with because I have so much to share and 50 minutes was not enough. Probably more suitable for those starting their careers than senior developers. The second was Top Ten IntelliJ Tips (with special guest star Dan North), which also didn't go as well as I'd liked, because live coding is fraught with danger, but if people pick up just one tip from it, I've done my job.
Aarhus was a great conference that I simply didn't appreciate as I spent most of the time asleep or preparing both talks. Four cities back to back is simply too much, especially if the Atlantic separates some of them.
I was eventually allowed home for a week, then it was...
This is all I saw of Berlin
Berlin: At this point the travelling was less entertaining than it used to be, and, once again, I was re-writing the talk as I needed to present something much more MongoDB-specific (apparently I'm an evangelist for some NoSQL database - who knew?), so I saw nothing of the city at all, which is the thing I regret the most. However well or badly this new talk went, Berlin was a great opportunity to meet some really awesome speakers - smaller conferences (I think it was about 300 people) are much better for mingling.
London: Back on (more or less) home turf for JAX London. When I signed up for this, I didn't know I was going to be living in Spain, so I thought it would be painless to give a presentation and the updated workshop from QCon London. Yeah... I panicked a LOT about JAX (I apologise to the organisers for passing on my panic without giving them enough notice for them to be able to help me), in particular the half day workshop I gave, as I didn't feel that went well at QCon. And it scared the crap out of me to find out 30 people had signed up and more wanted to come. But after putting a lot of work in to the preparation, and taking into account the lessons I learnt at QCon, this tutorial went really well, and I'm ready to give it at conferences next year. Also, I think tutorials are the right place to talk in depth about MongoDB and to teach people about what it is and how it works, and presentations are a better platform for more general things that apply to a wider audience.
I have almost no photos from this trip to London (apart from a couple of Colin pretending he wasn't going to drink at the LJC Community Night) - looks like I didn't bother to bring my camera, since one of the few I have is via the iPad. This is what you look like when you visit eight different cities in less than two months:
More Actual Code, a Virtual JUG presentation, and then...
New Zealand: How exciting, an Actual Holiday. Because I get to travel all the time, and often get to see the cities I visit, I haven't taken any real time off since February. As we were going to be in Australia anyway, we got a chance to see New Zealand - a country I've always wanted to visit, ever since my uncle lived there when I was a child.
Australia: I've already given a very detailed round-up of YOW. If I say it was my favourite conference of the year, people will remind me that I've said that of more than one conference. But it was an amazing way to round off an incredible year.
So, there you have it. 2013 was a year in which I travelled all over the globe, visiting two continents for the first time as well as jetting around Europe and the States. It's a year where I started to learn a new language (Groovy) and continued to make very limited progress learning another (Spanish). It's a year in which I struggled to find the balance between all the parts of my job and my personal life, not always getting it right, but learning a lot in the process. Sure, reading the travel bits make me feel like I spent a lot of it fairly stressed, but it's also a year where I found a lot of happiness.
So, 2014, I have plans for you:
- _Travel less_. At the end of 2013 my batteries were extremely empty, the back-to-back travel has a much larger impact than simply the time it takes out of the schedule to get somewhere. This resolution is not just about not getting on a plane, I want to focus a bit closer to home - Madrid and Barcelona, I hope you guys don't mind presentations in English - including investing in local communities in Seville. But for those who aren't here in Spain, I have plans to compensate for this lack of physical interaction with people like...
- _More remote presentations_. The vJUG presentation went much much better than I expected, and it took a lot less time out of my schedule. It was also a lot of fun. I also want to do more webinars, screencasts, and so on. On a related note...
- _More writing_. Yeah, I probably said this last year. But I've got a backlog of things for the blog, plus a number of other magazine articles I'd like to do. I've got loads of things I want to write up for our official documentation too. And this isn't just pictures and stories, but code-heavy stuff as well, like...
- _Workshops and tutorials_. These are a better platform for learning about MongoDB at conferences (better than an hour-long talk anyway), and with a bit of effort should translate into something that can be done by anyone, anywhere. We already have a free education course for Java & MongoDB, but I want to offer even more examples of how to code against our driver and the other libraries people might be using. And not all these libraries are in Java-the-language, for example...
- _Do More Groovy_. I've really surprised myself, because I'm a die-hard, too-old-to-learn-new-tricks Java person, and I'm falling for Groovy - I love that the syntax is Java-ish but slick and descriptive. I want to continue with the Spock stuff in the driver, but I have ideas for a load of other Groovy things I could do in the Java/JVM/MongoDB world.
I think that's plenty to sign up for right now. Speaking of which, I've sort of failed at point 1 already, and I might see you at one of these:
**31st Jan - 2nd Feb**: FOSDEM. I'll be lurking in the NoSQL room.
**4th Feb**: JFokus. I can't stay for the whole conference as I have to fly to NY. Wait, what did I say about not doing things back to back?
**5th Feb - 12th Feb**: In New York for company meeting stuff. Can't wait to be back, feels like a long time. I wonder if it's worth trying to find a JUG to speak at, or if I should stick with my usual schedule of catching up with friends and colleagues, and shopping?
**3rd Mar - 6th Mar**: QCon London. Currently scheduled for another MongoDB tutorial and a talk (about groovy, yay!). Schedule will change, because I'm currently clashing with...
**7th Mar**: Joy of Coding. Not sure what I'm going to be talking about, votes welcome...
**20th May - 21st May**: GOTO Chicago. Again, not sure what I'm presenting on. Will also probably spend some time in NYC while I'm in the neighbourhood.
So yeah... that's my quiet 2014....