About

Experienced senior software developer and technical lead working predominantly in web development with an educational background in artifical intelligence and music.

Experience

  • #

    Senior Software Developer

     —    2 years

    Responsible for developing backend APIs written in Ruby and applications running on IoT devices in Haskell.

    • Built and deployed a Haskell application to Raspberry Pis.
  • #

    Web Application Technical Lead

     —    2 years

    Responsible for developing customer-facing web application written in Ruby with Ruby on Rails, extending it with microservices written in Haskell and PureScript, deployments to Amazon AWS, code reviews and planning weekly sprints.

    • Provided path for Ruby web application to be extended with Haskell services with minimal disruption.
  • #

    Senior Web Application Developer

     —    2 years

    Responsible for developing a continuing professional development (CPD) web application in Ruby with Ruby on Rails and integrating it with Haskell services, and dealing with deployments to Heroku.

    • Delivered web application rewrite on schedule.
  • #

    Web Developer

     —    3 years

    Responsible for developing Ruby on Rails applications, integrating them with Clojure services, and dealing with deployments to Heroku and Amazon EC2.

Education

  • #

    Advanced Haskell

     —    a day

    Well Typed

  • #

    Intelligent SystemsMSc (merit)

     —    2 years

    University of Sussex

    • Adaptive Systems
    • Advanced Sound Synthesis
    • Generative Creativity
    • Intelligent Systems Techniques
    • Language Engineering
    • Machine Learning
    • Object-Oriented Programming
    • Real-World Cognition
    • Sound Synthesis
  • #

    Ruby on Rails Bootcamp

     —    2 days

    Manchester Digital Laboratories

  • #

    Applied MusicBA (2:1)

     —    4 years

    University of Strathclyde

Skills

  • #

    Languages

    • Elixir
    • Elm
    • Haskell
    • JavaScript
    • Ruby
    • Rust
  • #

    Frameworks

    • AngularJS
    • Distributed Process
    • Rails
    • Scotty
    • Spock
    • The Elm Architecture
  • #

    Operations

    • AWS
    • Ansible
    • Balena
    • Docker
    • Heroku
    • Jenkins
  • #

    Other

    • Git
    • HSpec
    • Linux
    • PostgreSQL
    • RSpec
    • Test Driven Development

Publications

  • #

    Published on: 

    Experience report describing how I tested a distributed-process application.

  • #

    Published on: 

    Tutorial describing how to use ruby-marshal.

  • #

    Published on: 

    Decrypt Ruby on Rails sessions in Haskell.

  • #

    Published on: 

    Conference talk about using the Gettext approach to internationalisation in Haskell.

  • #

    Published on: 

    Haskell library to parse a subset of Ruby objects serialised with Marshal.dump.

  • #

    Published on: 

    Ruby library providing principled Maybe functor, applicative and monad.

Interests

  • #

    Health and Fitness

  • #

    Music

  • #

    Skateboarding

Languages

  • #

    EnglishNative speaker

References

  • #

    Available on request.