Martin Gallagher

Consultant software engineer specializing in Google Go / Golang and Rust.

Projects

  1. Encycolorpedia

    Provides insights into colours, including search, colour schemes and paint matching. Colour profile pages are implemented using the Rust programming language, backend API and more trivial pages use Google Go. Sass and vanilla TypeScript are used on the front-end.

    • Rust
    • Golang
    • C++
    • Python
    • TypeScript
    • Sass
    • Drone.io
    • PostgreSQL
    • Docker
  2. VAT.me

    VAT.me is an online service providing VAT management for HMRC's "Make Tax Digital" (MTD) initiative. Backend API implemented using Golang with a vanilla TypeScript and Sass frontend. Infrastructure as code via Terraform with a Drone.io CI/CD pipeline deployed on Amazon AWS.

    • Golang
    • TypeScript
    • Sass
    • PostgreSQL
    • Terraform
    • AWS
    • Drone.io
    • Docker
  3. Praegressus

    Technology service / software consultancy specializing in modern Agile development practices, microservices, TDD / test orientated design, scalable distributed systems and performance critical software development.

    • Rust
    • Golang
    • Microservices
    • Agile
    • Infrastructure as Code
    • AWS
    • Cloud
    • CI/CD
    • Docker
    • Containers

Clients

  1. Sainsbury's

    Senior Software Engineer (Google Go) – London, UK – Working on highly concurrent big data pipelines using Lambda, PostgreSQL & other AWS technologies and integrations with third party APIs. Infrastructure as code via Terraform; Lambdas implemented using Golang. Apache Kafka used to supply data to internal clients.

    • Golang
    • PostgreSQL
    • Terraform
    • AWS
    • Lambda
    • Docker
    • Apache Kafka
  2. Curve

    Senior Software Engineer (Google Go) – London, UK – Fintech / financial technology systems developed using Golang. Projects included AMEX / American Express integration, tooling to orchestrate local running and development of Docker services, health check packages for REST APIs and Kubernetes readiness probes and API contract verification via Swagger. Depending on requirements data was stored using PostgreSQL or MongoDB. Microservices were deployed via Jenkins to Kubernetes on AWS.

    • Golang
    • PostgreSQL
    • MongoDB
    • AWS
    • Docker
    • Kubernetes
    • Swagger
    • Fintech
  3. River Island

    Senior Software Engineer (Google Go) – London, UK – Engineering Google Go / Golang microservices using TDD practices on the AWS cloud platform. Microservices for RFID stock counting and integration between AWS Aurora and Oracle databases via ORDS and custom event based ETL systems via Amazon DMS. Serverless (Lambda) and containerized (ECS) deployments depending on service requirements. Heavy use of Amazon Web Services including Lambda, S3, EC2, DMS, Kinesis, SQS, DynamoDB and Aurora RDS (MySQL and PostgreSQL). "Infrastructure as code" using HashiCorp's Terraform. Concourse CI/CD. Consumer Driven Contracts testing using Pact.

    • Golang
    • PostgreSQL
    • Terraform
    • AWS
    • Docker
    • TDD
    • Swagger
  4. Saatchi & Saatchi

    Cassandra / Big Data Migration – London, UK – Optimizing and migrating a large Cassandra schema used in the mobile game Sea Hero Quest. Optimized schema design to allow for efficient time series queries. Bespoke data migration tooling developed using Golang. Implementation of new API endpoints using the existing PHP / CodeIgniter codebase.

    • PHP
    • Golang
    • Apache Cassandra
    • Big Data
  5. Bet365

    Senior Software Engineer (Google Go) – Stoke-on-Trent, UK – Provided Go expertise in the forensics department (fraud detection) in highly concurrent systems. Go application optimization and profiling: race conditions analysis and fixes & Go concurrency best practices. Also outlined project architecture and introduced Git flow best practices. Technologies included Google Go / Golang, PostgreSQL, WebSockets and Apache Kafka.

    • Golang
    • PostgreSQL
    • WebSockets
    • Apache Kafka
  6. GRI

    Lead Software Engineer (Google Go) – Knutsford, Cheshire, UK – Google Go / Golang lead for a major rewrite of the client's finance and staffing system – from monolith to microservice architecture. Responsible for the core implementation of financial components, code quality and performance requirements. Technologies include Jenkins (CI/CD), Docker, MySQL (AWS RDS), Consul, JWT, Amazon DynamoDB, MongoDB, Elasticsearch | Logstash | Kibana (ELK stack), Python (PETL / ETL), in an Agile development environment. Cloud infrastructure using Amazon Web Services (AWS). Integration testing framework using Node.js / Jasmine / ES6.

    • Golang
    • Python
    • ETL
    • MySQL
    • AWS
    • Jenkins
    • Docker
    • Node.js