Skip to content
View robin-morton's full-sized avatar
  • Spendesk
  • London
  • 13:28 (UTC)

Block or report robin-morton

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
robin-morton/README.md

Robin Morton - Senior Software Development Engineer

Contact

+44 (0)7428156441

hello@robinmorton.dev

About

Experienced Senior Software Engineer with specialisms in backend engineering, automation engineering, and DevOps.

I have built tools and services which allow Prime Video to be continually released to hundreds of millions of customers, with confidence in product quality on a daily basis.

Currently working as an Acting Staff Engineer within the Banking Organisation at Spendesk delivering business critical features and organising technical work items for several teams to ensure the scalability of our technical stack during a period of rapid growth as we migrate customers to our new Core Banking System (CBS).

I have a keen interest in developer autonomy, end-to-end ownership, and developer experience. I help to guide technical decision making within both my organisation and across Spendesk in topics such as Security, Infrastructure, and Scalability.


Experience

Senior Software Engineer - Banking

Spendesk

July 2022 - Present

Key Projects

  • Acting Staff Engineer, working on business critical products to ensure the continued service to customers in both the UK and EEA. Designing complex, scalable, and reliable systems to be implemented by several teams with in Spendesk Financial Services. Proving a Technical Roadmap to ensure the healthy running of Spendesk's CBS as customers are migrated to our in-house solution.

    • Designed a business critical solution for migrating Spendesk's UK customers from a third-party provider to a hybrid solution managed by Spendesk Financial Service's and a new third-party partner.
      • Negotiated for great autonomy and ownership for the engineers working on the project to have greater freedoms to choose the right technology to deliver quickly, remove bottlenecks, and reduce the business risk from their current technical solution.
      • Designed high-level and low-level system architectures built on top of AWS Serverless offerings to allow my team of senior engineers to deliver a scalable and reliable solution quickly.
      • I was the technical representative on the Partner Selection Committee with responsibilities of rating and assessing each potential candidate partner so that the best partner was chosen from a technical standpoint to support the business's current and future goals.
    • Own and maintain a priortised technical backlog and road map for Spendesk Financial Services, ensuring that key technical topics where completed by all teams in the business. These topics ranged from Security topics to keep customer data safe, database upgrades, updating other End-of-Life infrastructure and also general improvements to improve engineer productivity.
  • Senior Engineer within the Banking Organisation which is responsible for building banking functionality for the Spendesk application. The ecosystem is comprised of numerous microservices built and deployed as Docker containers which use different AWS service's for Compute, Data Storage, Database etc. I work as part of a team of 8 - 10 engineers to implement various features of Spendesk's Core Banking System.

    • Provided technical guidance for implementing load testing for all services with Spendesk Financial Services, ensuring the core infrastructure would scale correctly as customers were migrated to our in-house platform. Drove discussions for capacity planning and ensured technical topics were priortised to ensure the platform would be able to handle the forecasted increase in load.
    • I designed and spearheaded the move from very manual and error-prone releases with non-deterministic outcomes to a use CI/CD processes using GitHub Actions and AWS CodePipeline. Allowing for consistent releases of the micro-services and increasing the release cadence from ~10 times per 6 months to multiple times per day
    • I implemented processes to ensure that the microservices included valid OpenAPI (swagger) Specifications which were then used to autogenerate HTTP clients consumed by the integration team. This reduced the manual effort required to expose API resources to zero and ultimately increased the delivery speed of our features to the wider company. It also allowed for Banking engineers to quickly onboard to new services by being able to consume these OpenAPI Specifications using applications like Postman or Insomnia to easily make requests to their services.

Senior Software Engineer

Amazon, Prime Video

July 2013 - June 2022

