GithubHelp home page GithubHelp logo

curriculum-vitae's Introduction

Education

University of Huddersfield, UK

  • BSc Software Development & Multimedia (1st Class), 2008

Technologies

Languages

Bash, CSS, Clojure, ClojureScript, Elm, HTML, Haskell, Idris, Java, Javascript, Python, Ruby, SQL, Scheme

Other technology

AWS, Apache, Aurora, Docker, EC2, ECS, ELK, Git, Kafka, Kinesis, Leiningen, Linux, Maven, MongoDB, MySQL, Nginx, NixOS, PostgreSQL, RabbitMQ, React, Redis, Riemann, S3, SQLite

Talks

A Dynamic, Statically Typed Contradiction

Given at ClojureX, London, Dec 2017 and :clojured, Berlin, Feb 2018. The talk was about Algorithm-W, how static type-checking (of the Hindley-Milner family) works, with an implementation of a Hindley-Milner based type-checker for a growing subset of Clojure. The type-checker included features such as Haskell-like typeclasses and extensible records.

Speculative Development

Given at ClojureX, London, Dec 2016 and :clojured, Berlin, Feb 2017. The talk was on the topic of clojure.spec, a data specification DSL for Clojure, and what you can do with it if you're willing to bend the rules a bit.

Experience

Developer: GoMore [2017 - 2018]

GoMore is a peer-to-peer transportation startup based in Copenhagen. The product is a web and mobile app enabling customers to share car journeys, to share their car by renting it out, and to lease cars that can then be used on the rental platform.

My responsibilities are to lead infrastructure projects as part of the backend team, and building out Clojure APIs as part of the broader product team. The APIs need to handle many versions at once, as this enables the mobile product to move quickly with new or improved features, but existing mobile clients still need to be supported. We can only phase out deprecated versions when they are seeing little to no traffic, and many users cannot upgrade to new clients due to restrictions on the handsets.

Recent infrastructure highlights include a move of the whole product and infrastructure to containers from Elastic Beanstalk, and migrating the main database load to an Aurora cluster. We can now better distribute the load to read heads, and scale the database horizontally relatively quickly.

Developer: uSwitch Ltd. [2015 - 2017]

Platform

Looking after the core services running the energy business, including the central comparison engine powering the energy website, along with various data APIs, processing pipelines, and data delivery to different teams. Building out new APIs to support 3rd party integrations for comparison and metadata. Involved quite a bit of scaling and performance work to cope with 10+ times normal load spikes of traffic and similar rates of sign-ups and sales, due to TV promotion of energy switching.

Back office

Cross-functional team, involving commercial, operations, financial and software development. The role involved maintenance and development of uSwitch Energy's backend services responsible for the day-to-day operation of the energy business. Negotiating with 3rd parties and commercial around specification and implementation of data exchange. Services involved the integration, delivery and processing of data to and from 3rd parties, product tracking, financial reporting and analysis.

Technology

The majority of services were written in Clojure, with some Ruby and a bit of tooling in Go. Data was delivered to different teams via Kafka, Kinesis/Firehose, RabbitMQ, HTTP or FTP as required. The infrastructure was hosted on EC2, mostly using AWS's Elastic Container Service. Logging/monitoring with ELK, Cloudwatch (metrics/alarms) and Sensu (alerting).

Software Developer: Interel Group, Brussels [2008 - 2015]

Responsible for the design, development, and maintenance of all the group's software infrastructure, including the deployment and automation of key Linux-based services.

Applications ranged from internal financial administration and reporting tools, project management tools, internal infrastructure monitoring, and data exporting, to client-facing CMS building and customisation.

The services were deployed on in-house servers, bespoke applications and services were written mainly in Clojure, with some Java. Web apps were build using ClojureScript and React(OM) on the front-end.

Sales Assistant

Gamestation, Huddersfield [2005 - 2006]

Shift Manager

Allied Leisure, Huddersfield [2001 - 2004]

Insurance Assistant

Fartown Insurance, Huddersfield [2000 - 2001]

Computer Technician

Easy Computers, Huddersfield [1998 - 2000]

curriculum-vitae's People

Contributors

andrewmcveigh avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.