Résumé

I'm a third year PhD student, Software Developer & Devops Engineer based in Glasgow, UK. My PhD research focuses on building better Machine Learning models to infer changes induced by disease or treatment at the level of genes, lipids or metabolites. I'm supervised by Dr. John McClure, Dr. Simon Rogers and Prof. Darren Monckton. On the software engineering side, my professional interests include continuous integration, software delivery pipelines, cloud integration and application containers. Within bioinformatics I'm interested in modeling evolutionary processes & data mining large omics datasets.

Employment History

Software Engineer — Intern

2016 — …
Skyscanner

In June 2016 I took a position of Software Engineer Intern in Skyscanner's Data Tribe, where I worked with large (hundreds of nodes) cloud deployments of elasticsearch and OpenTSDB.

My main responsibility included redesigning and rebuilding a deployment infrastructure of Skyscanner's Alerting System based on custom modifications of Bosun source code and an existing OpenTSDB deployment. I based my design on Skyscanner's Slingshot-Engine, AWS's Elastic Cloud Service and other open-source and proprietary technologies.

My solution significantly improved the reliability of Skyscanner's alerting, as measured by unplanned downtime.

Associate Software Developer

2014 — 2015
SAS Scotland R&D

During my year long internship at SAS I was a part of a large, international software development team working on SAS Visual Investigator, a new law enforcement software application targeted at police investigators.

My responsibilities included adding support for searching highly interlinked (graph) data into the backend of the application, after which I transitioned into the build & deployment team, where I worked on test infrastructure, version control management, writing build scripts and containerization of third-party open source applications, such as elasticsearch and nginx.

Deployment is a crucial, yet often overlooked, part of software development life cycle. The work I've done at SAS helped to turn the software developed in-house into a runnable product our external customers could install & use.

Teaching & Mentoring

Programming 1 (CS1P) – Tutor

2016 — 2017
University of Glasgow

CS1P is a 1st-year introductory programming course and a cornerstone of the Department of Computer Science's curriculum. I tutored 12 first year students in the Python programming language, and my teaching was widely enjoyed.

Algorithmic Foundations – Tutor

2016 — 2017
University of Glasgow

Tutoring for this course involved helping 2nd year students with writing mathematical proofs in computer science, graph theory, logic and arithmetic.

Java Object Oriented Software Engineering – Demonstrator

2015 — 2016
University of Glasgow

Demonstrating for this course involved troubleshooting student's problems with the syntax and semantics of Java programs, as well as sharing some basic principles of sound software design.

Advanced Higher – Teacher Helper

2015 — 2016
Cleveden Secondary School, Glasgow

Acting as a teacher helper for Mr William Jess involved designing and preparing my own programming material for 6th grade Computer Science students. The material covered the basics of programming & algorithmics up to and including sorting algorithms. I made the material available online.

Projects

I love to learn new things and become better at things I already know. My github account contains nearly a hundred repositories, written in 14 programming languages, with content ranging from exploratory & experimental to serious attempts at building well-designed software systems.

Biopython - I've contributed a parser for Affymetrix CEL files version 4 to biopython, which is a large, open-source bioinformatics platform. My contribution improved Biopython's capability to handle microarray data, which are abundant & of great importance in Bioinformatics.
2048 - Inspired by a viral game by Gabrielle Cirulli I designed & implemented a clone & a cloud-based platform for players to save their score and participate in local 2048 competitions. The game was used by a few hundred players at a local hackathon I organized as a member of GUTS. Although both the python version and the go version are now defunct, I plan to work on the go version as a side project in the future.