Key Projects

  • Lead engineer on the Edge Service team which handles all API requests from the Prime Video application. This service currently handles 27,000 transactions per second during peak time and many times this number during Prime Video-wide stress testing events.

    • I joined a greenfield team within Prime Video to create an vanilla AWS service from scratch to handle all API and data request from the Prime Video application
    • The service operates across three main regions but is designed and architected to be rolled out across all regions that AWS operates in.
    • I pushed for all infrastructure to be defined in code using AWS CDK; this includes all load balancers, EC2 instance types, other compute definitions, alarms, monitors, dashboards, etc. the main goal was to have easily auditable and maintainable infrastructure to allow for rapid regional expansion.
    • I have written multiple design documents for the Edge Service which cover an array of topics including; caching strategy to reduce traffic spikes at the end of live events, infrastructure experimentation to easily change the type of compute used under given circumstances to improve customer experience, reduce service latency, increase availability, and reduce overall operational costs
  • The Remote Executor (TREx) - Design, task breakdown, and implementation of set of libraries and services to allow for the remote execution of commands within any JavaScript application context.

    • I was the lead engineer on this multi-year project from idea inception, system design, task breakdown, overseeing implementation, and also ensuring adoption across a wide-range of Prime Video teams
    • TREx is used as the backbone command execution model for end-to-end, on-device testing for 15+ teams within Prime Video and IMDbTV; including frontend application teams, native rendering framework teams, video quality analysis teams, and also teams responsible for fuzzy and chaos testing of the Prime Video application.
    • TREx is actively used in software pipelines which are responsible for releasing to customers and is the primary enabler for Continuous Integration/ Continuos Deployment of the Prime Video application to hundreds of millions of customers.
    • As an example TREx handled nearly one million execution instructions in February 2022.
  • Ported and launched the Prime Video application to React from a previous proprietary technology stack.

    • Spearheaded development and laying the foundations for rolling out the Prime Video React application to thousands of devices types.

    • Designed and implemented the release strategy for the newly ported application, including implementation of the release pipeline allowing for zero-touch deployments. All infrastructure was written using the AWS CDK.

    • Led the design and implementation of the automation testing strategy using TREx to ensure that the application which was deployed to production was thoroughly tested. Initially these tests were executed on a low-powered Roku streaming stick.

    • Expanded the testing framework to allow for testing across roughly 15 set references devices before the Prime Video application was released to customers.

    • My implementation reduced the release cycle from roughly 14-days, which often resulted in rollbacks, to 11-times in one day. This was primarily done by removing all need for manual testing of devices by implementing automation through the quality assurance phase.

    • Device Access Bus (DAB) - Initial Specification Design with YouTube, Google, and Netflix. An open source protocol to allow engineers to remotely interact with and control living room devices, e.g. start and stop applications, send key press commands. More info at getdab.org.

    • Founding member of cross-company standards group whose sole purpose was to write a protocol to iron out many of the pain-points with on-device automation testing

    • I was part of a small collaboration team of 8 engineers from Amazon, Netflix, and YouTube to implement the protocol which was then demonstrated to a large TV manufacturer.

    • The above demonstration was then used to prove the concept and get adoption from other TV manufacturers to enable a higher-level of automation testing for 2021+ devices.


Programming Languages

  • TypeScript
  • JavaScript
  • Java
  • Kotlin
  • Go

Familiar Technologies and Concepts

  • Node.js
  • Git
  • NPM
  • IaaS
  • AWS
  • AWS CDK
  • AWS Serverless - Lambda, Step Functions, SQS
  • Bash
  • Automation Testing
  • Docker
  • GitHub Actions
  • OpenAPI
  • PostgreSQL
  • Domain Driven Design
  • Highly scalable services
  • REST API design
  • Microservice Architecture
  • Event Driven Architecture
  • Continuos Integration/ Continuos Delivery

Qualifications

AWS Certified Solutions Architect - Associate (SAA) AWS Certified Developer - Associate (DVA) AWS Certified Cloud Practitioner (CLF)

In progress

  • AWS Certified Solutions Architect - Professional
  • AWS Certified Database - Specialty

Education

University of Aberdeen

Bachelor of Science (BSc) Hons., Artificial Intelligence

2009 - 2013

Grade: 2.1


Hobbies and Interests

General Aviation; I am a qualified private pilot with ratings which allow me to fly at night and also in cloud. I enjoy cross-country trips and I'm looking forward to flying to France for breakfast / lunch in the Summer months with my family.

Cycling; I am a keen cyclist and enjoy both commuting by bike and also leisure rides. I am a member of a cycling club and take part in group rides. My greatest achievements in cycling are; completing the Ride London 100-mile route because of the distance, and completing Tour de Yorkshire because of the hills!

Cooking; I really enjoy cooking! I'm currently obsessed with Italian food and make my own pasta. I'm also trying to perfect making different pasta sauces which is proving more challenging than initially expected.

Gardening; I enjoy being in the garden during the nice weather. I also try to grow my own vegetables which ranges from tomatoes and wonky carrots to a massive overproduction of kale - the worms were happy with that one.

Popular repositories Loading

  1. robin-morton robin-morton Public

  2. 2d-paint 2d-paint Public

    A 2-dimentional graphics editor

    TypeScript