About


Hi, I'm Ian and I love Scala!

I am current working with Disney Streaming Services, whilst maintaining an opensource project in my spare time. Prior to that I introduced Scala to Net-A-Porter in 2011 and drove the company's investment in Scala over the following five years by providing beginner Scala workshops for near 100 employees, opensourcing as much as possible, speaking about Net-A-Porter's use of Scala at LSUG and Scala eXchange. By 2015 Net-A-Porter had 15+ Scala applications in production

Work


  • Senior Scala Developer, Disney Streaming Services

    November 2019 - Present

    Senior Scala Developer working on Disney+

    Highlights
    • AWS, Scala, cats, Git
  • Asscociate, Equal Experts

    February 2017 - Present

    Associate consultant in the Equal Experts network

  • Director, Lemon Labs

    February 2017 - Present

    Helping companies with their Scala and Java projects

    Highlights
  • Senior Java Developer, 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
    • Project work including an iPad magazine, a GoogleTV shopping app, visual similarity product indexer and new Wish List stack
    • 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