Intermediate Software Developer

Intermediate Software Developer

We are looking for an energetic and enthusiastic Software Developer (Intermediate) 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, cross platform software 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.
  • Full stack cross platform software development from driver level implementation to GUI.
  • UI Development targeting embedded systems.
  • Works with cross platform build environments (primarily targeting Windows and Mac OS).
  • 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 cross platform development targeting Windows and Mac OS platforms will be preferred. He/she will have experience with GUI design using the Qt framework, 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.
  • A minimum of 2 years Cross Platform Software Development work or 3 years in a mixed firmware and software development role.
  • Proficient in configuring, managing and using repositories and bug tracking systems.
  • Proficient in developing with Qt Framework, C, C++, C#, Python, SQL.
  • Experience with firmware and application development for ARM based devices running bare metal firmware, RTOS, and/or Linux.
  • Technical knowledge of mobile app development, and cloud connected systems an asset.
  • 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, Mac OS 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.