The key projects I have worked on over the past few years are detailed below.
Development of an SMPP server as a replacement to a commercial product. Responsible for architecting a solution, building a team, specifying requirements and making decisions on choice of technology. Built with open source tools where possible and also contributed back to the community with open source releases of some comcomponents.
Development of a high traffic sms aggregation platform. Interesting project bringing a 'traditional' industry like telecommunications and using modern technologies such as Golang, Docker, NodeJS, Kubernetes, Redis, AWS, platform monitoring and fault tolerant deployments. I am responsible for many of the architectural decisions, implementing a number of core features and in charge of building a successful engineering team. Initially as a senior developer, then promoted to Chief Technology Officer (CTO).
Wrote a content management system which has been widely deployed to a number of websites.
Developed an extranet for a fish vaccination company based in Scotland and Norway (Lofoten). They are responsible for vaccinating millions of fish in both countries. The datastructure and business logic was fairly complex. - http://www.aqualifeservices.com/
Document management and collaboration system utilising the DITA XML standard for technical writers. Generally not the most exciting project but document revisioning proved to be a complicated and challenging topic.
Development of an internal video publishing platform, utilising Amazon web services. (CMS integrated with the open source video platform Panda. https://www.pandastream.com/)
Developed a Project Management tool for Tyco Fire Suppression and Building products. An example of a project where TDD and good communication of requirements resulted in a stable production application developed in a very short timeframe.
Developed a fund management (investment portfolio) tool which was customised for bespoke applications for Prudential, Norwich Union and Scottish Widows banking institutions. This utilised java struts and a number of other tools.
http://www.nopesport.com - a community site for orienteering. This has grown from a little bit of fun to a very popular high traffic portal website. We have a thriving forum and a group of reporters which work with to cover the goings on.
With a permanent move to Norway I have been concentrating on getting business with Norwegian clients. I have been working with a clients in Trondheim, London and the Philippines.
(October 2009 - October 2011) Self Employed contractor, Simply Excited UK
Worked on a number of projects for a number of clients. Mainly web projects, such as online shops, mobile tools, sms platform development and ruby on rails mentoring work.
(January 2007 - October 2009) Lead Developer - Iformis Ltd
I worked on a number of diverse projects and lead a team of 4 developers. The job was also client facing and I attended meetings to communicate complex ideas in a simple manner.
(December 2003 - December 2006) Web Programmer - Mercurytide Ltd
Began as a junior developer and progressed into a System Architect role. This is where I learnt the basics of software development from being a fresh faced graduate with an open mind.
(October 2002 - May 2003) Computing Lab Demonstrator - Edinburgh University
This position involved tutoring first year students with their programming assignments. I would talk to students about their programming problems and help them to solve them. I tried to make the students work for the solution rather than just telling them the line of code which would solve their particular problem.
(June 2002 - October 2002) Software Engineer - IBM
I gained a few industry contacts from this which lead to an exciting final year project at university with an opening to do a PhD at the end of it. I decided to give this a miss and move into Industry rather than staying in academia.
(November 2001 - June 2003) Computer Assistant - Edinburgh University
This involved the manning of a microlab and was a 'classic' IT role. I would deal with people and their technology problems and questions. I also maintained a small library and video hire service. Sometimes the job was very quiet so this allowed me to program university coursework.
(May 1999 - October 1999) Assistant Computing Manager, Highland '99 - Scottish Orienteering Association
This job involved helping to coordinate the computing for a multiday orienteering event for 4000 competitors. I was in charge of developing and
maintaining the website. Another memorable part of the job was working with the event management software and developing it further
as it was in the early stages of development and we unearthed a number of bugs when scaling it to work with 4000 people.