Prospex Recruiting
Embedded Firmware Engineer (C/C++)
Prospex RecruitingAustralia16 hours ago
Full-timeRemote FriendlyEngineering
Optergy is looking for an Embedded Firmware Engineer with strong C/C++ and Linux skills to craft minimal, reliable operating systems and high-performance device software for our Building Management Systems (BMS). You’ll take products from board bring-up to production, custom Linux images, STM32 microcontroller firmware, and Linux/Windows protocol drivers, powering buildings around the world.

If you love squeezing performance out of constrained hardware and making systems rock solid, this is your stage.

Your Responsibilities

  • Design, build, and maintain minimal Linux OS images using Buildroot (toolchains, packages, BusyBox, overlay/readonly rootfs, init/system services).
  • Configure and patch the Linux kernel (device tree, drivers, kernel modules) for ARM based platforms.
  • Develop BMS protocol stacks and device drivers in C/C++ (e.g., BACnet, Modbus/RTU & TCP, MQTT/OPC UA gateways), optimised for both Linux and Windows environments.
  • Develop embedded firmware for ARM-based microcontrollers and embedded Linux systems, across bare-metal and RTOS environments.
  • Implement robust communication over RS-485, TCP/UDP sockets, and serial COM ports; ensure interoperability and timing compliance.
  • Create cross-platform builds with CMake (GCC/Clang/MSVC), automate builds and tests in CI/CD, and maintain reproducible toolchains.
  • Write clear technical documentation (build guides, flashing procedures, protocol

specs) and participate in code reviews.

Requirements

Preferred Qualifications:

  • Bachelor’s degree in Computer/Software/Electrical Engineering or related discipline.
  • Relevant certifications (e.g., Embedded Linux, ARM, or security/IoT) are a plus.
  • Exposure to regulated/industrial products or energy/building automation is advantageous.

Skills & Experience

  • 2–4 years of professional experience with C/C++.
  • Proven experience delivering embedded firmware or systems-level applications.
  • Strong C/C++ on embedded Linux: POSIX APIs, multithreading, synchronisation primitives, IPC, and TCP/UDP sockets.
  • Solid grasp of Linux internals: filesystems (ext4, SquashFS), init/service management (systemd or BusyBox), udev rules, and kernel modules.
  • Hands-on Buildroot (or Yocto): cross-compilation toolchains, custom package creation, and reproducible builds.
  • ARM (Cortex-A/M) familiarity: low-level peripherals (UART, SPI, I2C, GPIO), memory/performance constraints.
  • STM32 development using HAL/LL and FreeRTOS; bootloaders and robust firmware update/OTA strategies.
  • Git workflows and CI/CD (e.g., Jenkins, GitHub Actions) with versioned artifacts and release pipelines.

Preferred / Nice To Have

  • Diagnostics & quality: unit tests, hardware-in-the-loop, fuzzing; static analysis (clang- tidy, cppcheck) and sanitisers (ASan/UBSan).
  • Protocols: BACnet, Modbus (RTU/TCP), OPC UA, SNMP.
  • Containerised build environments, Debian packaging, A/B updates, device security (TPM/Secure Element).
  • Additional languages such as Go or Python.
  • Experience with the Yocto Project or Buildroot.

Benefits

  • Work on innovative, globally scaling tech that blends software, hardware, and the cloud.
  • Be part of a tight-knit, collaborative team where your ideas are heard.
  • Hybrid work options and a flexible, supportive culture.
  • Join a company that’s ISO27001 & ISO9001 certified – with security, quality, and innovation at the core.

Key Skills

Ranked by relevance