Badges
Certifications
Work Experience
Senior Software Engineer
Sound United• November 2018 - Present
• Design and develop features for Denon/Maranz HEOS wireless speaker firmware (C, C++ 14, Boost, Embedded Linux, GCC toolchain). • Refactoring of audio pipeline using GStreamer libraries. • Testing and verifying network-based timing and scheduling for streaming audio. • Design of HEOS multi-room streaming features with Amazon’s AVS Device SDK for voice integration with ‘Alexa’. • Implementing the AVS authentication mechanism with enhanced error handling using asynchronous calls and Google ProtoBuf.
Senior Firmware Engineer
Landis+Gyr• March 2018 - October 2018
• Scrum Master for a small development team, managing the SCRUM activities within a product development environment. • Design and develop features for Smart Meter firmware (bare-metal C, Renesas ARM, IAR compiler, JTAG). • Testing and verifying low-level firmware functionality via a binary interface (bare-metal C, Python). • Investigating watchdog timers, undefined instruction handling and management of external flash memory.
Senior Software Engineer
The GlobalTote• November 2017 - February 2018
• Testing and fault-finding for a highly distributed, real-time, high-volume transaction-based system operating across continents (Linux, Vagrant, RabbitMQ, Reddis, REST). • Static analysis to enhance code quality for entire code base (Boost, C++11). • Designing processes for repository management (Git/BitBucket) and issue management (JIRA).
Senior Systems Engineer
Sonartech Atlas• July 2017 - November 2017
• Perform systems analysis and software architectural design for development of a sonar simulator (UML, Linux, Python). • Perform safety risk assessments of Sonartech subsystems. • Design pluggable interfaces to system components to allow more efficient integration and testing. • Perform requirements analysis for an unmanned underwater drone (DOORS).
Senior Software Integration Engineer
DXC Technology• February 2017 - July 2017
• Perform software integration, including regression analysis and testing for software modifications and traceability to requirements for ANZAC ship simulator systems (Linux, C++). • Maintain system design documentation.
Senior Software Engineer
ResMed• February 2015 - February 2017
• Scrum Master for a small development team, managing development priorities and risks with product owners in a highly regulated R&D environment. • Derive and specify software requirements from system requirements for a safety-critical Class 3 hospital device (DOORS). • Design and implement an embedded Electronic Medical Records interface based on JSON (C++, Integrity OS for ARM, Multi compiler, CMake, Google Test, Python, Behave BDD test, Bullseye and Coverity). • Investigate and resolve USB driver stack issues in an embedded communications interface device for life support ventilators. • Design, develop & test both boot-loader and application code for an embedded alarm monitor in the Lumis Non-Invasive Ventilator (Low Level C, ARM, GNU tools, SCONS, IAR compiler, JTAG, Python and Visual C++). • Extend and manage the interface protocol between the alarm monitor and the ventilator. • Investigating timing related issues and processor limitations. • Liaise with manufacturing for software loading and in-circuit test issues. • Develop a cross-project engineering effort reporting tool for high-level management (JIRA, Confluence, Python, JSON). • Participate in design and code reviews.
Senior Software Engineer
Lockheed Martin• August 2009 - February 2015
• Design and develop enhancements to the interface and control software for large-scale distributed systems (Windows, Visual C++ and SmartSockets). • Design and develop software to control and interface a new GPS receiver device into the system (C, Visual C++, RS-232, SNMP). • Develop a real-time distributed message translation service to enable CORBA control messages to be delivered to subscribers on a SmartSockets cloud. • Create an optimised Software Configuration Management process for the software team.
Senior Analyst / Programmer
NSW Roads and Maritime Services• December 2006 - July 2009
Public Transport Information and Priority System (PTIPS) Project • Analyse and design Passenger Information System features (UML). • Implement data protocol and passenger information features on the embedded field device units (custom Linux build, C/C++, GPS). • Design and implement embedded software to control the following hardware devices: GPS receiver, large LED sign and audio PA system (Linux, C++). • Develop embedded software to interface with digital I/O to detect engine state, emergency switch state and ticket machine state inputs. • Participate in design and code reviews.
Software / Systems Engineer
Gatso Australia• May 2004 - December 2006
(Formerly Aspect Traffic Systems) • Design, development & testing of intelligent traffic systems for vehicle identification and enforcement utilising digital cameras, Automated License Plate Recognition and radar technology (C++ & ACE). • Design and develop embedded software for remote environmental control and monitoring of speed camera hardware for the following parameters: temperature and humidity, shock and vibration, door alarm (C++). • Design and development of testing, data analysis and verification software for intelligent traffic systems (Java & MySQL). • Design and testing of electronic interfacing circuits.
Education
University of Technology Sydney
Electrical Engineering & Computer Science, BE• February 1995 - April 2002
My actual degree is Bachelor of Engineering in Computer Systems Engineering. It comprises study of the following fields: electrical engineering, software engineering and systems engineering.