Microservices

Our main application is a monolithic beast, covering multiple distinct user flows, with very little UI cross over. I recently tasked one of our squads which was about to build yet another user flow into the application to do a tech spike into how it should be structured - packages, folders, microservices - what’s our way forward? But what are the actual problems we are trying to address here? Keen engineers are very quick to suggest things like “microservices architectures” as the way forward - from my perspective here be dragons....

Protecting Django Models

How do you prevent manual GraphQL traversals to sensitive data? How do you prevent accidental exposure of data to the wrong people? Making sure the right people have access to your data is crucial in this day and age. We use Django and Graphene on our backend to deliver content via GraphQL. This exposed some problems, in traditional REST (or django views or DRF) you would lock down endpoints and serve only what is required but with GraphQL the frontend decides what it needs....

Why GraphQL? Why Apollo?

How and why did we end up using GraphQL and Apollo? The tech sphere is obsessed with the latest and greatest tools - no we haven’t got Rust in our codebase…yet! Working in healthcare gives you a slightly different lens, you want to use reasonably well established tools balancing Boring Technology … with some experimentation in less critical infrastructure areas. Our frontend data-fetching and state layer is a prime example of an area that we need to be robust and consistent - we also can’t afford to migrate it to the latest hotness every few months....

About

I focus on architecting, building, testing, deploying, and maintaining software solutions in the healthcare space. Currently, I’m working at GenesisCare, the world’s largest private cancer care company - building doctor, staff, and patient-facing experiences. I manage a team of ~15 devs to deliver world-class, global solutions. This blog will cover a few technical oddities that I run into at work and outside of work. Opinions expressed are solely my own and do not express the views or opinions of my employer....