Download PDF


My main interest is coding. When not at work I like to be honing my skills and trying out different languages and environments to those I use at work. My main language of choice outside of work is Ruby, with or without Rails, although I also code in JavaScript, PHP, HTML and CSS.

I have recently begun developing using TDD/BDD and am also learning more about Agile development practices.

I'm actively involved in the local tech community and help organise the local monthly TechMeetup, where I recently gave a talk on BDD.

I try to pass on the knowledge I've gained when possible. I recently helped a friend's daughter develop a standards-compliant website using XHTML and CSS for her Duke of Edinburgh award. This summer I have been assisting four teams of MSc students at Aberdeen University with out-of-hours Rails support on their projects.


I am a software developer who is mainly motivated by a love of programming. My main language of choice is Ruby although I enjoy coding in a range of other languages and environments. I am actively involved in the local tech community and am an organiser for the Aberdeen monthly TechMeetup.

I am passionate about creating software that matters.


Version Control
I use SVN and Mercurial at work and Git at home for version control. I've been using SVN for almost four years both as an individual and as part of a team; I've been responsible for migrating some of our SVN repos to Mercurial over the past couple of months, so am familiar with the basic porcelain tasks. I've been using Git for around two years.
I have been using JavaScript, albeit at a basic level, for the last couple of years. I have recently started learning jQuery and delving deeper into JavaScript in order to improve in this area.
I have been using HTML since the late-90's and CSS for almost as long. I create (X)HTML according to web standards and separate out my code according to content (HTML), style (CSS) and functionality (JavaScript). Recently I've been learning HAML and SASS.
I have many years of experience of creating, using and maintaining Relational Databases such as Oracle and MySQL. This ranges from simple querying to writing PL-SQL stored procedures and creating databases from scratch.
The majority of Aker's in-house software in the UK is written in Delphi. Over the past four years I have learned Delphi through supporting existing software and adding new features as required.
Ruby on Rails
My Ruby on Rails experience is mainly through hobby programming, although I have recently been working on a commercial Rails application in my spare time.   My Honours year project was written entirely in Ruby and went on to win the school prize for best Honours project. It was also a finalist project in Young Software Engineer of the Year 2009. The application I developed was a project scheduling tool that used a genetic algorithm in order to predict a good schedule from a given set of tasks and constraints.  
Java was the main language that I learned in University and is one of the two main languages (along with Delphi) that I currently use at work. Most recently I've built a suite of services that allow the in-house Aker systems to interact with the corporate planning software, Primavera P6.

Work experience

Jul 2005Present

Software Developer

Aker Solutions

In 2005 I was given the chance to return to University to complete my Computing degree. At this time I moved from Planning back into the Business Systems group.

My role now involves maintenance programming on several Delphi systems and development and testing on new Delphi and Java projects. I am currently the main developer on a project that involves developing a suite of Java services that act as an interface between Primavera P6 (the Aker corporate planning tool) and the in-house project management/document control system.

Nov 2001Dec 2005

Project Planner

Aker Solutions

Through an exercise that involved providing direct software support for the Planning department, I was offered a position as a Project Planner. This post required me to gather information from the project lead engineers and compile schedules for any projects that I worked on. The schedule was used as a means to control the project and as a method of communication with the client. I have worked on several engineering projects, shutdowns and MMO (Modifications, Maintenance and Operations) style contracts. My role as a Planning Engineer entailed liaising with the project design team, management team and the client. During this time I gained a good understanding of offshore construction and onshore design activities. I also gained experience in project management tasks such as project controls, schedule reviews, resource management, budget control and risk analysis.

Jan 1999Oct 2001

Business Systems Support

Aker Solutions

I then worked as member of a small software team on the set-up, administration, maintenance, personnel training and support for an in-house document control and project management system (written in Delphi, supported by an Oracle database), both in the UK and abroad. I was also involved with the design, development and testing of the Intranet-based version of the software and various other project websites and Intranet sites. This role provided me with a good working knowledge of HTML, CSS and Oracle database systems. I also benefited from the experience of working abroad in countries such as Norway and Canada.

Nov 1997Dec 1998

IT Support Engineer

Aker Solutions

I started with Aker in IT Support for projects in Aberdeen, Newcastle and Port Glasgow. I was responsible for providing desktop, hardware and comms support and user training on in-house software.


Oct 2005May 2009

BSc Hons

Robert Gordon University

I recently completed a BSc(Hons) in Computer Science, achieving a 1st Class Honours and prizes for Best In Year and Best Honours Project. I was also a finalist in the 2009 Young Software Engineer of the Year awards.

Oct 1988May 1993

The Nicolson Institute

5 SCE Standard Grades, 2 SCE O Grades6 SCE Higher Grades (Computing B, English B, Maths C, Chemistry C, Physics C, Latin C).


Steven Baker

Steven has been acting as a mentor to me for the last year or so. He has answered my coding questions, given me tips on how to improve and pointed me in the right direction for reading material and further study.

Bruce Sharlau

Bruce and I (with others) founded and now organise the local TechMeetup in Aberdeen.

Recently I've been supporting Bruce's MSc students with out-of-hours support on their Rails projects.

Graeme Mathieson

I have been doing some commercial Rails work for Graeme's company Rubaidh in order to gain some experience of developing real world Rails apps.