About


Hi, I'm Ian and I love Scala! I will be looking for the next Scala contract in September 2018.

I introduced Scala to Net-A-Porter in 2011 whilst working in the labs team. Over the following five years I drove Net-A-Porter's investment in Scala, 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 across 7+ teams.

Today, at lemonlabs.io, I enjoy taking this experience to help other companies with their Scala projects through contracting and training

Work


  • Senior Java Developer, Barclaycard

    October 2018 - Present

    Senior Java Developer building new features for Barclaycard Payment Solutions

    Highlights
    • Implementing new features for Barclaycard's Smartpay payment gateway
    • Java, Oracle 11g, Git
  • Director, Lemon Labs

    February 2017 - Present

    Helping companies with their Scala and Java projects by contracting, running training sessions and proving opensource software

  • 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
  • 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


  • Coursera

    September 2013 - November 2013

    Functional Programming Principles in Scala (100%, Distinction)

  • Coursera

    November 2013 - January 2014

    Principles of Reactive Programming (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