Embedded Software (Firmware) Developer

Requisition # ENG-1102-003

Job Summary

DreamQii is seeking Embedded Software Developers to join our Product Development Team. The position entails working with cross functional teams to design, develop, and maintain firmware that interfaces with autonomous and semi-autonomous robotic devices, web applications, mobile devices, and other connected (IoT) platforms. The embedded software development team also engages in research and development activities for new products and academic studies. The ideal candidate has relevant education, practical experience, and proven success in the design, development, and commercialization of embedded software applications.

Description

In this role, the selected candidate will:

  • Develop embedded software primarily in C/C++
  • Design, develop, and maintain firmware for use on robotic platforms and control systems
  • Design, develop, and maintain firmware that interfaces with web applications, mobile devices, other robotic platforms, connected (IoT) devices
  • Collaborate to develop and implement test procedures and equipment that validate new system features and functions
  • Use proven engineering practices to efficiently move through conceptual, detailed design, production, and sustaining phases of the product development cycle
  • Work with existing the product line enhance functionality and introduce new features
  • Conduct research and experimentation to develop new products and features
  • Work closely with hardware teams and management to meet product development requirements
  • Document and communicate work thoroughly and efficiently
  • Provide bi-weekly progress reports and demonstrations
  • Efficiently manage projects and prioritize tasks with the product development team

Key Qualifications

  • Experience with the software development lifecycle, in addition to common Agile development methodologies
  • 2-5 years of programming experience with a focus on C/C++ is an asset
  • Excellent understanding and practical experience with wired and wireless communication protocols using SPI, I2C, RS232, and RS485
  • Experience developing and implementing application programming interfaces (API) on cross functional hardware platforms
  • Experience developing applications that utilize Bluetooth, WiFi, and standard wireless radio communication
  • Experience in the development, application, and fine-tuning of open and closed loop control systems
  • Experience in RTOS, Bare-metal drivers and application development is an asset
  • Excellent knowledge of ARM and AVR microprocessors and their respective development tools
  • Experience in hardware debugging and using bench diagnostics tools
  • Strong discipline in adhering to proper coding practices and following software development processes
  • Strong understanding of common debugging, testing and automation tools and best practices
  • Experience with Linux operating systems is an asset
  • Excellent technical writing and documentation skills are required
  • Must be self-motivated with a strong attention to detail

Education

  • Degree, diploma, or equivalent in Computer Science, Computer Engineering or Electrical Engineering

Application Form

In order to apply for this position fill out the form below and attach your resume in .PDF format.
  • Accepted file types: pdf.
  • This field is for validation purposes and should be left unchanged.

Pin It on Pinterest

Share This