Flight Software Engineer II

Josiah Brough

Mechatronics background, specialising in application-level C++ and systems programming.

New Zealand citizen

-

Open to relocation

Experience

Flight Software Engineer II

Gilmour Space Technologies

05/26 — Now

GC, AUS

  • Recovered a 3-year-old unmaintained Zynq-7000 project, including reverse engineering AMP PS configuration found on an old development board which used remoteproc and reserved memory partitioning
  • Rebuilt the boot chain from scratch into a reproducible PetaLinux 2020.2 pipeline for the Trenz TE0720 SoM, verified boot-to-login from QSPI with persistent EXT4 rootfs on eMMC
  • Root-caused an intermittent Gigabit Ethernet fault on a Microchip PolarFire SoC board to a physical-layer signal-integrity defect on the SGMII trace, isolating MAC, PHY, and driver behaviour via MDIO register reads (phytool) and kernel/device-tree changes in Yocto

Flight Software Engineer I

Gilmour Space Technologies

01/25 — 06/26

GC, AUS

  • Built the C++17 acquisition core on ARM Cortex-A9 flight hardware, deriving per-card drain scheduling generically from FIFO depth and configured rate to hold a 50% headroom margin against overrun across heterogeneous card models spanning 1 kHz to 100 kHz
  • Authored unit and integration test suites in Catch2 covering acquisition and application logic with >80% line coverage
  • Built configuration tooling, generators, parsers, and schema validation, allowing sensor and deployment configuration changes without code modification
  • Extended and maintained a Go microservice consuming DAQ telemetry over multicast IP
  • Established CMake-based cross-compilation for ARM Cortex-A9 targets
  • Containerised the toolchain with Docker, standardising builds, linting, and formatting across inconsistent developer environments
  • Created one-click GitLab CI/CD deployment tooling in Ansible, allowing operators to update flight software without engineering involvement

Embedded Software Engineer (internship & contract)

Fisher & Paykel Technologies

11/22 — 01/25

ALK, NZ

  • Developed application-level control algorithms in C simulating a weight stack via motor control
  • Designed and implemented automated hardware-in-the-loop test infrastructure in Python
  • Implemented continuous integration with Bitbucket Pipelines and automated Linux development environment setup

C++ Software Engineer (internship & contract)

Crown Equipment Corporation

11/23 — 11/24

ALK, NZ

  • Implemented navigation and motion control algorithms in C++23 for autonomous guided vehicles, including rear-wheel feedback, LQR, and MPC controllers
  • Validated controllers in simulation and on real working autonomous forklifts

Teaching Assistant

Auckland University of Technology (AUT)

02/23 — 06/24

ALK, NZ

  • Taught bare-metal c programming on the Atmel AT90USB1287 and object-oriented design in C# / .NET
  • Supported students through Altium Designer, PCB assembly, and hardware bring-up

Electrician

Victor Brown Electrical (1977)

06/17 — 01/21

DUD, NZ

  • Managed and executed electrical projects including switchboard replacements, heat pump installations, and solar installations

Skills

Languages

C++17CPythonGoBashDart

C++ Ecosystem

CMakeCatch2STLETLTemplatesGDB

Embedded & Linux

ARMZynq-7000STM32Renesas RX23TYoctoPetaLinux

Verification & Test

Unit TestingIntegration TestingHITLSITL

Debugging

GDBJTAGSWDLogic AnalyserOscilloscope

DevOps

GitLab CI/CDDockerAnsibleGit

Tools

TmuxNeovim

Education

Bachelor of Engineering (Honours) in Mechatronics, Minor in Software Development

Auckland University of Technology (AUT)

Auckland, New Zealand

Nov 2024

Electrical Engineering Level 4

The Skills Organisation Inc.

Dunedin, New Zealand

Jan 2020

Built with Next.js · 2026