Embedded Software Engineer

Minimum Requirements:

  • BS degree in Computer Science, Mathematics, Electrical Engineering, Electrical and Computer Engineering, Computer Engineering, or a related field.
  • Minimum of 4 years of software development experience in embedded systems in an R&D environment.
  • Programming experience in one or more of C, C++, Linux, Ubuntu, Java, Python.
  • Demonstrated understanding of software engineering processes and the entire software development lifecycle.

Preferred Qualifications

  • Developing embedded software for microcontrollers (NXP, STM, Microchip preferred)
  • Working experience with Arduino, STM, Keil.
  • Developing embedded software for Raspberry Pi platforms.
  • Showing a good understanding of advanced embedded networking protocols, e.g., Ethernet, TCP/IP.
  • Showing a good understanding of common embedded communication protocols e.g. I2C, SPI, UART, RS-485.
  • Implementing multi-tasking for microcontrollers using Free-RTOS for embedded applications.
  • Writing code in C/C++ (C mostly), proficiently.
  • Ability to read electrical schematics.
  • Knowledge of analog and digital electronics.
  • Must have advanced troubleshooting skills.
  • Following through projects from the concept to pre-production.
  • Working with Git, to update and improve the existing code base.
  • Demonstrated analytical and problem-solving skills.
  • Strong time management skills that enable on-time project delivery
  • Solid written and verbal communication skills
  • Ability to work in teams and collaborate effectively with people in different functions.
  • Interest and familiarity with embedded microcontroller architecture and embedded software development
  • Ability to work effectively in a fast-paced and rapidly changing environment
  • Desire and ability to take the initiative and drive for results

What You Will Be Doing:

Spectrum Manufacturing is seeking an experienced senior embedded software engineer to join their North American headquarters in Mississauga, ON.

As part of our software engineering team, you will work on developing world-class embedded software applications that run on an embedded processor, giving you exposure to these exciting areas. You will bring on board the knowledge of the following.

  • Foundational software development process and life-cycle
  • Software development of a complex and multi-layer system
  • Developing and deploying embedded software
  • Debugging and fixing existing software issues.
  • Your activities may require working with embedded hardware and associated SDKs.

You will work closely with the research and development engineering team to design, implement and test new software features. We use various technologies: DMX, ArtNet, RDM, and sACN, with C & C++ being the most common for the current software development.