On becoming a MySQL Teenager

Thirteen years ago today (September 25th, 2005) I joined MySQL AB.

At the time they were just about hitting 10 years old themselves, celebrated at the first conference I attended for MySQL – The Open Source Database Conference, in Frankfurt in November 2005. That was around the time “Free as in Free Beer” was popular (and we drank lots of it).

I was introduced to Salmiakki at that time too – still don’t like it.

Less than a couple of weeks later on October 7th 2005 Oracle announced it was buying InnoDB. I remember thinking at the time how my new job could be cut short so quickly, and the tumultuous times we went through before we got to where we are today. I never imagined I’d reach 13 years at the time.

I joined as a regular Support Engineer, recruited by Dean Ellis, who at the time was running the Americas Support Group, under Tom Basil. Apparently answering all the questions on #mysql on the freenode IRC channel was a good sign to them (a number of fellow engineers were recruited like this as well).

Support has always been one of the rock star groups within MySQL, they do an amazing job looking after our customers (just ask any of them, I’m sure they’ll corroborate this). I spent around five and a half amazing years in that org, starting off with giants like Peter Zaitsev and Vadim Tkachenko (who at the time were in the High Performance group in Support, they left not too long after I joined to start Percona – incidentally where both Dean and Tom now work as well, I still miss having you both to talk to more directly). Domas Mituzas was also recruited along with me from IRC (at the time working hard on Wikipedia, now working hard at Facebook, along with a few other great ex Support engineers like Harrison Fisk and Lachlan Mulcahy). And who can forget Sinisa Milivojevic – who just turned Twenty, and is still going strong. I think both Domas and I will never forget his interviews.

I worked my way up to a Senior Support Engineer within around a year I think, and then around another year later got moved in to the role of Regional Support Manager, Americas, as the Support organisation grew with our customer load and split in to 3 sub teams (under Todd Farmer, Kolbe Kegel and myself).

Somewhere along the lines here we got acquired by Sun Microsystems, a particularly odd event for me…

At the time there was an all company meeting happening in Orlando, however there’s no such thing as an “all company meeting” in a globally distributed team that has to provide 24×7 support. I was one of the (un)lucky engineers chosen to stay at home and provide support whilst the rest of the team got the shock of their lives. It’s a very strange thing when you are separated from the entire company who are meeting and discussing the big news face to face, and stop communicating in the distributed channels you are used to at such a time. Radio silence after that announcement was hard. I believe I still hold the record for most support issues handled in a day by a single engineer from that time too.

That uncomfortable memory aside, I have a lot of mostly very fond memories of these years (and it has to be said working for Sun started to turn the MySQL organisation in to the more serious engineering group it is today). I can’t list all the support engineers I worked with here, but I hope you all know that the time we worked together has helped to shape me as I grew up (literally, I was 26 when I joined). Another great engineer, Valeriy Kravchuk has a great series of blogs about the people from those times.

You all have a special place in my life, thank you.

A little after the time that Oracle took us over in 2010 (8 years ago now!), I took a sideways move in to the MySQL Engineering group, moving in to the Enterprise Tools Team, as a Software Engineering Manager, working on MySQL Enterprise Monitor. I’d worked with the team since joining MySQL already anyway, first as a “Support Coordinator” through my time in Support (each engineering team has a dedicated Support Engineer who helps coordinate and disseminate information flow between the teams).

Monitoring has always been my passion (my father started me on this path back at the young age of 18 – 21 years ago, sigh! – working with him at Bradmark on Oracle, Sybase and SQL Server tooling. Incidentally it was in the process of building a MySQL monitoring module for NORAD Surveillance, that never saw the light of day, that I was recruited in to MySQL) – so it was natural move for me.

My time with the Enterprise Tools Team has allowed me to focus more on those passions, with an awesome engineering team to back that up, under the Directorship of Gary Whizin (who also joined at around the same time as me, and becomes a teenager in a couple of weeks himself).

