Senior Software Developer

Senior Software Developer

We are looking for an energetic and enthusiastic Software Developer (Senior) that will join our R&D and Engineering Department. As a member of our R&D team, he/she will be responsible for the development of new 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 Brand Manager and Engineering Manager to define specifications and deliverables.
  • Participates in brainstorming sessions to conceptualize new products and solutions.
  • Works with the Electrical Engineering team in specifying hardware interfaces and processing requirements.
  • Generates and maintains project documentation: ICD’s, Architecture Specification, Storyboarding (GUI), API.
  • Development of system level architecture specifications and interface specifications.
  • Maintains and administers bug tracking systems.
  • Full stack cross platform software development from driver level implementation to GUI.
  • Configures and maintains cross platform build environments (Primarily Windows and Mac OS).
  • Implements and applies QA methods such as writing unit tests and using static code analysis tools.
  • 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 required. 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 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

  • BSc. Degree in Computer Science or Electrical and Computer Engineering from an accredited University or equivalent work experience.
  • A minimum of 5+ years Cross Platform Software Development work experience (Windows, Mac OS and Linux).
  • Knowledge and experience of agile software development methods.
  • Proficient in configuring, managing and using repositories and bug tracking systems.
  • Experience in the analysis, design, integration, programming, and testing of computer applications using a structured methodology.
  • Proficient in developing with Qt Framework, C++, C#, Python, SQL.
  • Technical knowledge of mobile app development, and cloud connected systems an asset.
  • Experience with firmware and application development for ARM based devices running bare metal firmware, RTOS, or Linux preferred
  • Experienced with both front end and back end framework development
  • Familiar with TDD and Unit Testing.
  • Familiar with USB and Serial communication interface and driver development for Windows and Mac OS.
  • Familiarity with Lighting Consoles and entertainment lighting and controls, would be an asset.
  • 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.