London based Senior Software Engineer @goustocooking. Working mostly with JS, React and Agile processes.
Image for post
Image for post
Photo by Luis Tosta on Unsplash

At Gousto we‘d been struggling to upgrade our server-side rendered React 15 app to React 16 due to an elusive memory leak. One that had either been triggered or amplified by the version change.

Several attempts were unsuccessful, so we decided to take a step back and approach it from a different angle.

While our leak concerned a containerised React application, the methods and solutions detailed here will apply to any JS framework with a Node-based server.

“In essence, memory leaks can be defined as memory that is not required by an application anymore that for some reason is not returned to the operating system or the pool of free memory.” …


Design and develop highly performant UIs that don’t crack under pressure

Image for post
Image for post
Photo by Carlos Muza on Unsplash

In the modern world, data has become one of the most valuable commodities available. Companies collectively spend billions sourcing, shaping and analysing it.

As a result of this shift, the amount of data we have available to us has outgrown our traditional ways of viewing it

Now engineers all over the world are rethinking the technologies we use, and employing various tactics to ensure they are capable of handling this increase in information.

The user-facing element is no exception to this. It is unrealistic to assume it could render millions of data points out of the box.

I was recently in a team at a startup that was responsible for building the front-end to a network monitoring tool. The challenge here was the sheer amount of events we were expecting to have to process and present to the client in a valuable way. …


Use data-driven testing techniques to create an application or website that your users can’t live without

Image for post
Image for post
Photo by Brian Wangenheim on Unsplash

When building a tech product, there are a lot of unknowns you have to deal with.

Is the concept viable? Do I have the right people involved? Am I introducing the right features?

We’re going to be focusing on the last question, and how to answer it using various forms of A/B testing. This will then enable you to create product growth that is guided by constant user feedback. It also means you can design and develop based on the behaviour of users, rather than attempting to predict their expectations.

What is A/B testing?

A/B testing is a straightforward concept. You take a section of your product, and you modify it. It may be an individual element like a button or a larger entity such as an entire page. You then send a portion of your traffic (usually 50%) to the new version of this section, known as the variant. The rest of the traffic will continue to see the original, known as the control. …


Image for post
Image for post
Photo by Estée Janssens on Unsplash

It’s a fantastic time to be getting into Software Engineering. Opportunity is rife (present circumstances excluded) and building a career in the tech landscape is both exciting and rewarding.

There are many paths into and through the profession, however often these paths will meander. This will happen as you figure out directions and goals in both your work and personal life. Below are some tips on how to speed up this process and avoid the common mistakes people tend to make as they embark on their journey.

There are many paths into and through the profession, however often these paths will meander. This will happen as you figure out directions and goals in both your work and personal…

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