Andrew Lawson

Polyglot software engineer

I’m an experienced developer and CTO at On Track Retail in London.

My programming experience ranges from programming in Scala, NodeJS, PHP and Go, occasionally Python and Java, and I'm always learning more. I’m quick at picking up programming languages and paradigms owing to frequently shifting between functional and object oriented projects in different languages. I am also somewhat experienced in dev-ops; creating build tools, deploying Docker containers, writing Ansible roles, configuring AWS and integrating CI.

I spend a good amount of my free time working on side projects and open source libraries, partly for self learning and progression but mainly because I enjoy solving hard problems. You can find links to my public projects and online profiles at adlawson.com.

Work Experience

  1. On Track Retail

    CTO

    Present

    Technologies include Scala (w/ Akka, Cats), RabbitMQ, MySQL, Docker, Hashicorp suite (Consul, Vault), Ansible, AWS. Continuing again from my previous role in this company as the Head of Engineering, my role as CTO allows me to focus more on planning current projects and the future of the company's technology.

  2. On Track Retail

    Head of Engineering

    Technologies include Scala (w/ Akka, Cats), RabbitMQ, MySQL, Docker, Hashicorp suite (Consul, Vault), Ansible and AWS. Continuing from my previous role in this company as a Senior Developer, my role as the Head of Engineering involved organising our engineering and QA teams, shaping and simplifying our working processes, and meeting with technical clients and suppliers.

  3. On Track Retail

    Senior Developer

    Technologies included Scala (w/ Akka, Cats), RabbitMQ, MySQL, Ansible, AWS and Android. I also lead a team; running agile sprint planning, daily stand-up meetings, and conducting interviews. This project involved building a complex product within several very tight deadlines to delivery a new train ticket retail system. It was built for some of the country’s largest train operators including Southern, Southeastern, Thameslink and Gatwick Express. The system was structured as a network of tens of microservices.

    As well as the complex server-side systems I worked on, I also developed barcode and magnetic stripe encoders and a bluetooth printer driver for Android.

  4. Graze

    R&D Developer

    Technologies included PHP, NodeJS, Python, MySQL, Puppet and AWS. I think the product dispatch service is one of the projects I’m most proud of so far in my career. It has vastly improved the flexibility and the speed at which a large business can adjust to market demands and I hope the project continues to serve them well in the years to come. My role in Research and Development at Graze involved many different projects covering a large range of skills and technologies. I spent the first few months building and refining build tools, BDD tests, a database migration system and continuous integration. As a big advocate of open software, I helped the tech team contribute back to projects we used and open new projects up to the open community.

    A large part of my the work was to redevelop the core product dispatch system to help the software scale with the business. This system was the first to be separated from the core service into its own microservice. After many months of group and A/B testing, the new system was gradually released to the rest of the customer base. As of December 2014, its picking algorithms were used to create orders for tens of millions of customers.

  5. 300Notes

    Developer

    Technologies included NodeJS, MongoDB, Redis and AWS. As a part-time project I was initially reluctant to list it as work experience, but the range of skills and knowledge I have aquired deem it suitable. The original server needed redevelopment to progress the project, so I was given free reign over the development. I rebuilt the server in NodeJS for the RESTful web service, the web socket server, and the authentication server. I was also responsible for most aspects of the server infrastructure like the databases, caching, and load balancing.

  6. BraveNewTalent

    Developer

    Technologies included PHP, MySQL, JavaScript, HTML and CSS Taken on as a mid-level backend developer, my role had grown from being “The PHP Guy” to being a key member of the architecture team of the new, upcoming platform. Since working there, I had grown as a developer and an engineer; working in JavaScript and CoffeeScript alongside PHP on the backend.

  7. Fully Charged

    Developer/Director

    Technologies included PHP, MySQL, JavaScript, HTML and CSS, Photoshop and Illustrator Freelance work under my own company, specialising in application development and system setup. Running my own company, I was a client facing developer advocating the need for tested, stable applications.

    I learned a huge amount while working for myself, specifically in unit testing and separation of logic (besides all the administration work that comes with running a business).

Formal Education

  1. Northumbria University

    Architectural Technology. More information available upon request.

  2. King Edward VI, Morpeth

    A Levels in Maths, Physics and Product Design

Last updated . Best viewed at adlawson.com/cv. Also available in PDF.