Advantech

Staff System Engineer, Aug 2014 – Dec 2020

B&B Electronics started out as a catalogue manufacturer of industrial electronic hardware.
Initially, I was brought in as a consultant.
B&B had a successful commercial vehicle telematics product in the US, and they wanted to investigate the feasibility of launching it in Europe.
I used my technical and business experience with Krejuv Limited to conclude that the project was not commercially viable.

Later, B&B started to diversify into software, and it was re-branded as "B+B SmartWorx".
I was offered a position in the newly-formed software development team in Galway.
At first, my role was Python developer, but this soon evolved into ScrumMaster and eventually into a "System Engineering" role.
Working as part of a team of between 6 & 10 people, we launched several "SmartSwarm" IoT Gateways.

We also launched "SmartWorx Hub", a multi-tenant device management portal that was available both in the cloud and on-premises.

Advantech acquired B+B SmartWorx in late 2015.
Advantech was the global leader in Industrial PCs, but wanted a share of the higher value-add software market.
In particular, The "Internet of Things" was at the peak of the Emerging Technology Hype Cycle, and Advantech wanted to acquire expertise.
The SmartSwarm product line was mothballed, and SmartWorxHub was re-branded as "WebAccess/DMP".

We did a complete re-design of WebAccess/DMP as a modern web app. with a microservice architecture, and designed to scale.

Unfortunately, the entire software development team in Galway was made redundant in 2020.

Achievements ...
ResponsibilityAchievements
System Engineer
  • Designed the stack for device "monitoring" data: MQTT or SNMP > InfluxDB > Grafana.
  • Championed the use of a Digital Twins device model architecture.
  • Championed the use of a public API between frontend and backend.
  • Introduced the use of OpenAPI (Swagger) and AsyncAPI for API documentation.
  • Promoted the Lightweight M2M (LwM2M) standard, with adaptations.
  • Wrote a full-featured LwM2M MQTT client in Python. Supports Bootstrap, Client Registration, Device Management, and Information Reporting.
WebAccess/DMP developer
  • The public cloud platform grew to around 300 tenants and 70,000 devices.
  • Created a Public Key Infrastructure for all servers and clients (devices) in WebAccess/DMP (marketed as AssureAuth™).
  • Helped solve the problem of maintaining desired device state while simultaneously allowing local device management (marketed as AssureSync™);
  • Created Python scripts for automatic content deployment from manifest files.
Technical writer
Test team lead
  • Assembled a physical "router test rack" containing an instance of every supported device type, with good controllability and observability. i.e. Isolated network, configurable WAN gateway, managed switch, "jump" VM for automatic device recovery, Python objects and test scripts.
  • Introduced and championed the use of Python for system- and integration-test automation: PyTest.
  • Introduced and championed the use of a test management tool: TestLink.
  • Created Python scripts to automatically translate from PyTest to TestLink.
  • Created a fully-automated load test framework for cloud-hosted IoT servers. Simulates thousands of devices (HTTP, SNMP, MQTT) using AWS EC2 instances.
  • Created a tool to monitor any set of processes in an embedded device (Python, SSH, Matplotlib).
ScrumMaster
  • Researched and selected the Atlassian tool-suite, which became the standard for the European Engineering division.
  • Introduced the Unified Process for software development. This allowed us to become more agile while providing better long-term planning.
Technical liason with international sites (US, Czech Republic, Taiwan)
  • Created and maintained good working relationships with all remote teams, some of whom were our suppliers, and some of whom were our internal customers.
SmartSwarm product developer
  • Contributed to the development and launch of the SmartSwarm 351, SmartSwarm 341 (end of life), and SmartSwarm 342.
  • Coded some of the message processing blocks in Python.
  • Created a Modbus RTU simulator.
  • Created extensive user documentation.
Subject-Matter Expert Provided training to rest of team on:
  • Modbus.
  • IPv4, IPv6.
  • UDP, TCP, DNS, HTTP.
  • SNMP, MQTT.
  • LightWeight M2M.
  • CyberSecurity, TLS, Virtual Private Networks.
Failures ...

Well, more like arguments that I lost 😞, or opportunities for improvement! 🤔

Training ...
CoursePresenterDateDays
The Best TLS Training in the WorldFeisty DuckJun 182
Lean Product DevelopmentIRDGFeb-May 184
Design ThinkingIRDGSep-Dec 20164
Certified ScrumMasterAgileBearJuly 152
OpenSplice DDSPrismTech (now part of ADLINK)Dec 153
ISTQB Foundation Course in Software TestingInspire Quality ServicesNov 142