Curriculum Vitae

PDF version available here


Snowboarding, sailing, swimming, cycling, running, techie problem solver


  • Senior Developer – FlowForge Inc – May 2021 / current
    Working on all things Node-RED
  • Connectivity Lead  – Sirron Technologies – October 2020 / January 2021
    Defining connectivity for Electric Personal Mobility devices.
  • Lead Connectivity Research Engineer – Dyson – November 2017 / October 2020
    My responsibilities mainly include building prototypes of new connected and interactive products, working closely with the product design, HMI and cloud teams. Also working with Crank Software’s Storyboard to build prototype embedded UIs and moving them to production.
  • Emerging Technologies and Services – IBM – August 2010 / October 2017
    ETS sits between the IBM Research and Development teams. As part of this team I worked on first of a kind and proof of concept projects taking new technologies to clients.

    I worked on a wide range of projects in following areas:

    • Mobile Application Development – Both native and hybrid applications for Android and iOS devices. This included writing a secure tunnelling web browser to access intranet sites on the move without a general purpose VPN and a Evernote style application for keeping notes encrypted on the device and backed up inside the firewall.
    • Text Analytics – Extracting data from a view variety natural language documents.
    • Sensor Middlewear – Building systems to collect data from the edge of the network, transform it and deliver it to the core services.
    • WiFi Provisioning Consumer Devices – Building solutions to the problem of getting devices with no input options onto the home WiFi network. Mainly exploring using BLE rather than temporary Access Point mode.
    • Near Field Communications – Using NFC for both P2P communication and authenticating products.
    • Interior Geolocation – Locating objects and people where GPS can’t reach using WIFI and BLE.
    • Network Emulation – Building emulation environments for complex IP networks to allow realistic testing of applications without the need for large amounts of hardware and allowing for full range of variability in bandwidth/latency/connectivity

    As part of this role I also ran the teams demonstration lab, a place to bring clients and colleges to show case the types of work we do. This not only included running sessions with clients in the lab, but also working with other members of the team to convert pieces of work into usable demonstrations and ensuring they all ran well.

  • Senior Level 3 Support Engineer – IBM – May 2002 / August 2010
    I worked for the Java Level 3 support team, which brought me into contact with a nearly the full range of IBM’s software portfolio both from the internal development teams and their end users.


    This role also meant pulling together solutions to client issues from across the IBM support organisation and 3rd party software vendors teams while managing the clients expectations.

    As well as solving customer problems in a 24/7 environment, I developed a set of training material to help enable developers and operations staff to take advantage of the extensive RAS capabilities of the IBM JRE to debug and solve problems on their own. This material took the form of a 2 day education session with lots of hands on experience.

  • Test Engineer – IBM – Sept 2001 / May 2002
    I spent my first 9 months with IBM writing tests for the Garbage Collection component of the IBM JVM. This gave a good grounding in the internals of the JVM and the way Java applications drives the JVM heap usage.


  • Languages:
    • Java
    • C/C++
    • Javascript
    • Python
    • SQL
    • C#
    • LUA
    • Shell Script
  • Technologies:
    • Linux
    • Android
    • Networks
    • JEE
    • Databases
    • MQTT
    • BLE
    • Arduino


  • BEng. Mechanical Engineering – Lancaster University (1996-1999)
  • Msc. Computer Aided Engineering – Cranfield University (2000-2001)


5 thoughts on “Curriculum Vitae”

    1. Robert,

      Please spend a little time and learn how to raise a pull request on github, it’s not that hard.

      We can use the pull request to discuss the changes as I am really struggling to understand what a RGB LED In node would do.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.