I am a software developer specialising in Learning Technology and Educational Interoperability specifications, in particular IMS QTI 2. My background is in Engineering and Life Sciences, and I have degrees in Aeronautical Engineering, Bioengineering and Natural Sciences, however I have been working as a educational software programmer for almost 30 years. The majority of my development work is currently done in PHP and JavaScript, however I also do some programming in C#, C++, Python or Java when one of these languages is most appropriate.

Would you like to employ me?

Although I'm currently working full time, after 11 years in the same job I feel it's time for a change, and I'd be interested in hearing about interesting opportunities. I'm happy to work either in Central Scotland or by teleworking for an employer elsewhere.

My ideal job

Some specific aspects that might be included in my ideal job are:


  • Working with teaching staff to research, develop, evaluate and refine new Learning Technologies.
  • Developing and teaching an educational technology and multimedia module, either as CPD for university lecturers or as a component for a Masters in Information Technology.
  • Advising senior staff on policy in relation to e-learning, and providing the necessary expertise to guide properly informed decisions on the future directions of educational IT policy at faculty and University level, and participating in relevant committees as appropriate.
  • Participating in IMS Global working groups, evolving the next generation of interoperability standards for educational software. This might also include prototyping new ideas, e.g.

Specific projects

  • Developing authoring tools for structured interactive content, making use of a simple markdown-based language to ensure that the content can be quickly optimised for different delivery platforms.
  • Finishing the development of my tools to improve the efficiency of the production of engaging online teaching videos.
  • Researching and developing ways to make assessment more scalable and reliable using Adaptive Comparative Judgement (ACJ).
  • Exploring the use of WebAssembly and WebGL to provide advanced simulations for teaching, and rich interactive courseware within the web browser, ant potentially developing a scripting language that compiles to WebAssembly compatible C++ to make it accessible to a wider range of developers.
  • A prototype distributed VLE, based on IMS LTI (with extensions as needed), which would demonstrate the feasibility of an evolutionary approach to moving from the current monolithic VLEs such as Moodle, to a more flexible modular NGLMS system. One of the key issues in this evolutionary step is ensuring that the essential but unexciting features, such as backup, replicating courses etc. function.