Skip to content

ashatch/resume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Andrew Hatch (B.Sc., Ph.D.) - Senior Software Engineer & Team Lead

A proven track record of high performance, large scale microservice-oriented systems. Hands-on senior software engineer, team lead and scrum master. Customer-facing, with strong interpersonal skills. Solid R&D background, holding many publications and two patents.

Principle Software Engineer, Discover Financial Services

  • November 2021 - present
  • Discover Financial Services owns Discover Bank, the Discover Network and Diners Club International.

Developing services for a domain in Digital Payments, focusing on REST APIs and an Event Driven Architecture (Java 11 Spring Boot, Podman, Kubernetes, Apache Kafka, Avro Schemas, PostgreSQL, Vault, ELK observability) along with ISO 8583.

Senior Software Engineer & Team Lead, Amplience

  • September 2015 – November 2021.
  • Amplience is a headless content SaaS platform with tier-1 retailers and well known brands as customers.

Led a team in a multi-team project to build a service-oriented content management system (Java, Kotlin, Spring Boot, AWS, MongoDB, Elasticsearch, Kinesis). Iterative development though to 10 million requests/day. Delivered on-time with a low defect-rate.

Developed a <30ms low latency, multi-region content delivery API using Anycast networks, CDNs and containers. Built with a multi-reactive framework (vert.x, RxJava) for high performance non-blocking IO. Currently serving ~12 million graphs day. Push-button CI/CD deployment using AWS CDK infrastructure-as-code.

Ran two projects to deliver an upgrade path for Cassandra (NoSQL db) and Solr (text search index) allowing for horizontal scalability to much larger cluster sizes. Allowed growth to manage billions of documents. Used dual-write strategies with blue/green switch-over.

Built an asynchronous publishing service orchestrated by a state machine (AWS Step Functions) using serverless Lambdas and DynamoDB with integration to a legacy AWS Simple Workflow system. Orchestrated using AWS CDK.

Led a team to diagnose and protect an internet-facing API from DDoS-like traffic spikes using a token-bucket rate limiting layer using AWS API Gateway, Cloudfront and WAF. Significantly reduced incident rates.

Ran a mini project to reduce development costs. Optimised AWS resource use to bring down expenditure by 30%. Migrated projects to containers (AWS ECS/Docker) allowing migration to AWS Fargate. Built tooling (Lambdas) to scale development environments.

Technologies & Patterns:

  • Java 6 through 12, Kotlin 1.3, TypeScript/node, Ruby, Lua, Bash, Go
  • Docker, AWS ECS & AWS Fargate, AWS Lambda, AWS Step Functions
  • AWS EC2, S3, SQS, Kinesis, DynamoDB, Simple Workflow (SWF), Cloud Development Kit (CDK), Cloudformation
  • Git, Maven, Gradle, CI/CD (Bitbucket Pipelines), Jira, Confluence, Jenkins, Teamcity, Blazemeter, Taurus, jMeter, Sonar
  • MongoDB, Cassandra, Solr, Elasticsearch, MSSQL
  • vert.x (RxJava2), Spring Boot, JSON-API, JSON Schema,
  • Microservices, REST, asynchronous, reactive/multi-reactor, HAL, HATEOAS, TDD, CI/Continuous Delivery, Gherkin/Cucumber.
  • CDNs, Anycast networks (AWS Global Accelerator), Cloudfront, API Gateway

Consultant, Torry Harris Business Solutions (Nov 2014-Sep 2015)

Full-stack developer attached to the Customer Interactions Team at EE Ltd. (telecomms) at the Darlington office supporting the development of three core products that serve thousands of internal CSAs and 28M customers.

Hands-on in all aspects of delivery: business engagement, cost estimation, project tracking, high-level design, test driven development, integration testing and support. Strong use of Agile and SCRUM with pair-programming as needed.

Technologies & Patterns:

  • HTML, CSS, jQuery, Bootstrap, Underscore, Less, JSON-RPC, Websockets.
  • LAMP stack with Symfony 2, Doctrine, Gearman
  • MySQL, Oracle 9, Memcache
  • Apache CXF on Tomcat
  • Java/Spring MVC with Hibernate stacks
  • SOA approach with SOAP/XML and RESTful enterprise bus.
  • Git, SVN, Rational ClearCase, Maven, Ant, Vagrant, Docker & Jenkins
  • TDD with xUnit libraries, Selenium testing, code coverage analysis, and automated coding standards enforcement.

Technical Director, Challenger Technologies Ltd

  • Oct 2011 - Nov 2014

Hands-on technical lead and full-stack developer. Brought core development in-house and introduced agile processes. Added core practices: source control, unit testing, dependency management along with QA & release management processes. Restructured the existing web application to use an MVC framework, a REST-like API interface with OAuth2 and Swagger documentation. Integrated with the Facebook Graph, Twitter REST and Twitter Streaming APIs. Built multi-platform mobile apps with PhoneGap. Lead the deployment of high-density Wi-Fi in football stadiums and sports venues delivering instant replay video-on-demand and fan-services.

RA & Teaching Fellow, Durham University

  • 2005-2011

As co-investigator and Research Associate for the £1.25M SynergyNet project, designed and developed the hardware and software for collaborative multi-touch tabletops (covered by BBC, Reuters). Had three roles in the project: Technical lead and senior developer: responsible for the full software development life-cycle; Technical Project Manager: team of RAs and research students; Supervisor: PhD and MSc students in Software Engineering, HCI and Technology Enhanced Learning. Also, as an RA and Teaching Fellow within the TEL group, delivered a wide variety of projects.

Technical Director, Director of Research and Development and co-founder, BlueSpace (UK) Ltd

  • 2001-2005

BlueSpace produced enterprise messaging products for security and compliance in the financial, defence and pharmaceutical industries. Involved in every aspect of the business: developed the core product, attracted investment, developed and filed for intellectual property (US and EU patents), grew the technical team, developed product, supported sales and professional services.

Higher Education

  • 1993-2003: Ph.D, Dept. Computer Science, University of Durham
  • 1996-1999: B.Sc. (Hons) Software Engineering (2:1), University of Durham
  • 2007-2008: Postgraduate Certificate Higher Education, University of Durham
  • Fellow of the Higher Education Academy, FHEA

Education

  • 1994-1996: A-Level Computing (A), Mathematics (B), Physics (A), General Studies (A), Blackburn College, Blackburn
  • 1994-1995: AS-Level Electornics (A) Blackburn College, Blackburn
  • 1989-1994: GCSE A* (2), A (6), B (1), C (1) St. Wilfrids, Blackburn

Publications & Research

  • Author of 5 journal papers and 12 conference papers.
  • Successfully co-supervised 4 Ph.D and 2 M.Sc. students.
  • Patent Inventor: Enforcing compliance policies in a messaging system (US 8073911 B2, granted).

About

Andrew Hatch's resumé

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published