Polyglot software engineer
I’m an experienced developer and Head of Engineering at On Track Retail in London.
My programming experience ranges from programming in Scala, Go, NodeJS, PHP and occasionally Python, Java, Clojure and Erlang. I’m quick at picking up programming languages and paradigms owing to frequently shifting between Functional and OOP projects in many different languages. I am also somewhat experienced in dev-ops; creating build tools, writing Ansible roles, configuring AWS and setting up continuous integration.
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.
On Track Retail
Head of Engineering– Present
Technologies include Scala (w/ Akka, Cats), RabbitMQ, MySQL, Ansible, AWS and Android. A continuation from my previous role in this company as a Senior Developer. My role as the Head of Engineering involves organising our engineering and QA teams, shaping and simplifying our working processes, and meeting with technical clients and providers.
On Track Retail
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.
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.
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.
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).
Architectural Technology. More information available upon request.
King Edward VI, Morpeth–
A Levels in Maths, Physics and Product Design
Last updated . Best viewed at adlawson.com/cv. Also available in PDF.