image by Kajetan Sumila

Year in Review 2023

Steady & determined.

RailsConf 2024

I'm co-chairing RailsConf 2024 in Detroit May 7–9. Come and join us 


The major change at work was the arrival of Ollie and Olivia, fresh-ish from their Le Wagon bootcamp. I can only express what a wonderful experience it has been to see them grow into their new careers and to see how well the existing folks have turned into valued mentors and coaches.

We also executed a (first ever) price rise for all our non-entry level customers, while equalising our US/UK pricing at the same time.

We tried to be considerate, our base plan pricing stayed the same, plus a bunch of folks end up reviewing their pricing and ending up on plans that’ll fit better for their usage. I did spend much of early January frantically battling Stripe’s API to make it happen. Stressful, but worth it in the end.

Spent the year getting fit. The main difference has been actually doing the amount of exercise I was already doing in my head, but with my actual body. Primarily this has been an embarrassing (door shut) series of Apple Fitness+ Strength and HIIT classes.

I’ve also made an effort to not each as much crap and the improvements in non-alcoholic beer means I’m drinking less, particularly at home.

My regular Monday dad-football has, as a result, improved over the year in terms of me covering more ground as well as not picking up so many little niggley injuries. It didn’t stop me breaking (maybe bruising, but same difference) a rib in late March, which was joined by a cold caught in A&E during my overnight, eight hour, wait. The initial week of convalescence and coughing resulted in a lot of swearing.


The events quarter.

Off to Atlanta to give a talk at RailsConf about the big rewriting of CoverageBook and how Taylorism helped us. Didn’t have a huge amount of notice that I was accepted, but managed to pull off quite a difficult, and I hope entertaining, talk structure. And a big reveal.

It’s always good to hang out with Ruby people, the best kinda people, in general. Plus to have some lovely time with my tightest conference friends.

I was fortunate to reprise the talk, the energy and weeks of effort I put into them mean it’s very nice to give more than once!

A much smaller audience at RailSaas in Athens in early June. Very different vibe at Andrew’s smaller event, with perhaps a slightly bifurcated audience and schedule. A mixture of active Rubyists and also more MicroConf-y folks, similar in terms of my own event challenge we faced with LTVConf back in the day.

Was able to attach a brief family holiday in Greece as it was half term, ate incredibly well and was able to visit the Parthenon one early morning before the sun really beat down. Quite a magical place. There is no way the Elgin marbles belong in the UK. Send them back.

After that, as ideal preparation for a conference, I disappeared to the remotest part of the UK, some way from the nearest plumbing and mobile signal. We walked and camped wild for four nights through the Knoydart Peninsula in the west of Scotland. I wrote about the life affirming and truly astonishing place and experience with some close friends, led by Josh and Em.

The end of June brought a Brighton Ruby on a scale I hadn’t ever encountered. Over 500 tickets sold. I’m not convinced the size is a “new normal” as much as a delayed reaction to post-pandemic freedoms and last year’s small event. 2022’s event was small and sold out quickly, so I guess there was a bunch of latent demand. I’ll be amazed if we aren’t back to normal next year.

The (swag) socks were both a triumph and a disaster. The provider had to retrieve them from shipping that would have got them to me too slowly after misunderstanding my deadlines. They arrived size-unlabeled, then I compounded that error by mislabelling about a third of them on my first pass… a couple of stressful evenings comparing the patterns around the toes in order to get the right socks to the right people.

But, in general, the feedback was good, plus being surrounded by good friends and colleagues for a drink at the end of the day is always an annual high point.


August brought my sabbatical from work and a, frankly epic, trip to Canada. Primarily a house swap on Vancouver Island (Bears! Whales!), then deeper into British Columbia for mountains and family before ending with a long drive in a rented 27 foot RV to the badlands of Alberta for dinosaur fun.

The driving was long and at times ecologically troubling as we skirted the worst wildfires in a generation and narrowly evaded evacuation orders. On a couple of nights fires sparked in the hills above us.

There seemed to be a sense of competent management according to the news, but the frightening scale of the fires was a troubling undercurrent to a trip otherwise invested in being in the natural world. The irony of flying there, then driving a large diesel vehicle across the country wasn’t, and isn’t, lost on me.

