Glen Mailer Curriculum Vitae

I am a passionate, inquisitive software developer who loves delivering customer value and eliminating waste. I like to let my work and experience speak for itself.


Employment

CircleCI

Senior Staff Software Engineer October 2020 onwards

Staff Software Engineer January 2019 to October 2020

  • Technical leadership of the team responsible for developing and maintaining the core multi-tenant execution platform
  • Balancing directly customer-facing feature development with maintainance of platform infrastructure
  • Managing that platform infrastructure running thousands of nodes executing isolated customer workloads
  • Handling gradual rollout of frequent changes across a microservice architecture while minimising impact to current customers
  • Practiced true continuous deployment of changes from merge to production
  • Expanding effectiveness of automated test coverage using more realistic cross-service integration scenarios
  • Regular optimisation of deployment pipelines with the goal of sub-5-minute deployments and easy, safe rollbacks
  • Led architecture and development of the self-hosted runner offering
  • Re-working existing systems to handle ever increasing scale as the company grew to over 3 million daily builds
  • Clojure
  • Go
  • gRPC
  • PostgreSQL
  • MongoDB
  • RabbitMQ
  • Bash
  • AWS
  • Docker
  • Nomad

Ministry of Justice Digital

Senior WebOps Engineer (Contract) January 2017 to July 2018

Within Her Majesty's Prison and Probation Service

  • Coaching development teams in operational concerns and architecture
  • Helping spread and follow GDS principles for effective user-led service design, in product teams as well as operations
  • Designing operational approaches that enable development teams to focus on their specific products
  • Leading on the design of infrastructure architecture that requires minimal organisational footprint by making use of SaaS and PaaS whereever feasible
  • Helping with software development when needed
  • Assisting with architectural design that moves away from large, siloed, slow-moving, monolithic applications and towards smaller interconnected services
  • Assisting with transition of legacy on-premise infrastructure into Microsoft Azure
  • Terraform
  • Microsoft Azure
  • Node.js
  • Python
  • Circle CI
  • Ansible
  • AWS
  • Docker

Trading Technologies

Software Engineer (Contract) April 2016 to December 2016

  • Building a rich, complex, desktop-like application for the browser
  • Using a modern JavaScript stack and demonstrating benefits to colleagues
  • Making heavy use of unit-testing, especially in the data layer
  • Promoting a more modular and independent approach to the development of the company's applications
  • Worked remotely from the UK with colleagues based in Chicago
  • React.js
  • Redux
  • Webpack
  • Flow
  • Node.js
  • JavaScript

Department for Work and Pensions

WebOps Engineer (Contract) January 2016 to March 2016

  • Managing server and network setup and configuration for the service team
  • Introducing use of Puppet and r10k for repeatable automated server configuration
  • Helping spread and follow GDS principles for effective user-led service design
  • Leading on architectural designs and approaches for the service
  • Supporting the team in a move to a more agile and iterative continuous delivery mode
  • Implementing server-side logic for citizen facing service and assisting with front-end build
  • Node.js
  • Express
  • DevOps
  • Continuous Delivery
  • Jenkins
  • Ruby
  • Puppet

Sky Bet Italia

Software/DevOps Consultant (Contract) April 2015 to December 2015

  • Leading system and software architecture for a ground-up build of the betting application and platform
  • Leading the implementation and direction of the entirely React-based front-end user-facing application
  • Embracing infrastructure-as-code principles with the DevOps team
  • Automating all the thingsā„¢ via Terraform, Chef and Jenkins
  • React.js
  • Node.js
  • DevOps
  • Continuous Delivery
  • Jenkins
  • Ruby
  • Chef
  • Terraform

Sky Betting and Gaming (BSkyB)

Software Engineer (Contract) July 2014 to March 2015

  • Architected and implemented a React.js & RabbitMQ based real-time UI for use by the internal trading team
  • Designed and ran a 10 week Node.js training course for over 20 staff
  • Worked in DevOps team doing operational maintainance and systems configuration changes via Chef
  • Lead developer for Super6 website and app, reaching #1 in the App store and well over 500k weekly unique players
  • Made improvements to continuous delivery flow by reducing build times and build complexity
  • Led drive to modernise Node.js use and embrace separate applications using small modules and explicit dependencies
  • Upgraded and tested entire codebase to run on PHP 5.5 instead of PHP 5.3
  • Expanded use of Vagrant to improve configuration consistency between development and production, as well as new developer ramp-up time
  • Introduced a business-friendly dashboard system running Dashing to display on TVs around the office via Raspberry Pis
  • Improved performance of backend data pipeline via Node.js optimisation and profiling, as well as reducing workload on MongoDB
  • React.js
  • Node.js
  • DevOps
  • Continuous Delivery
  • Jenkins
  • RabbitMQ
  • MongoDB
  • Ruby
  • Chef
  • Vagrant
  • Redis
  • MySQL
  • PHP

