Skip to content

Latest commit

 

History

History
191 lines (118 loc) · 10.9 KB

cv.md

File metadata and controls

191 lines (118 loc) · 10.9 KB

Curriculum Vitae - Mathew Attlee

hello@codeinabox.com github.com/codeinabox

Profile

Highly motivated and passionate senior full-stack developer. University educated with a major in computer science, I bring a structured approach to development, employing processes of best practice, object orientated design, test driven development, behaviour driven development and agile iterations. I am able to grasp new technologies and legacy systems quickly. I'm also interested in playing a pivotal role in the team culture in terms of pairing, candid retrospectives and an ongoing focus on psychological safety and team cohesion.

  • Versed in a diverse set of languages with strong experience using JavaScript, TypeScript, SQL, PHP and intermediate experience with Golang, Ruby, and Java
  • On the front-end strong experience of both vanilla JS and using React and Redux particularly making use of hooks and functional components
  • Advocate of domain driven design (DDD) in complex systems and using hexagonal architecture to separate domain logic from implementation concerns
  • Strong believer in a test driven (TDD) approach to development where the acceptance criteria is the main driver
  • Using pair programming, code reviews and architecture design records to enable knowledge sharing within the team
  • Ability to take on DevOps responsibilities using Docker, managing deployments with CircleCI and BitBucket pipelines and working with AWS, Google Cloud and Heroku managed infrastructure
  • Infrastructure as code using tools including Ansible, Terraform and Terragrunt
  • Building custom dashboards and monitoring in Google Cloud
  • Data modelling using relational databases and NoSQL schema-less databases
  • Document indexing and search using Apache Solr and Elasticsearch
  • Social media APIs including Instagram, Foursquare and Facebook's Graph API, FQL, and canvas

Recent Work History (contract)

Senior fullstack engineer @ Zoa

November 2022 - June 2023

Cultivated a schema driven approach to development and collaborated with the platform team to create a validation middle-ware, that enabled Zoa, a tech startup that span out of Bulb, to rapidly build a white label energy platform.

Stack: React, React Native, TypeScript, Zod, PostgreSQL, Docker, Kubernetes

Senior fullstack engineer @ Bulb

September 2022 - November 2022

Delivered smart insights features to help customers better understand their energy usage, as part of the smart insights team.

Stack: React, React Native, TypeScript, NextJS, Apollo GraphQL, PostgreSQL, Docker, Kubernetes

Senior fullstack engineer @ Kin + Carta for Cazoo

Nov 2020 - June 2022

Consulted with online car retailer Cazoo as part of a team focussed on customer payments, during which I helped them both technically and shaping the team culture with a focus on pairing and fostering psychological safety. Key achievements were enabling open banking for UK customers and adding more payment methods in Europe including Sofort and SEPA bank transfers.

Stack: TypeScript, Serverless, Step Functions, Event Bridge, Terraform, React

Senior fullstack engineer @ Equal Experts for Pret

July 2020 - October 2020

Rapidly developed a coffee subscription service for Pret as part of their digital transformation starting with a small trial in Manchester quickly followed by a nationwide launch. In addition to the service code I played a pivotal role creating custom dashboards and monitoring tools managed using Terraform for the launch.

Stack: Node, Fastify, Next, Chargebee, Braze, Terraform, Terragrunt, Google Cloud Run

Senior fullstack engineer @ Atellio

February 2020 - May 2020

Helped a start up mature their development process with unit testing and architecture decision records whilst adding real time capabilities to their platform using WebSockets.

Stack: Node, React, Redux, Socket.io, PostgreSQL, Knex, Objection

Senior frontend engineer @ Vuelio

April 2019 - November 2019

Helped the front end team deliver a React application and cultivate the following best practices: controlled atomic components, avoiding unnecessary use of component state, previewing components independently using Storybook, unit testing with Enzyme to verify component behaviour and drive the implementation, pairing with team members to share knowledge and eliminate blockers

Stack: TypeScript, React, Redux Saga, Ramda, Docker, Bitbucket Pipelines, Storybook

Senior fullstack engineer @ Accenture

January 2019 - March 2019

Developed a home renovations site that allowed users to explore product options and combinations.

Stack: TypeScript, React, Redux Saga, Reselect

Senior fullstack engineer @ Accenture

October 2018 - November 2018

Developed room planning tool with virtual tour functionality.

Stack: TypeScript, Angular, RxJS, A-Frame

Senior software engineer @ Financial Times

November 2017 - September 2018

Developed internal facing dashboard for the subscription sales team and mentored junior developers in the team with white boarding and pair programming sessions

Stack: JavaScript, TypeScript, Heroku, Lambda, Serverless

Senior software engineer @ Flypay

February 2017 - September 2017

Developed features and refactored the Flyt platform. The extreme programming practices of pairing and TDD were used to ensure the highest quality code was delivered and knowledge was shared amongst the team.