Joined a gym in September after more than a decade. It’s much cheaper than it used to be. The location, near the pier, and putting sessions in my diary mean I’ve kept up the cadence of a run and two weights session before work during the working week.

Had a lovely coworking cafe day in Brighton with Nadia.

Invited our junior folks to stay on as permanent employees having previously planned to send them into the world after their year was up. They seem pleased. Guess working with me is fun?


October opened with a very civilized trip on the train to Amsterdam. The inaugural Rails World was a triumph for our community and primarily a testament to Amanda, who I’ve been fortunate to get to know this year.

There’s a real sense of forward progress in the framework, some real—solid—innovation for the small team vision of Rails apps as well as the bigger scale investments in Ruby and improving the framework. Plus, again, got to spend time with Ruby friends in real life and make new ones.

Reflecting on Rails World through a work lens it really feels like we can return to “vanilla” where we had to previously veer off the Rails. In the past some features weren’t fully baked for our use case, or we’d started down a path before a feature joined the framework. I think we can return to defaults to make our lives easier.

My internal “look what we did!” presentation as we wrapped up the work year revealed a successful and slightly stuffed year of high quality feature and performance work by the team, resulting in hard earned growth and reduction in churn. We did less well as a team in terms of attracting and converting new customers, but we still managed to have our best growth year ever.

I have a sneaking suspicion that we could be doing even better if we can get ourselves in front of more folks. Or reach back and remind past customers that we’re here and better than before.

Again, accidentally, gave myself a hard January deadline—thus a stressful December and in-between bit—to switch to an entirely imgproxy-based system from a paid service, which was annoying to migrate because of complexity we’d introduced, not because of this amazing piece of software. Recommended.

Next year I think we’ll focus ever more of cleaving to default Rails to piggyback on the core team’s hard work and there’s a couple of big cost savings to do. Plus we have a big engineering as marketing swing to ship in the first months of the year.

Watched… Letterboxd

Across the Spider-verse was astonishing to look at, Dungeons and Dragons was great family fun, and Guardians 3 was surprisingly, enjoyably, horrifying for a summer popcorn movie. By far the best Marvel of the year.

Eventually achieved Barbenheimer. Both good.

In a more serious vein, Aftersun (melancholic), Emily the Criminal (tense), Triangle of Sadness (eat the rich!) and TÁR were all worth watching.

The entire Monsterverse, despite the enthusiasm of my son, was awful nonsense. Revenge of Sith and even Rise of Skywalker weren’t the total disasters I remembered. Princess Bride & Back to the Future held up for my kids. Spirited was a new Xmas delight.

The end of Succession was a triumph, and The Bear was terrifically tense. I enjoyed the second Season of Loki as well. My list of “excellent shows that I want to watch” extends years into the future.

Read… The StoryGraph

Really enjoyed the couple of Lee Child Reacher books I read—their continuing mix of barreling plot and slight pastiche continue to appeal—and the Ted Chiang collection of short stories I’m currently reading is excellent.

Broken Earth trilogy was tremendous even if I felt it declined a little in the third book.

The audiobooks of His Dark Materials inducted my kids into one of the finest modern tales there is.


Fortnite some more. Enjoyed the venture back to the original island in November.

Spider-Man 2 is more of the (excellent) same and came out the same day as Mario Wonder which is classically Nintendo-ly amazing. It Takes Two is a weird, coop, divorce game I’ve enjoyed with the kids. Stray was perfectly built and executed sci-fi story.

In an unwise purchasing decision that adds to my “gaming queue” I bought a Steam Deck OLED, it’s frankly beautiful.


I’m due a proper “thinking about goals” session, but off the top of my head…

Rekindle the First Ruby Friend project, which has ticked along (folks still got jobs!) but without me wanting to give it an enormous shove because of the volume of manual work it generates on the back end.

Plus I have another “early career support” project I need to get off the ground. Just need to book some time to make it happen.

Rekindle the podcast?

Weeknotes? Would anyone care?

Keep up the decent pace of writing of One Ruby Thing. Monthly-ish. More often would be good.

Maintain and consolidate my health.

No talks. Just enjoy attending things.

Brighton Ruby 2024

Still running UK’s friendliest, Ruby event on Friday 28th June. Ice cream + Ruby 

Last updated on December 31st, 2023 by @andycroll