About me
Hello! I'm Andrew Johnston, a web developer with over 5 years of experience. In recent years my focus has been mainly on frontend development using React, TypeScript and Sass, but I also have professional experience developing for the web with Node.js (using Express), and with PHP and MySQL (using Symfony).
I come from Orkney, an archipelago in the north of Scotland, where I lived until moving to Edinburgh in 2011. I have a BSc (Hons) Computer Science degree I got from the University of Edinburgh in 2015.
Experience

OVO Group
2019 - present
Software Engineer - Kaluza
April 2020 - presentI currently work on smart meter booking for Kaluza's retail energy platform which serves the majority of OVO Energy customers. I lead frontend development on web smart meter booking for customers and a smart booking management tool used by customer service agents.

Software Engineer - Spark Energy
September 2019 - March 2020I started off at OVO Group working for Spark Energy as part of the team which looked after digital customer self-service tools. I brought my React experience to enable a project to replace a legacy Angular account management app with a faster and more usable React app built on the same PHP backend.

Maglabs
2015 - 2019Software Developer
April 2017 - August 2019I worked on the initial version of MyBrandstream, a collaboration with sibling company Magnet Harlequin to provide a packaging design workflow UI to its clients. This was a brand new app built with React and a Symfony REST API to replace several legacy systems, and incorporated data integration with both an external proofing tool and a FileMaker Pro database. Amongst the things I built were performant list components with react-virtualized
capable of displaying large task lists efficiently, and an Elasticsearch database enabling full-text search for tasks and projects.
Support Developer
August 2015 - April 2017I was part of a team handling site reliability and performance for legacy LAMP-stack workflow and digital asset management apps. This primarily involved handling bug reports from customers escalated from front-line support by identifying the root cause and applying code fixes where necessary.