Hexagon AB Logo

Hexagon AB

Senior Embedded Software Engineer

Posted 2 Days Ago
Be an Early Applicant
In-Office or Remote
Hiring Remotely in Toronto, ON, CAN
Senior level
In-Office or Remote
Hiring Remotely in Toronto, ON, CAN
Senior level
Design, implement, verify, and maintain safety-related embedded C/C++ firmware for vehicle control ECUs. Responsibilities include real-time software, CAN and J1939 communications, diagnostics, I/O control, hardware-in-the-loop testing, CI/CD automation, embedded Linux connectivity, formal requirements traceability, code reviews, and field commissioning. The role requires extensive microcontroller, hardware debugging, safety coding standards, and vehicle network experience.
The summary above was generated by AI
The Company:

Hexagon is a global leader in digital reality solutions, combining sensor, software, and autonomous technologies. We are putting data to work to boost efficiency, productivity, quality, and safety across industrial, manufacturing, infrastructure, public sector, and mobility applications.

Our technologies are shaping the production and people-related ecosystems to become increasingly connected and autonomous — ensuring a scalable, sustainable future.

Hexagon’s Mining division solves surface and underground mine challenges with proven technologies for planning, operations, and safety.

Hexagon (Nasdaq Stockholm: HEXA B) has approximately 24,000 employees in 50 countries and net sales of approximately 5.5bn USD. Learn more at hexagon.com and follow us @HexagonAB.

Purpose of Position:

As a Senior Embedded Software Engineer you will design, develop, verify and maintain the safety-related firmware at the heart of our Vehicle Control Platform.
This is a hands-on engineering role; you will own microcontroller code from design through implementation, meeting formal requirements while optimising system performance.
You will join a senior, multi-disciplinary platform team and work day -to -day alongside hardware and electrical engineers, system architects, functional safety engineers, application software teams and product management.

Major Areas of Responsibility:

Firmware Design and Implementation

  • Design, implement, debug and maintain embedded C (and C++ where appropriate) firmware for safetyrelated vehicle control ECUs, from requirement through to released, verified software.
  • Implement and maintain vehicle communication interfaces — CAN 2.0A/B, J1939 and other higher-layer CAN protocols, and serial links — against formally controlled interface specifications.
  • Develop I/O and actuation software: digital and analogue inputs, PWM and proportional outputs, sensor signal conditioning, scaling, calibration and plausibility checking.
  • Implement diagnostics, fault detection and fail-safe behaviour: watchdogs and monitors, fault classification, and transitions into clearly defined safe states.
  • Contribute to migrating and modernising an existing production firmware platform onto current hardware.

Safety, Quality and Traceability

  • Develop against decomposed, traceable requirements and maintain bidirectional traceability from requirement to design, code and verification evidence.
  • Author and maintain design documentation, interface specifications and verification records.
  • Perform and participate in rigorous peer design and code reviews, and help raise the team’s engineering standards.

Verification, Tooling and Automation

  • Build and maintain automated test capability: embedded unit and integration tests, and hardware-inthe-loop test rigs.
  • Extend continuous integration and delivery pipelines for embedded builds, static analysis, automated test execution, versioning and release artefact packaging.
  • Work with Linux-based coprocessors and services used for data logging, connectivity, remote diagnostics and observability.
  • Support bench, vehicle and field commissioning; investigate and root-cause issues found in integration testing.
Knowledge and Experience - Required:
  • 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, including at least two (2) years delivering production firmware on 32-bit microcontrollers.
  • Embedded C: Expert-level embedded C, with working proficiency in C++. Deep comfort with fixed-point and bounded-resource programming, and with codebases where dynamic memory allocation is prohibited.
  • Real-time software: Bare-metal and/or RTOS development — interrupt handling and priority design, scheduling, cyclic task structure, timing and latency analysis, and multicore considerations.
  • Hardware fluency: Able to read hardware schematics, MCU datasheets and reference manuals and derive correct peripheral, driver and I/O configuration from them.
  • Vehicle networks: Hands-on CAN experience — CAN 2.0A/B plus J1939 or a comparable higher-layer protocol; defining and maintaining message sets and signal databases; bus analysis and fault-finding with standard CAN tooling.
  • On-target debugging: Practical use of debug probes, oscilloscopes, logic analysers and bus loggers to diagnose faults on real hardware.
  • Coding standards: Experience developing to an enforced coding standard such as MISRA, with static analysis in the development loop.
  • Development environment: Comfortable in Linux development environments, with Git-based workflows, code review culture and CI/CD pipelines.
  • Experience with TCP/IP networking and embedded Linux device-to-cloud connectivity on Arm-based processors.
