Get more replies from employers
Send a job-specific resume in minutes.
Ubifly Technologies seeks a Senior Firmware Engineer to lead the design and verification of safety-critical embedded code for in-house aerial mobility systems. You will own core firmware development and verification for BMS, BTMS, power converters, and autonomous control loops, ensuring deterministic communication and robust fault handling.
The role emphasizes MISRA C/C++, ARM Cortex-M safety-rated cores, and rigorous testing with LDRA/Rapita tooling.
As a Senior Firmware Engineer, you will spearhead the development and verification of safety-critical embedded code powering our in-house electronic systems for advanced aerial mobility . In this role, you will lead core firmware development and verification entirely in-house . Your software will drive the closed-loop control, monitoring, and fault handling of our Battery Management Systems (BMS SW), Traction Battery Pack safety logic, HV/LV DC-DC converters, chargers, and Battery Thermal Management System (BTMS) controllers, ensuring all sub-systems communicate deterministically to support aircraft-level integration.
Core Sub-System Control: Design, implement, and validate production-grade firmware in Embedded C/C++ across our core power architectures:
BMS & Pack Safety: Core algorithmic firmware for state-of-charge (SoC), state-of-health (SoH), active/passive cell balancing, fault detection, and high-voltage contactor coordination.
HV/LV Converters: Real-time, high-frequency digital control loops for voltage/current regulation, power electronics modulation, and protective switching thresholds.
BTMS Logic: Actuator control loops (PWM, digital outputs) for pumps, fans, and active cooling/heating elements based on predictive thermal models.
Driver & Bootloader Authoring: Develop low-level bare-metal drivers for microcontrollers (ARM Cortex-M or safety- rated cores), peripheral chips (SPI, I2C, ADC), and custom, secure bootloaders for field-upgradable firmware.
Advanced Troubleshooting & Hardware Debugging: Diagnose complex, intermittent, and timing-critical system issues during hardware bring-up and qualification using JTAG/SWD debuggers, logic analyzers, oscilloscopes, and bus analyzers.
Aviation Verification & Tooling: Drive structural coverage analysis, static analysis, and dynamic code testing using static/dynamic verification suites such as LDRA, Rapita Systems (RapiTest/RapiCover), or equivalent aerospace-grade verification tools.
Deterministic Communication: Implement communication protocol stacks (CAN, CAN-FD) to interface seamlessly with the aircraft-level flight control computer, ensuring predictable timing, low jitter, and bounded latency.
In-House Code Ownership: Establish rigorous coding standards ( MISRA C/C++ ), architectural design patterns, software-in-the-loop (SIL) testing frameworks using Python, and automated test environments to scale internal development capabilities.
With Flight Controls & Systems Integration: Define communication data dictionaries, telemetry bandwidth limits, network diagnostic trouble codes (DTCs), and vehicle-level fail-safe handling modes to ensure the battery powertrain responds correctly to autopilot or pilot commands.
With Hardware Design Engineers: Partner during hardware bring-up and verification loops to isolate hardware vs. software issues, validate low-level registry settings, tune sensor calibration curves, and debug board-level signal integrity/timing constraints .
With Battery Systems & Thermal System Engineers: Translate physical electrochemical safety thresholds, charging curves, and cooling fluid flow requirements into algorithmic state machines and deterministic control code.
With V&V Testing Teams: Provide testable software builds equipped with diagnostic hooks, supporting the execution of automated Hardware-in-the-Loop (HIL) testing, safety fault injection testing, and aerospace compliance validation pipelines .
Experience: 6 to 9 years of hands-on embedded software development and verification experience, specifically with high-reliability real-time control loops in aviation/aerospace electronics or high-voltage electrical power products (e.g., BMS, power converters, flight controls, or smart grid power distribution).
Language & Tool Mastery: Expert-level mastery of Embedded C/C++, Python scripting for automated testing/data parsing, and modern bare-metal microcontroller architectures (ARM Cortex-M or safety-rated dual-core MCUs).
Firmware Verification Tools: Hands-on experience authoring test suites, executing static analysis, and measuring code coverage (statement/branch/MC/DC) using tools such as LDRA Tool Suite, Rapita Systems, VectorCAST, or Parasoft.
Troubleshooting & Debugging Excellence: Exceptional skills in isolating complex firmware defects using JTAG/SWD, trace analyzers, logic analyzers, oscilloscopes, and CAN bus analyzers under live power conditions.
Safety Frameworks & Quality: Proven track record writing production code adhering to MISRA C/C++ rules and robust exception/fault-handling architectures.
Consultant Transition Leadership: Ability to dissect existing codebases, abstract requirements from external partners, write clean & maintainable code, and take absolute internal code ownership.
Direct exposure to aerospace software compliance standards such as RTCA DO-178C / EUROCAE ED-12C (Design Assurance Level DAL B or C).
Experience with worst-case execution time (WCET) analysis and timing verification tools (e.g., RapiTime or AbsInt aiT).
Formal software testing or quality certifications ( e.g., ISTQB Foundation/Advanced, INCOSE ).