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.
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.
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
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.
Tutoring for this course involved helping 2nd year students with writing mathematical proofs in computer science, graph theory, logic and arithmetic.
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.
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.
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.