A clean slate

Today marks the launch of my new site and a clean slate on which I can restart a long dormant blogging habit. I’ve not had a blog since the early 2000s so why now?

Good question; a big part of it is because I miss writing. I used to enjoy crafting blog posts and I feel my writing has suffered since I stopped writing regularly.

The other part is that I was missing a topic to write about that I felt passionately enough about to dedicate the time to writing that a blog demands.

Back in the day I used to write extensively about frontend topics: namely the nascent UX movement in the 90s, and semantic design and CSS. At the time I was very much a specialist frontend developer moving towards UX architecture and this was very much my bread and butter.

A change in focus

Since then I’ve been on a big journey career wise and, whilst frontend will always be close to my heart, my focus has moved further down the stack to one of the big problems in modern microservices architectures: how to deliver performant frontend experiences with disparate data sources.

This issue led me to discovering GraphQL in 2017, after which I was hooked. Since then I have been championing its use at RS Components with our first production GraphQL instance going live in 2018.

We initially followed a BFF pattern with each engineering team maintaining their own BFF for their experience. This doesn’t scale very well and has its challenges: namely coordinating changes with wide reaching impacts (regulatory changes for example) and keeping duplication of effort under control.

We’ve tried loads of options to try and solve some of these and, after falling foul of the fragility of schema stitching, we think we have now discovered the perfect soltion for us: Apollo Federation.

My new muse

I spend a fair chunk of my day to day professional life immersed in GraphQL and championing its adoption. We are just about to start the implementation of an enterprise wide, federated data graph at RS and one thing that doesn’t get enough coverage is GraphQL at scale.

So this is what I intend to cover on this blog: GraphQL at scale. Given our usage of federation, expect to see this covered quite regularly, but I will also be covering the underlying language, schema design and related tech.

Today marks the start of this exciting new journey and I hope you forgive this first post. I’ll admit I wrote it mostly for myself to mark the occasion and to record my thinking, but if you got this far then you must at least have found it slightly interesting!