Photo by SpaceX on Unsplash

Building software for the cloud is daunting for a variety of reasons, the particular difficulties extending beyond choosing the fundamental approach and the underlying services; providing a decent local developer experience and provisioning infrastructure in a deterministic, repeatable way provide considerable challenges of their own.

As part of my recent investigation into MongoDB Atlas, a managed cloud service for running and scaling the eponymous NoSQL database, I built a REST API for storing and retrieving events sent from IoT devices. The goal of my spike was to put together a microservice that:

  • automatically scales when periodically faced with unforeseen spikes…

A (grainy!) photo of me speaking at the second Manc Web, hosted at Barclays Eagle Labs.

Since its inaugural event at AO’s Salford office in June 2018, Manchester Web Meetup has gone from strength to strength; thanks to the support of the Mancunian tech scene, including the attendees who have regularly participated in our events, and the companies who have hosted and sponsored us, Manc Web has certainly cemented itself as one of the prevalent tech communities in the city. As well as providing a platform for local speakers and software engineering teams, we’ve been fortunate enough to host talks from the likes of Google, Amazon Web Services, and BBC. …

This is a test post published from a cross-platform, native desktop app I’m building. It’s still in its infancy, but I hope to share more with you in the not-too-distant future!

Manc Web #3 at LADbible
Manc Web #3 at LADbible

It has been an absolute privilege to witness the growth of Manchester Web Meetup over the last 18 months. Since our pilot event at, the Mancunian tech community has welcomed us with open arms, supporting us along the way with talks and venues; bolstered by the amazing marketing team at YLD, I can confidently assert that the group has been an overall success.

However, said success is not sustainable. Despite running with an ostensible smoothness, we often find ourselves resolving various hurdles at the eleventh hour, mostly due to venues pulling out. …

A staggered waterfall graph of the loading of a code-split React app.
A staggered waterfall graph of the loading of a code-split React app.
A staggered waterfall graph of the downloading of a code-split React app.

I’ve recently been building a client-side router for React that also abstracts the Suspense API; that is, the router will provide particular components for the current path (i.e. window.location.pathname), but will also support Suspenseful components out-of-the-box. Unfortunately, it turns out that such an abstraction is not ideal due to its inflexibility, but I would nonetheless like to demonstrate how one can defer the loading of React components using this new feature.

The App


On Friday 26th July 2019, I took part in an Ask Me Anything (AMA) over on Venturi’s Slack channel. I received some excellent questions covering software engineering, effective approaches to learning, my work in the engineering community, and efficient delivery, and have transcribed them below along with my answers for your own perusal.

Liam [10:58 AM]
Welcome to the AMA! James, could you give us a bit of a bio to start the event?

Certainly Liam! As stated, I’m James and I’m a developer at YLD. I spend my time consulting at a variety of clients on JavaScript projects, using…

A sneak peek of what lies ahead…

For managing shared state in complex JavaScript applications, Redux is undisputedly the most popular choice. At the time of writing, it has trumped the alternatives in the last three The State of JavaScript surveys, has the most GitHub stars of any JavaScript state container library, and is installed from npm over 2 million times a week.

I’ve recently been experimenting with alternative approaches to consuming and updating global state in React applications, namely with RxJS (an approach on which I’ll be giving a talk at FrontCon 2019). In order to connect my presentational components to an observable stream, I wrote…

Image courtesy of

Earlier this month, I received a message on LinkedIn:

Hi James,

I’m a frontend developer looking for a junior position in London. Do you have any recommendations for someone looking to get into software development?

Since I’ve been asked this question previously, I thought I’d publish my response as an article for any aspiring developers out there. Rather than provide low-level details on the areas that we’ll cover, my aim is to outline the path I’d recommend, based upon my own experience. I hope to communicate this without trivialising my vocation; software development is hard!

Where do I Begin?

The engineer who sent me…

Today marks the five-year anniversary of beginning my software engineering career. Before then, I did undertake some work experience and completed some freelance projects — but I had no commercial exposure until I started my graduate scheme at Sky on this very day in 2012.

Rather than dive into some self-indulgent drivel, I’d love to share five of the most important things I’ve learned thus far; I believe that all developers should embrace them.

1. Throw yourself in the deep end

I remember my first day in the NOW TV Xbox 360 team. I’d just finished a 7-month stint on a graduate scheme, working on a number…

With trembling knees and a cane in his hand, an elderly fellow enters my carriage on this Piccadilly Line service to Uxbridge. Without wanting to convey a sense of entitlement, he shuffles around in the hope of encountering a kind commuter who will cede their seat. Within a couple of minutes, it becomes evident that no one is willing to stand, so, from another bank of seats, I offer my place, to a receipt of gratitude and a polite exchange.

This event, amongst others, reinforces everything I hate about our capital. Most of its residents are so obsessed with their…

James Wright

Software engineer, writer, speaker, and open source contributor. Worked at the likes of Sky, Channel 4, YLD, Trainline, and NET-A-PORTER.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store