======================================= Curriculum Vitae - Adam Robert Thompson ======================================= Introduction ------------ I am a software engineer currently working for Forcepoint with previous experience working at Plymouth Marine Laboratory (PML) and Cisco. I am primarily familiar with unix-like systems (mainly Linux and Mac OSX) and, due to being blind, have extensive experience of using screen access technologies. I have experience working on, and designing, complex systems in the areas of both satellite data processing and cyber security. As part of this work I have gained experience and knowledge of multiple languages (primarily Python, C and C++) as well as networking and scalable systems. In addition I am experienced using agile development approaches to quickly meet both customer and business needs. Work Experience --------------- Forcepoint (Jul 2014 to present) --------------------------- Following my graduation from the University of Reading in 2014 I started working for Forcepoint (an industry leading cyber security company) and currently work as part of a team of engineers responsible for the Cloud Web product. This is a complex system primarily written in Python using Twisted (an async networking framework) and running on Linux (CentOS) servers. The role also involves working closely with Cloud Operations to both deploy software and analyse the behaviour of hundreds of production servers world-wide. This deployment and analysis must also be conducted with minimal customer impact. During my time at Forcepoint I have been involved in the successful delivery of several projects. One of these was upgrading the version of Twisted used by the service. This required both a good understanding of the existing code as well as effective collaboration with team members. This project aimed to both fix existing issues by updating the underlying framework and also increase the maintainability of the system by modernising the codebase. The project resulted in a multitude of improvements and is being deployed in production. In addition I am responsible for re-engineering the TLS man-in-the-middle component of the service which is written in C++. This involved the redesign, re-implementation and testing of various aspects of the component. This included the design and implementation of new mechanisms (and corresponding tests) to modernise and enhance the previous functionality. This project was driven by the need to improve customer experience by providing a more robust and feature complete man-in-the-middle solution. This is also in production use. I also delivered the proxy server side of a mechanism to distribute database files used by the analytics engines. This software is in production and being taken up by other teams in the business. In addition I designed and implemented a proof of concept to use a Postgres database for storing the policies applied to customer transactions. The goal of this project was to improve customer experience by providing more consistent per-transaction latencies. The proof of concept was successful, although it highlighted a number of architectural issues which I have subsequently fixed. I was also involved in various other projects including enhancing the product's authentication logic to support a new method of connectivity and enhancing the service's DLP (data leak prevention) functionality. These have all included both design and implementation work as well as designing and implementing suitable tests. Plymouth Marine Laboratory (PML) Jul 2011 to Sept 2012 -------------------------------- During my university placement year at PML I developed a range of software using C, Python, PHP and shell scripting. These included a system to allow custom processing of satellite data, an experimental piece of software to process LIDAR data from aircraft and software to composite satellite data. These systems were designed to work with PML's Sun Grid Engine based Linux computing grid. I also worked as part of the OC-CCI (Ocean-Colour Climate Change Initiative) which is a large international project to provide Ocean-Colour Time Series for use in climate studies. Specifically I worked on data processing software (written in C) to provide uncertainty data. A paper detailing this project has recently been published in the journal Sensors. Cisco Systems Ltd July 2010 to July 2011 --------------------------- In 2010 I completed a 10 week full-time summer internship with Cisco. During this I delivered a system to automate the configuration of devices used in the CPOC (customer proof of concept) labs. The system had a front-end written in PHP with a back-end written in TCL. I was then employed on a part-time contract to maintain and enhance this system. Education and Qualifications ---------------------------- University of Reading (Sept 2009 - Jul 2014): Applied Computer Science and Cybernetics MEng - 1st (hons)