Software Developer – Embedded

Job Summary

We are looking for an energetic and enthusiastic Software Developer – Embedded (C, C++) that will join our R&D and Engineering Department. As a member of our R&D team, he/she will be responsible for development of firmware and provide support, maintenance and bug fixes to existing applications.

Responsibilities and duties will include:

  • Collaborates with local and remote developers on various products.
  • Works closely with the electrical engineering and software development team.
  • Participates in brainstorming sessions to conceptualize new products and solutions.
  • Works with the Electrical Engineering team in specifying hardware interfaces and determining processing requirements for embedded systems.
  • Development of communication interfaces between PC and Devices including development of driver modules and API’s for embedded systems.
  • Generates and maintains project documentation: ICD’s, Architecture Specification, Storyboarding (GUI), API.
  • Works with bug tracking systems.
  • UI Development targeting embedded systems.
  • Implements and applies QA methods such as writing unit tests and using static code analysis tools. Use of electrical test equipment may be required.
  • Generation of reusable code modules for application and external communication functions.

The ideal candidate will have experience with software development and knowledge of related test, build and QA processes. Knowledge and experience with development targeting microcontrollers will be preferred. He/she will have experience with using C and C++, and writing interfaces and drivers for external USB or Serial based hardware. This position will also require the candidate to have knowledge about embedded system development specifically in the area of interface drivers and UI development. This position requires advanced troubleshooting skills including the ability to quickly and accurately identify and implement bug fixes. He/she will be involved in frequent internal and external collaboration in all stages of design to ensure our customers' needs are met.

Required Qualifications: Work Experience, Skills and Abilities

  • Degree in Computer Science or Electrical and Computer Engineering from an accredited University or equivalent work experience.
  • 3 years in a mixed firmware or software development role.
  • Experience with firmware and application development for ARM based devices running bare metal firmware, RTOS, and/or Linux.
  • Proficient in configuring, managing and using repositories and bug tracking systems.
  • Proficient in developing with C, C++ and Python.
  • Familiar with TDD and Unit Testing.
  • Experience in the analysis, design, integration, programming, and testing of computer applications using a structured methodology.
  • Familiar with USB and Serial communication interface and driver development targeting Windows and embedded devices (bare metal and RTOS/Linux).
  • Familiarity with Lighting Consoles and entertainment lighting and controls, would be an asset.
  • Experience with electronics test equipment, ie. DMM, PSU’s, Oscilloscope, Logic Analyzers, etc. preferred.
  • Working knowledge with of Microsoft Office applications (Word, Excel, Outlook)

We offer employees:

  • Competitive Compensation
  • Employee Benefits Program
  • Professional Development and Growth opportunities

Spectrum Manufacturing is looking for individuals who are passionate about making a difference and being part of a team that is rapidly growing and shaping the future. 

If you are interested in applying for this position, please submit your resume and covering letter outlining your compensation expectations.

Spectrum is a respectful, caring, and inclusive workplace. We are committed to championing accessibility, diversity and equal opportunity. Requests for accommodation can be made at any stage of the recruitment process providing the applicant has met the bona-fide requirements for the open position. Applicants need to make their requirements known when contacted or alternatively you may contact Human Resources.

***To be considered for this position, click here.