About


Hi, I'm Ian and I love Scala!

I am currently looking for a scala contracting position.

I have worked with Scala for thirteen years and am author of opensource scala projects, have been a speaker at scala conferences and have provided both scala and git training workshops at previous workplaces

Work


  • Senior Scala Developer, Disney Streaming Services

    March 2021 - June 2023

    Senior Scala Developer working on Disney+

    Highlights
    • Scala, cats, AWS, DynamoDB, Git, Docker, gatling
    • Designing and implementing performant, high throughput, RESTful APIs for Disney+
    • Functional programming style using cats with tagless final encoding
    • Designed and deployed production AWS infrastructure
  • Senior Scala Developer, Sky UK Limited

    October 2020 - March 2021

    Senior Scala Developer working on NOWTV

    Highlights
    • Scala, Play, Kubenetes, Docker, Git, gatling
    • Identified and implemented various performance and fault tolerance improvements to a high throughput recomendations API
    • Played an active role in shaping design decisions
    • Created new production AWS infrastructure and took new services to prodution
  • Senior Scala Developer, Disney Streaming Services

    November 2019 - June 2020

    Senior Scala Developer working on Disney+

    Highlights
    • Scala, cats, AWS, DynamoDB, Git, Docker, gatling
    • Designing and implementing performant, high throughput, RESTful APIs for Disney+
    • Functional programming style using cats with tagless final encoding
    • Designed and deployed production AWS infrastructure
  • Senior Software Engineer, Barclaycard

    October 2018 - April 2019

    Senior Java Developer building new features for Barclaycard Payment Solutions

    Highlights
    • Implementing new features for Barclaycard's Smartpay payment gateway
    • Java, Oracle 12c, Git
    • Became a certfied SAFe practioner
  • Senior Java Developer, Barclaycard

    October 2017 - May 2018

    Senior Java Developer building new features for Barclaycard Payment Solutions

    Highlights
    • Integrated Vocalink's Pay By Bank App into Barclaycard's ecommerce Smartpay payment gateway
    • Built support for Oracle Simphony point-of-sale into Barclaycard's in-store Smartpay payment gateway
    • Java, Oracle 11g, Git
    • Provided a beginners Git workshop to aid in a SVN to Git migrarion
  • Senior Scala Developer, HMRC

    February 2017 - July 2017

    Senior Scala Developer in the Government Gateway team, supporting the sign-in pages

    Highlights
    • Added new user flows for Multi-Factor-Authentication
    • Migrated Agent registration to HMRC's current platform
    • Upgraded from Play 2.3 to 2.5 across ~10 microservices
    • Scala, Play, MongoDB, Gatling, Git
  • Principal Developer, Net-A-Porter

    November 2014 - January 2017

    One of four Principal Developers in a 300 strong IT team. Working in a agile environment, shaping the technical direction of the Product Team by building available, scalable and fault tolerant applications that expose product data to the customer

    Highlights
    • Scala, Akka, Spray, Gatling, Git
    • AWS EC2, Autoscaling, CloudFormation, CloudWatch, S3
    • Successfully served thousands of req/sec from the Net-A-Porter RESTful product API on sale days
    • Ran internal Scala workshops many times over the last two years for a total of 80+ people
  • Senior Developer, Net-A-Porter

    December 2013 - November 2014

    Member of the Product Team, building the Net-A-Porter product API

    Highlights
    • Scala, Akka, Spray, Solr
    • Committer to the popular spray/akka-http library, contributing redirection support
    • Active member of the Net-A-Porter techblog
  • Java Developer, Net-A-Porter

    May 2010 - December 2013

    Member of the Labs Team working on both long term project, as well as building prototypes and proof of concepts using a variety of different languages and technologies

    Highlights
    • Scala, Akka, Spray, MySql, Lift, Java, Spring
    • Introduced Scala to the company
    • Instigated the company move to a microservice architecture
  • Junior Java Developer, Net-A-Porter

    December 2008 - May 2010

    Worked on the release of theOutnet.com

  • Junior Java Developer, Avenca

    June 2006 - July 2008

    Software analysis of black box recorder data for trains and ships

Events


  • London Scala Users' Group - Speaker

    March 2015

    Presented lessons learned whilst building the Net-A-Poter RESTful Product API in Scala and Spray

  • Scala eXchange Conference - Speaker

    December 2013

    Presented our use of the Actor Per Request model for the Wish List API at Net-A-Porter

  • Edit Amplify: Youth Tech - Group Leader

    June 2013

    A day of running a workshop for groups of 13-14 year old students, with the aim of getting them excited about working in technology!

  • Google IO - Demonstrator

    May 2011

    Demoed the Net-A-Porter GoogleTV App in a booth decked out to look like a living room

Open Source


Education


  • edX

    February 2019 - March 2019

    Programming Reactive Systems (100%) View Certificate

  • Scaled Agile

    February 2019 - March 2019

    Certified SAFe 4 Practitioner (84%) View Certificate

  • Coursera

    November 2013 - January 2014

    Principles of Reactive Programming (100%, Distinction)

  • Coursera

    September 2013 - November 2013

    Functional Programming Principles in Scala (100%, Distinction)

  • Typesafe

    March 2013 - March 2013

    Scaling up with Akka and Scala

  • Solent University

    September 2003 - June 2006

    Software Engineering (First Class Honours)

Interests


  • Board Gaming

    • Established gaming groups at Barclaycard, HMRC and Net-A-Porter
  • Internet of Things