Meet Allan: Senior Full Stack Developer at Aider

Allan

We caught up with Allan,  Aider’s Senior Full Stack Developer, to discuss the performance improvements he has been working on and what they mean for Aider.

What’s your background and what is your role at Aider?

The core of my experience is that I am a mathematician. I landed a job as an embedded systems test developer around the beginning of 2012 before moving on to become an embedded systems developer. I then moved into backend systems in the pre-cloud era, and picked up a lot of database experience. Then I became a cloud engineer, where I picked up most of my knowledge here at Aider.

Today, my official title is Senior Full Stack Developer, but most people see me as the lead developer focussing on our backend servers.

What are recent performance improvements you’ve been working on?

I’ve mostly been working on the Aider Advisory Intelligence Portal. We wanted to improve the long wait times when loading the UI from the backend. Previously, you could only load 30 clients and it would take ~4 minutes to get data. We’ve removed that barrier and now you can load up to 100 clients in under 10 seconds. Our next step is to be able to load 1000 clients in 5 seconds so we can serve our customer, regardless of their practice size. 

How has your team changed Aider’s backend?

Aider started off with a monolithic backend, which served our mobile offering. We had a single business context of user questions and data-based answers.  Now, we also have the Portal. This fundamentally changed how our APIs operate. We had two options in front of us: 1) we could change the monolith to get it to return what we needed, or 2) we could create a new backend that operates in the appropriate context. 

We went with the second option. This lets us keep the old APIs to service our mobile offering while allowing for more efficient handling of the load with the new APIs. The new backend was designed in a modular way. We took the responsibility of a single data structure and designed a single server for that function. We believe in doing one thing and doing it really well.

Why did it need to change?

One of the big changes was that on the frontend, we enabled the authenticated user to be able to query across all businesses. This reduces the number of API calls from about ten per business in the client list to about ten in total.

Reducing the number of calls and the migration to a more modular backend allows the cloud infrastructure to have more clarity about when to scale the backend servers.

A side effect of all this is a decrease in development effort to change or add an endpoint. We went from weeks of coordination to mere hours.

What’s your favourite thing about working at Aider?

I love that we are currently exploring a wealth of ideas. We get to expand our skills to turn those ideas into reality. It’s a really exciting time as we are on the cusp of implementing some very high value items. We’re going to have quite a few good stories to tell over the coming months.