About

My name is Ian and I love Scala! I have 9 years development experience, including most recently 4 years working with Scala and Akka in AWS to provide highly available and scalable systems. I introduced Scala to Net-A-Porter and have since made several open source Scala contributions and spoken at Scala events. I am now looking for an exciting role where I can use Scala, AWS, Akka and/or other functional languages

Work Experience

Principal Developer, Net-A-Porter

November 2014 - Present

One of two Principal Developers in a 300 strong IT team. Working in a agile environment, shaping the technical direction of the Product Team by ensuring we build available, scalable and fault tolerant applications that expose product data to our customers

Highlights
  • Scala, Akka, Spray, Gatling
  • 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
  • Worked on many small projects, including the Net-A-Porter iPad magazine, a GoogleTV shopping app, visual similarity product indexer and new Wish List stack
  • Introduced Scala to the company, which has grown to 15+ production applications, across 7+ teams as of 2015
  • Drove the first project at Net-A-Porter to extract website functionality from a monolithic webapp into it's own end-to-end stack

Junior Java Developer, Net-A-Porter

December 2008 - May 2010

Adding features and bug fixing for the Net-A-Porter site. Worked on the release of theOutnet, the sister sites for Net-A-Porter

Junior Java Developer, Avenca

June 2006 - July 2008

Created applications to analyse data from black box recorders for high speed trains, oil tankers and cruise liners

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 Projects

scala-uri (121 stars, 24 forks)

Simple scala library for building and parsing URIs (link)

spray-actor-per-request (83 stars, 21 forks)

Example spray application that uses the actor per request model (link)

pre-canned (21 stars, 9 forks)

Mocking HTTP services on spray-can for integration testing (link)

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

  • Started the weekly gaming group at Net-A-Porter

Internet of Things