Glen Mailer Curriculum Vitae

I am a passionate, inquisitive software developer who loves solving problems and creating value. I like to let my work and experience speak for itself.


Employment

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

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

Front-end

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

Operations

  • Terraform
  • Chef
  • Puppet
  • GNU/Linux
  • Jenkins / CI
  • Vagrant
  • Git
  • Bash Scripting

Agility

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