I'm Sam, a web developer based in east London.

The hyper-connected world we live in today means we have a unique opportunity to help thousands or even millions people just by writing and shipping code. I think that's special and I'm proud and grateful to be a part of it. I love the idea of delivering real world value to real people simply by deploying code onto devices and networks.

Experience

Technical

  • JavaScript (ES5, ES6), Node.js, transpiling etc
  • PHP7 (Laravel, Symfony)
  • Front-end frameworks: React (including Flux and full pre-rendering), Angular 1.X, Backbone, Vue
  • Front-end tooling: Grunt, Gulp, Webpack
  • Testing: Mocha, phpunit. Plus coverage and static analysis tools like Istanbul and Plato
  • CI Tools, CD and related processes - Travis, Codeship etc
  • Databases: Relational (MySQL, Postgres), Document Store (MongoDB), Memory Store (Memcached, some Redis)
  • Message queues (e.g. beanstalk) and background jobs
  • Cloud services (e.g. AWS services such as EC2, S3, ELB, Lambda) and CD
  • Virtualization and containerization (Vagrant, Docker)
  • Hybrid apps (cordova, ionic but no React Native yet)
  • System and architecture design, scalability
  • Web Accessibility
  • Caching (it's simple but hard!)
  • Naming things (even harder!)

Commercial

  • 2016 - 2017 Senior Full-Stack Developer (freelance) at Mentally Friendly
  • 2016 - 2016 Senior Front-End Developer (freelance) at Code & Theory
  • 2014 - 2016 Lead Developer at HAIRCVT
  • 2014 - 2014 Full-stack Developer at Ustwo
  • 2013 - 2014 Web Developer at UNIT9
  • 2011 - 2013 Front-end Developer at UNIT9

Academic

  • 2008 - 2012 BSc Web Application Development (University of Plymouth)

Past Work

Mentally Friendly X British Museum (October 2016 - March 2017)


Role: Senior Full-Stack Developer

I was fortunate enough to be a significant contributor to the new (2017) British Museum website. Our team delivered a large project that enables the museum to deliver a vast range of dynamic content to over 500,000 global visitors per month. We implemented a fully component-ized responsive website with a containerized (docker) backend that involved multiple levels of caching and used microservices-like patterns.

Key tech: NodeJS, Laravel, Vue, Webpack, CI, Mocha, Phpunit

Client: The British Museum

Code & Theory (August 2016 - October 2016)


Role: Senior Front-End Developer

Built a small React website for a client working in the Hollywood entertainment industry (currently under NDA). It's isomorphic i.e. completely pre-rendered and takes advantage of both React components and the Flux pattern. I met some interesting challenges of React (+ JSX) here, such as unsupported attributes, but also really enjoyed the benefits of the Flux pattern (mainly strong control over state) and the make-it-a-component thinking (it almost forces you to break things up early on).

Key tech: React, Flux, Sass, Node, Gulp

HAIRCVT (2014 - 2016)


Role: Lead Developer & Partner

An incredible experience - a real rollercoaster ride. I led a team of 2 from iterating prototypes, to MVP, to a product delivering record growth month-on-month. Our product was a Laravel/Symfony PHP monolith with a Angular 1.X front-end, with many more technologies and challenges hidden away - including message queues, cacheing mechanisms, a database migration, AWS deployment and a hybrid Ionic app.

You can see a staging version of the HAIRCVT website here.

For a deeper insight into how we built our product, I recommend checking out this excellent article from our designer Josh.

Key tech: PHP 7, Laravel, phpunit, Angular 1.X, ES6

Hello, My Name Means (2014)


Role: Tech Lead

I led this project's technical side from pitch and discovery phase right through to delivery in about 7 weeks (great job team!). The experience, aimed at parents-to-be, takes any name you give it and finds out interesting data from the web about it.

Key tech: Django, Celery, Backbone.js, GSAP/TweenMax, SoundJS

Client: Johnson & Johnson, DM9 DDB

Nexus 5 (2013)


Role: Tech Lead

I lead the technical side of Google's showcase site for the Nexus 5 phone that launched in 2013. A responsive, retina-compatible & parallax project with interactive 'moments', this site was visited by millions during the annoucement week. A challenging but rewarding project including integration with some internal Google systems.

Key tech: AngularJS, GSAP/TweenMax

Client: Google

Slavery Footprint (2011)


Role: Front-end Developer

Slavery Footprint is an interactive platform that estimates the amount of slavery likely to be taking place based on lifestyle choices of the user. Developed for a US non-profit. One of my first projects at UNIT9, I helped build the core backbone app with the tech lead.

Key tech: Backbone.js, RequireJS, Google Swiffy, Underscore

Client: Call & Response, MUH-TAY-ZIK HOF-FER

UNIT9.com (2012)


Role: Co-Lead Developer

In 2011/2012 UNIT9 underwent a minor rebranding process and part of this was getting a new website (which was a simple blog for the past 5 years). A colleague and I were given the project and managed development ourselves. We developed a highly sophisticated and feature-rich bespoke site on top of Wordpress - which was very challenging.

Key tech: Wordpress, PHP, JavaScript

Client: UNIT9

Find Your Way To Oz (2013)


Role: Front-end Developer

This project was an extremely impressive WebGL experience for Disney's 2013 Oz film. Studying at the time, I was drafted in to assist the final few weeks of development. I built an early version of the interactive music jukebox.

Key tech: Backbone.js, Grunt, WebGL, SoundJS

Client: Disney, Google

Eduvee (2012 - 2014)


Role: Front-end & Rails Developer

I worked with Eduvee at intervals over an 18 month period to help develop their Rails app as part of a redesign.

Key tech: Ruby on Rails, CSS

Client: Eduvee