Knowledge and Experience - Desired:
  • Multicore automotive-grade microcontroller families, and commercial safety-certified ECU platforms supplied with a vendor BIOS/HAL and configuration tooling.
  • Containerised build environments and self-hosted CI runners for embedded builds and automated hardware test.
  • Custom embedded Linux distribution builds with the Yocto or Buildroot — BSP and layer maintenance, kernel and device-tree configuration.
  • Requirements management tooling, and Jira / Confluence or equivalent.
  • Requirements discipline: Experience working to formal, traceable requirements and interface control documents.
  • Scripting and automation: Python and shell scripting for test automation, tooling and data analysis.
Travel:
  • 10% or less travel

Join Hexagon Mining: Become a key member of a team that is dedicated to precision, adaptability, and innovation. Take the next step in your career with a company that values the contributions of its diverse workforce and fosters an environment of growth and learning.

How to Apply: To apply for the position, please submit your resume and a cover letter explaining your relevant experience and your suitability for this role at Hexagon Mining.

Hexagon is an equal opportunity employer committed to diversity in the workplace. All qualified applicants will be considered regardless of race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.

Hexagon AB Mississauga, Ontario, CAN Office

Mississauga, Canada

Similar Jobs

8 Days Ago
In-Office or Remote
3 Locations
Senior level
Senior level
Robotics
Designs, develops, tests, and maintains robotics middleware and application frameworks in modern C++ on embedded Linux. Owns platform components through deployment and fleet operation, improves reliability and performance, diagnoses complex concurrency and systems issues, and translates safety requirements into software behavior and verification. Collaborates across autonomy, systems, hardware, and software teams while leading technical reviews and mentoring engineers.
Top Skills: C++C++17Cap'N ProtoEmbedded LinuxFlatbuffersInterprocess CommunicationMultithreadingNetworkingNvidia JetsonProtocol BuffersRpc
One Month Ago
In-Office or Remote
Canada
Senior level
Senior level
Artificial Intelligence • Automotive • Computer Vision • Machine Learning • Agriculture • Defense • Manufacturing
Designs, develops, integrates, tests, and maintains production embedded Linux software for vehicle systems. Responsibilities include modern C/C++ and Qt/QML development, Yocto platform maintenance, Python automation, CI/CD, automated testing, debugging across hardware and software boundaries, release management, architecture, documentation, and production support. The role also provides technical leadership and mentorship while collaborating with multidisciplinary engineering, manufacturing, cybersecurity, and supplier teams.
Top Skills: Adobe IllustratorAdobe PhotoshopAutosarBitbakeCC++Cameo Systems ModelerCanCmakeConan 2CppunitEmbedded LinuxEthernetFigmaFmvssGdbGitGoogletestI2CIbm Engineering DoorsIso 26262MagicdrawOpenembeddedPythonQmlQt 6.8+Qt CoreQt DbusQt Design StudioQt NetworkQt QuickQt Remote ObjectsSae J1939Sae J2012SconsSerial InterfacesSpiSquishSystemdUds Iso 14229Yocto Project
24 Days Ago
In-Office or Remote
CA
Senior level
Senior level
Healthtech
The role involves testing embedded systems software and desktop applications, defining testing strategies, developing protocols, and ensuring quality adherence in regulated environments.
Top Skills: CC#/.NetLinux/UnixMySQLPython

What you need to know about the Toronto Tech Scene

Although home to some of the biggest names in tech, including Google, Microsoft and Amazon, Toronto has established itself as one of the largest startup ecosystems in the world. And with over 2,000 startups — more than 30 percent of the country's total startups — Toronto continues to attract new businesses. Be it helping entrepreneurs manage their finances, simplifying business operations by automating payroll or assisting pharmaceutical companies in launching new drugs, the city's tech scene is just getting started.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account