Stack: PHP, Golang, JavaScript / Node, Jest, Serverless, Lambda, Docker

Full stack engineer @ Data Language

November 2016 - February 2017 Built state driven user interfaces composed of reusable and mostly stateless functional UI components.

Stack: Node, ES6, React, ImmutableJS, Lodash, Webpack, Enzyme

Senior software engineer @ Adaptive Lab

May 2016 - October 2016

Developed new features for a RESTful API consumed by iOS and Android mobile apps. Refactored the legacy code towards a decoupled hexagonal architecture with a well tested domain, added API versioning and setup automated scripts for deployments and ensuring code quality.

Stack: PHP, Symfony, PHPSpec, Ansible, PostgreSQL

JavaScript developer @ YS Lab

March 2016

Assisted sound artists Yuri Suzuki and So Kanno deploy and configure an installation using a Node back-end and Spark / Particle IoT hardware.

Senior software engineer @ Sainsbury's

May 2015 - May 2016

Built RESTful micro-services consumed by the SmartShop app, written in PHP and Go with a domain driven approach to clearly define service boundaries and establish a ubiquitous domain language. Ansible was used to provision and deploy the services to AWS.

Stack: Nginx, Vagrant, Ansible, Go, PHP, Symfony, Doctrine, Behat

Node and Angular developer @ Quincus

April 2015

Helped out on this MEAN.JS based project, adding a feature flag system and new functionality to the Node server and the Angular client. Implemented a reproducible development environment using Vagrant, and deploy workflow using Ansible.

Stack: Nginx, Node, Express, MongoDB, Angular, Grunt, Vagrant, Ansible, Karma, Mocha, Supertest, Should

Symfony and JavaScript developer @ I Might Do

March 2015

Created bespoke website with a CMS built upon Symfony's Sonata bundles. The front end was written with performance in mind, all JavaScript was vanilla weighing in at only 1kb and only served to modern browsers using the "cut the mustard" technique.

Stack: Symfony, Sonata, Mustache, Zurb Foundation, Node, Heroku, Gulp

JavaScript developer @ Applied Works

September 2014 – December 2014

Created reusable components using AngularJS directives, unit tested with Jasmine and integration tested against a Node mock back-end.

Stack: AngularJS, Express, Node, Bootstrap, Jasmine, Grunt, Less

Symfony developer @ Made Tech

July 2014 – August 2014

Bespoke e-commerce site for sportswear brand, KJUS, built using Akeneo the open source PIM for Symfony. During the course of development we submitted several pull requests to the Akeneo community edition.

Stack: Akeneo, Oro, Twig, Doctrine, Symfony, Behat, PHPUnit, PHPSpec

Senior PHP and JavaScript developer @ BBC News

October 2013 – April 2014

Senior developer on the BBC News responsive team, responsible for pairing with junior developers, reviewing pull requests and developing new page components. Helped standardise the code base by adding for Mustache templating, upgraded to Pimple 2 and changed the logging to be PSR-3 compliant. Also involved in developing the news stream for the 2014 local elections.

Stack: BBC Forge PAL, Zend, Sinon, Grunt, Cucumber, PhantomJs, Phake, Pimple, Mustache, Sass, Ruby

Senior PHP developer and deployment engineer @ Space 66 Ltd, London

August 2013 – October 2013

Developed RESTful endpoint for a single page JavaScript game, implemented a Vagrant based reproducible development environment and managed provisioning and deployments using Ansible. Extensive load tests were conducted using Loader.io, and static assets were deployed over CDN using CloudFront.

Stack: Silex, Grunt, Varnish, Ansible, CloudFront, EC2, Vagrant

Senior PHP and JavaScript developer @ Picture Ltd, London

April 2013 – August 2013

Undertook the responsive rebuild of BBC Academy a BBC Forge project with an Atom data store. Also involved in the responsive makeover of the BBC events system which it it used for BBC Glastonbury 2013.

Stack: BBC Forge PAL, Zend, Pimple, Zepto, Hammer.js

Senior PHP and JavaScript developer @ Telappliant, London

December 2012 – February 2013

Developed bespoke application consisting of a REST server using the Zend framework 2, and JavaScript client using the MVC framework Agility.js, Flatiron Director for routing, Twitter Bootstrap components and styling, RequireJs and Jasmine for BDD and unit tests.

Stack: Zend 2, Agility.js, Flatiron Director, Bootstrap, Jasmine

Open source contributions and volunteering

Education

University of Sydney, Sydney, Australia

Bachelor of Arts & Science (1997 - 2003) Majors: Computer Science, Gender Studies, and Semiotic

School of Oriental and African Studies, University of London, United Kingdom

Beginners Japanese I (2009)

Japanese Language Proficiency Test (JLPT)

  • Level 5 proficiency (2009)
  • Level 4 proficiency (2012)