Like Tom and Dean before him, Gary’s been an amazing mentor for me. He’s helped shape who I am today not just professionally, but personally too (along with my direct family and “extended” family with fostering). Words can’t do justice to the thanks I have to him, so I won’t bother here, I hope (and know) he knows it though.

In the past eight’ish years, we’ve only lost a few of the original team, and gained a whole new bunch of people that simply make coming to work for me a joy.

I get to work directly with Mark Matthews, the guy that wrote Connector/J originally (and who is 16 and can drive to work now!), and got to work with Jan Kneshcke, the guy that wrote lighty and MySQL Proxy, and now works on Router and other MySQL Document Store (and X-Protocol) things.

From the plucky small team started by Andy Bang, Sloan Childers (we still miss you Sloan) and Jan, not long before I joined MySQL AB, to where we are today, has been quite the journey. We’ve learned and grown a lot as a team over the last 13 years, instilling sound engineering and testing practices in to everything we do (and even leeching some of out that out in to the wider org). Every new member of the team has enriched our whole in many different ways. I can’t name you all, but to all of you:

I Heart You

Thanks for keeping my days bright and interesting – you’re a large part of what makes working for MySQL so great to me.

Not only have I gotten to help shape the direction of MySQL Enterprise Monitor with our team, I’ve also gotten to help shape Performance Schema specifications (along with Marc Alff doing most of the implementation there, and the team that works with him now on it), I’ve also been able to work on, and contributed the sys schema.

This has allowed me to travel and talk a whole bunch about various monitoring things for MySQL at various conferences, where I’ve been lucky enough to get to know a whole bunch of MySQL users in the community. That has to be one of the other most enriching parts of my job, and is probably why working in Support was such a draw for me initially. I love knowing that our software is helping to (mostly) run the internet (and not just that, so many verticals use us now), and I love the challenge of helping to make it better at doing that for you in simpler ways. I particularly love seeing and hearing about all the crazy ways MySQL is used, the challenges people faced, the innovative ways in which they’ve worked around problems, and the way you all constantly push us to improve in a positive way.

You really are one of the other core reasons I am still where I am thirteen years down the line. I strongly believe that MySQL itself has helped to make the world a much richer place, it being the “M” in “LAMP”, and helping to run so many of the top websites. I see it more as an honour to get to work with the MySQL team, to help you all do that. I know all of us that work on MySQL, no matter what the team, wear the same badge with honour.

It probably doesn’t get said enough in the wider world, but we really do care deeply about making our software succeed for both community and customers. Whilst I’m often a mouthpiece (both internally for the community and sometimes unofficially externally to some in the community), it has to be said that the real work that makes the difference there happens within the various awesome MySQL Server development teams.

Under the new leadership within Oracle, and the new changes of leadership in the MySQL Server team as it made its transfer from Sun, it really is night and day how the engineering practices of MySQL have come along. Back in the heady days of my joining support I remember pretty deeply the pain that we went through with the 5.0 and 5.1 releases. Since those times, the 5.5, 5.6, 5.7 and now 8.0 releases have only gotten better, more feature rich, and more stable, with both the hard work from the amazing engineers and great leadership on those teams. You’re all the final reason that’s made working at the same place for thirteen years so easy to me, it’s great to work with such a talented set of people.

As most of us know, when we hit our teenage years times can get challenging. Last year I became a Software Development Director, readying me to hit my (pubescent?) teenage years with more responsibility. This year our team gained a new role working on the MySQL Cloud Service Control Plane on Oracle Cloud Infrastructure. That’s pretty much turned my life upside down, in many ways just like graduating to High School.

We now get to work with yet another amazingly smart group of people on the OCI team, and I get to grow up, “put my big boy pants on”, and start helping to run a Cloud Platform DevOps focused team. Go to OOW to start hearing more about that.

I’m incredibly excited about what the next few years will bring my way as I grow up to become an adult within MySQL. This kid still has a lot to learn!

(Shit, I’m 40 next year too)