Ben Elgar


Distributed Systems Engineer

About Me

Me

Hi! I'm Ben, a software engineer with a passion for distributed systems and infrastructure engineering. I currently work at MongoDB and am based mainly in London, England. I'm always up for a chat, whether it's to discuss your latest business idea over a pint or to debate the utility of the latest JavaScript framework down at the local coffee shop, so feel free to contact me via any of the means below.

Contact Me

Experience, Portfolio & Projects

At MongoDB I'm working on a Kubernetes operator written in Go for our Ops Manager product which allows customers to create, delete, monitor, backup and otherwise manage MongoDB instances as part of their Kubernetes cluster.

The operator is available on MongoDB's website and on Github.

At mLab I mainly worked on an open source system orchestration platform built on Kubernetes that we called Lattice. Lattice allowed users to write fully declarative system definitions to orchestrate large systems at scale. Lattice handled communicating with cloud providers to create cloud resources and then create, destroy, scale, monitor, secure and otherwise administer Kubernetes clusters in order to achieve the desired specified system configuration.

Lattice is available on Github (though hasn't been maintained since mLab's acquisition by MongoDB).

I built and intermittently work on a web archiving service I call Permalinker. Permalinker is an open source distributed web archiving tool, allowing users to generate a permanent URL to a page as it currently appears.

Permalinker is built on Amazon Web Services, utilising DynamoDB and S3 to store data, SQS to queue jobs and Elastic Beanstalk to automatically scale the application to meet demand.

Permalinker is open source and available on GitHub.

I worked for CPD for Teachers as a teacher trainer, a content creator and lead web developer. In my capacity as a content creator, I wrote a large number of tutorials, blog posts and worksheets explaining a wide variety of complex tasks. These were used in courses and lesson plans in primary and secondary schools across the country.

As a trainer, I travelled around the country teaching primary and secondary school teachers to use complex technologies in their classrooms. The technologies included everything from Python to MIT's App Inventor to the Raspberry Pi.

As lead web developer, I led a team to redevelop the company's website from the ground up, including a comprehensive booking system, a mass emailer, a backup system and a content management system. This role also involved managing their large database—which included dozens of trainers, thousands of users, tens of thousands of bookings and every school in England and a significant percentage of the schools in the United States.

Trenchmill

For my third year games project, I worked as part of a team to develop a game we call Trenchmill. Trenchmill is a game which takes place in the trenches of World War I and allows you to move by running on a manual treadmill and shoot using a Wiimote. The game also makes use of a heart rate monitor, fundamentally changing the game to keep the player engaged and ensuring that all players are physically challenged.

My most important contribution to Trenchmill was interfacing between the game engine and the treadmill. Getting an accurate, low latency reading from the treadmill we were using proved to be very challenging; I tried a wide variety of different approaches, from using a camera and some computer vision to track the speed of some tape stuck to the belt of the treadmill, to using a computer mouse to tack the speed of the treadmill’s belt. Ultimately, I intercepted the cables from the treadmill’s (completely undocumented) inbuilt speed sensor and used a combination of a Raspberry Pi, an oscilloscope and a logic analyser to determine the format of the signal.

At the end of the project, I open-sourced the treadmill speed reader and made it available on GitHub.

I studied Computer Science at the University of Bristol for four years after which I graduated with a first-class honours master's degree. I won a number of departmental and faculty awards in every year, including for the best third-year project and contributions to the life of the faculty. I also ran the Computer Science society with hundreds of members where I organised sponsorship from companies such as Microsoft and Bank of America and hosted events and hackathons.