BJSS Limited

Software Engineer (Contract) February 2013 to June 2014

Working on-site with a major UK Broadband Provider

  • Adding new features to a legacy codebase
  • Pushed for a more collaborative requirements process
  • Introduced feature toggles to enable more continuous integration and delivery
  • Worked alongside BJSS consultants and in-house employees
  • Improvements to stability of continuous integration platform
  • Made popular UX improvements to internal admin tooling
  • PHP
  • PHPUnit
  • MySQL
  • JavaScript
  • jQuery
  • Jenkins

Web Loans Processing Ltd

Software Engineering Team Lead October 2012 to January 2013

  • Managed a team of 5 developers in a satellite office
  • Produced a customer portal & admin system for a pre-paid debit card product
  • Maintenance and refinement of existing legacy systems
  • Improved fault tolerance, monitoring and environmental configuration handling
  • Introduced schema versioning
  • Introduced Continuous Integration and expanded use of unit testing
  • Improved collaboration between clients and developers
  • Shortened iteration cycles to improve feedback loop
  • Performed DevOps tasks for product deployment and server configuration
  • PHP
  • PHPUnit
  • MySQL
  • JavaScript
  • jQuery
  • HTML5
  • CSS3
  • Jenkins

Sky Betting and Gaming (BSkyB)

Lead Software Engineer September 2011 to September 2012

Software Engineer April 2011 to September 2011

  • Managed a team of 8 developers and testers
  • Worked collaboratively with BA and product owner on requirements
  • Built responsive portal for HTML5-based mobile Sky Vegas offering
  • Led movement to further modularise front-end javascript using AMD, and began unit testing of front-end javascript code
  • Integrated work from 3rd-party suppliers, both and agile and not
  • Saw release cycles drop from months to weeks to days to daily
  • Part of the project to rebuilt SkyBet.com in-house where previously the entire site was a 3rd party white-label deployment
  • Built the back-end data processing pipeline that feeds data from OpenBet to in-house systems, using Node.js and RabbitMQ
  • Profiling and monitoring application systems to improve performance
  • PHP
  • JavaScript
  • Node.js
  • jQuery
  • RequireJS
  • HTML5
  • CSS3
  • Responsive Design
  • PHPUnit
  • MySQL
  • Redis
  • memcached
  • RabbitMQ
  • Graphite

epiGenesys

Senior Developer June 2010 to March 2011

Software Developer June 2009 to June 2010

  • A wholly owned University of Sheffield subsidiary company
  • Handled all aspects, from client liaison to development to deployment
  • Primary product was a flexible clinical trial data capture and reporting system
  • Partially responsbile for evaluating and teaching 4th year students about software delivery via Genesys Solutions
  • Ruby
  • JavaScript
  • jQuery
  • HTML/CSS
  • MySQL
  • PostgreSQL
  • PHP

Open Source

Reading and understanding other people's code has taught me far more about software development than anything else.

Every production system I've worked on has involved a large amount of open source software in its toolchain and platform. I'm keen to make sure this doesn't become a one-way transaction, and make a point of always contributing bug reports, fixes and improvements to the original authors. Much of this activity can be seen on my GitHub profile.


Education

I hold a First Class Masters Degree with Honours in Computer Science and Mathematics from the University of Sheffield.


Skills

Server Side

  • Go
  • Clojure
  • Node.js
  • Automated Testing
  • HTTP
  • SQL
  • AMQP / RabbitMQ
  • Redis
  • MongoDB

Front-end

  • JavaScript
  • React.js
  • Redux
  • Webpack
  • Automated Testing
  • HTML5 / CSS3
  • Responsive Design

Operations

  • Terraform
  • Continuous Integration
  • Git
  • Bash Scripting
  • GNU/Linux

Agility

  • BDD
  • TDD
  • Scrum
  • Kanban
  • Continuous Delivery
  • Information Radiators
  • Collaboration
  • User-needs
  • Value focus