Software engineering Intern (March 2018 - June 2018)
During the final year of my PhD I spend several months working with the Real Time Compute team at Twitter's head quarters in San Francisco. I worked on a project (Caladrius) to apply my PhD research to Twitter's Heron stream processing system. During this internship I learned a great deal about distributed systems design and implementation, stream processing, graph analysis and graph databases.
Software development Intern (March 2014 - July 2014)
During the summer term of my MSc I worked as a software development intern for Acritas. In this role I gained experience in building web applications using Python, Heroku and MongoDB, as well as the vital experience in interpreting user requirements and translating them into usable features.
Acoustic Consultant (October 2012 - September 2013)
I worked on educational and healthcare projects as part of larger design teams. I wrote software packages to perform statistical analysis on acoustic measurements.
Capita Symonds - Acoustics Division
Senior Acoustic Consultant (January 2010 - October 2012)
As a senior consultant I was responsible for managing key clients and coordinating the acoustic design on multi-million pound school and hospital projects. This required working within large design teams. I was also responsible for the Acoustic Division’s compliance with internal company, national and international standards.
Acoustic Consultant (October 2006 - January 2010)
I worked initially as an Acoustician, performing noise surveys and sound testing. I quickly moved onto educational acoustic design and became the lead consultant on 3D acoustic computer modelling.
(September 2015 - Present)
(September 2014 - June 2015)
(September 2013 - August 2014)
(September 2005 - September 2006)
(September 2002 - June 2005)
(September 1995 - June 2002)
Computer Science Experience
My Computer Science masters gave me a solid grounding in computer science theory, Java & Python development, as well as hardware programming (see RALF on the projects page).
My PgDip in cloud Computing for Big Data expanded my knowledge of distributed computing systems (such as Apache Cassandra), machine learning (including Weka and scikit-learn), big data analytics (using Apache Spark), statistical analysis methods and also involved training in entrepreneurship and other professional skills.
During my PhD I have developed in-depth knowledge of the Apache Storm stream processing system, which is written in Java and Clojure. I have extended Storm as part of my research and created metrics-gathering services and data analysis pipelines using InfluxDB and Python packages including numpy and pandas. I also have experience in graph analysis using networkx, Neo4j, Cypher and Apache Tinkerpop. I am an experienced Linux user (12+ years) and my research has expanded my Linux knowledge into deployment and debugging of distributed systems (using Ubuntu Linux and Azure).
My internship with Twitter was focused on applying my research to Storm’s successor, Apache Heron. Working with the Heron developers inside and outside Twitter I am creating a modelling service, Caladrius, which incorporates data gathering, graph analysis and statistical modelling to predict the performance of Heron topologies. This code is in the process of being open-sourced.