Dometic logo
DometicPosted 6 months ago

Embedded Software Developer

$88,000–$105,000 year

On-siteRichmond, British Columbia, Canada

Full TimeLarge

Job Summary

Design and optimize firmware applications on target hardware platforms, ensuring robust functionality and performance. Develop network connectivity and vessel integration solutions to combine and enhance functionalities for multiple systems. Participate in code reviews to ensure code correctness, maintainability, and conformity to coding guidelines. Prepare technical documentation such as design specifications and test plans. Develop and execute unit tests, integration tests, and system tests to verify software functionality and performance. Collaborate with cross-functional teams, including electrical and mechanical engineers, software developers, and product managers, to ensure successful product launches. Support internal teams and external customers by troubleshooting field issues and delivering updated firmware.

Required Qualifications

  • Bachelor's degree or equivalent qualification in Electrical engineering, Mechatronic engineering, Software engineering, or Computer Science
  • Minimum 2 years of hands-on experience in firmware development or system engineering
  • Strong C / C++ development experience with 16/32-bit MCU such as ARM Cortex-M

Desired Qualifications

  • Working experience with two or more serial communication protocols such as CAN, SPI, I2C, Ethernet
  • Working experience with CAN protocols such as J1939, NMEA 2000, XCP, and UDS
  • Experience developing motor control systems or other PID-based control systems
  • Proficiency in Python, Docker, and CI/CD pipelines
  • Demonstrated experience with unit testing, HIL testing, and functional testing
  • Familiarity with engineering documentation such as requirement specifications, DFMEA, and test plans
  • Development experience with wireless communication protocols (Wi-Fi, BLE)
  • Familiarity with IoT protocols and platforms (e.g. MQTT, AWS IoT)
  • Familiarity with firmware lifecycle security (e.g. secure Boot, OTA, basic cryptographic protections)
  • Proficiency with engineering tools such as oscilloscope, multimeter, or logic analyzer
  • Motivated and Curious Learner: Demonstrates a continuous drive to expand knowledge, learn new technologies, and apply innovative approaches to solve complex challenges
  • Organized and Systematic: Approaches tasks with structure and attention to detail, ensuring quality and consistency throughout the development cycle
  • Analytical Problem Solver: Applies critical thinking and sound judgment to identify issues, evaluate alternatives, and implement effective solutions
  • Clear Communicator: Possesses strong verbal and written communication skills, with the ability to explain technical concepts clearly to colleagues across disciplines
  • Collaborative Team Player: Thrives in a multidisciplinary team environment, contributing proactively, respecting diverse perspectives, and building strong working relationships
  • Accountable and Reliable: Takes ownership of responsibilities, meets commitments, and upholds high professional and ethical standards
  • Adaptable and Resilient: Adjusts effectively to shifting priorities, emerging technologies, and dynamic project requirements in a fast-paced environment

Hiring someone like this?

Get your role in front of qualified candidates on Sorce.

Get started

Apply to this job in one click with Sorce

Apply on Sorce