Experience:
Throught Machine: Tech Lead Manager, Developer Experience
Responsible for the systems which get code from a developers machine to delivered ready for installation. We have an engineering department of over 300 developers contributing to a monorepo practicing continuous integration. We mainly develop in golang and deploy our microservice systems in kubernetes. Some of the main systems my team manage are:
- Woodhouse: an in house distributed scalable CI/CD system written in golang deployed with kubernetes which paralelises the tasks of building and testing our repo and vault our microservice product.
- Mettle: an in house distributed build system which implements the remote execution api remotely running builds and tests on a fleet of hundreds of workers. We run over 3 million tests a day on mettle as part of our CI process.
- Phabricator: The application we use for code reviews. We recently migrated our clustered self hosted instance to kubernetes automating the management of the component nodes with a tool we call Phacsimile.
- Cromwell: An in house system for automating the process of promoting versions of our product Vault through our environments to production.
- Aftermath: An in house test reporting system which processes and analyses the 3 million tests we run daily providing reports and automating tasks like highlighting flaky tests.
Glemore Gas: Technical Manager
- Petra: Identified opportunities for oil field development using production and geological data, Developed modules within geological analysis systems to streamline work flows.
- Sharepoint online: Implemented sharepoint platform for business
Ebico Oxford: Commercial Projects Manager
- Energy-supply business: Project manager for the development plan to set up a new, branded business model.
- Commercial: Developed key business-to-business relationships with external partnerships and suppliers and negotiated contracts and services.
- Cloud services transition: Project managed the companies transition to a cloud computing system
E2V Technologies Plc: Continuous Improvement Champion and Analyst
- Manufacturing Capacity: developed SAP software to analyse and reduce capacity constraint on S&OP process.
- Magnetron business: Developed forecasting tools to predict requirements of a key customer and assisted in the development of a more protable contract.
- Global sales: Ran the weekly global sales forecasting system and presented it to the Executive Committee, analysing changes to the forecasts and highlighting key opportunities.
Havelock Europa Plc: Associate, Operations
- Time log: Automated the time log booking on contracts within CIMPAC system eliminating manual task
- On-time Delivery & QA: Managed a team of 14 to analyse failures, implementing preventative process.
Education:
Columbia University: Masters of Science in Computer Science
I graduated from my masters in computers science at Columbia. I was particularly interested in machine learning including deep learning but also gained a passion for systems development which guided my choice to become a software engineer rather than data scientist. I studied computational neuroscience to get a better understanding of the algorithms in the brain.
University of Cambridge: MA, Mathematics
I graduated from Cambridge University in 2009 having studied Mathematics with a particular focus on statistics. Between then and my masters I worked for seven years in a wide variety of technical and business roles in industries from manufacturing, electronics to energy supply.
Classes:
Projects:
- Linux development: Implemented a weighted round robin scheduler with load balancing, a filesystem to track gps and created system calls to inspect the process graph, wake processes on motions and expose virtual-physical memory maps.
- Artistic style transfer Implemented a neural network to transfer artistic style in theano.
- Passenger screening: Detected items of contraband/weapons from 3d scans of passengers with 99% accuracy using deep residual neural networks.
- Web server: Built a web server from scratch in C hosting a database including creating linked list data-structures, database reading and writing, network communications and front end html.
- Fake news challenge: Used various machine learning algorithms including random forest, SVM, KNN and LSTMs to predict whether a headline and news article body: agree, disagree, are neutral or unrelated.
- Music styles: Inspired by word2vec, learned embeddings for chords to classify style based on chord progressions.
- Larvae neural-muscular simulation: Simulated the motion of a larvae by modeling the interaction between neurons and muscular mechanics.
Technical Skills
- Languages: Golang, Python, C, C++, SQL
- Technologies: Kubernetes, Containers, GCP, AWS, Linux, Tensorflow, Theano, Hadoop, Spark
Other things
I dance salsa, bachata, kizomba and brazilian zouk. I have recently started climbing or more acurately falling from about 4m. I am an artist particularly figure drawing and painting and very occasionally dust off my saxophone and clarinet.