Senior Embedded Software Engineer

Posted 2 days ago

Apply Now

Resume Score

Check how well your resume matches this job before you apply.

Sign in to check score

About the role

  • Senior embedded engineer developing safety-critical ECU firmware for Hexagon Mining’s digital mining and vehicle-control technologies. Designing, testing, and commissioning embedded systems.

Responsibilities

  • Design, implement, debug and maintain embedded C and C++ firmware for safety-related vehicle control ECUs
  • Develop firmware from requirements through released, verified software
  • Implement and maintain vehicle communication interfaces including CAN 2.0A/B, J1939, higher-layer CAN protocols and serial links
  • Develop I/O and actuation software for digital and analogue inputs, PWM and proportional outputs, sensor signal conditioning, scaling, calibration and plausibility checking
  • Implement diagnostics, fault detection and fail-safe behaviour, including watchdogs, monitors, fault classification and safe-state transitions
  • Contribute to migrating and modernising the production firmware platform onto current hardware
  • Develop against decomposed, traceable requirements and maintain bidirectional traceability
  • Author and maintain design documentation, interface specifications and verification records
  • Perform and participate in peer design and code reviews
  • Build and maintain automated embedded unit, integration and hardware-in-the-loop tests
  • Extend CI/CD pipelines for embedded builds, static analysis, automated tests, versioning and release artefact packaging
  • Work with Linux-based coprocessors and services for data logging, connectivity, remote diagnostics and observability
  • Support bench, vehicle and field commissioning and investigate integration-test issues
  • Collaborate with hardware and electrical engineers, system architects, functional safety engineers, application software teams and product management

Requirements

  • Bachelor’s or Master’s degree in Electrical or Electronic Engineering, Computer Engineering, Mechatronics, Computer Science or a closely related discipline; or equivalent demonstrable experience
  • 10+ years of professional embedded software development
  • At least 2 years delivering production firmware on 32-bit microcontrollers
  • Expert-level embedded C and working proficiency in C++
  • Experience with fixed-point and bounded-resource programming and codebases where dynamic memory allocation is prohibited
  • Bare-metal and/or RTOS development, including interrupt handling, priority design, scheduling, cyclic task structure, timing and latency analysis, and multicore considerations
  • Ability to read hardware schematics, MCU datasheets and reference manuals and derive peripheral, driver and I/O configuration
  • Hands-on CAN experience: CAN 2.0A/B plus J1939 or comparable higher-layer protocol
  • Experience defining and maintaining message sets and signal databases
  • Bus analysis and fault-finding with standard CAN tooling
  • Practical use of debug probes, oscilloscopes, logic analysers and bus loggers
  • Experience developing to an enforced coding standard such as MISRA, with static analysis
  • Comfortable in Linux development environments, Git-based workflows, code review and CI/CD pipelines
  • Experience with TCP/IP networking and embedded Linux device-to-cloud connectivity on Arm-based processors
  • Desired: multicore automotive-grade microcontrollers and commercial safety-certified ECU platforms
  • Desired: containerised build environments and self-hosted CI runners
  • Desired: Yocto or Buildroot BSP/layer maintenance, kernel and device-tree configuration
  • Desired: requirements management tooling and Jira / Confluence or equivalent
  • Desired: formal, traceable requirements and interface control documents
  • Desired: Python and shell scripting for test automation, tooling and data analysis
  • Ability to submit a resume and cover letter

Benefits

  • Remote work: can telecommute / work remotely 100% of the time
  • 10% or less travel
  • Environment of growth and learning
  • Diverse workforce and equal opportunity workplace

Job type

Full Time

Experience level

Senior

Salary

Not specified

Degree requirement

Bachelor's Degree

Tech skills

CloudLinuxPythonRTOSShell ScriptingTCP/IPC++

Location requirements

RemoteCanada

Report this job

Found something wrong with the page? Please let us know by submitting a report below.