Software Engineer - Desktop

Job Summary

We are looking for an innovative and enthusiastic Software Engineer – Desktop (C++, Qt, GUI, C#, Python, VB) that will join our R&D and Engineering Department. As a member of our R&D team, he/she will be responsible for providing leading edge product design, technical support for manufactured products, assist in building R&D prototypes that are best in class and build relationships with suppliers with business solutions in mind.

Responsibilities and Duties

  • Working in conjunction with the R&D engineering group to deliver conceptual ideas for future projects.
  • Follow through an entire project from concept to pre-production.
  • Researching and evaluation of new technologies.
  • Developing software requirements, plans, designs, unit tests, and associated documents.
  • User interface development with Qt in C++ on Windows and Mac.
  • Development of test software for prototype bring-up and test.
  • Leading activities related to code architecture and design.
  • Designing and coding of PC based utilities for end user/customer use.
  • Designing and coding of PC based utilities for in-house use.
  • Developing infrastructure which enables management of the complexity related to the release of software (build tools, repository configuration) as required.
  • Developing documentation using flow charts, diagrams, and charts as needed.
  • Maintaining software documentation throughout product life cycle.
  • Development of software testing practices to ensure a high degree of code quality.
  • Assisting technical support teams in regards to isolating problems from clients in regards to SMI manufacture goods.
  • Design of test software for evaluating prototype units and for production QA purposes.
  • Testing and debugging of prototype software.
  • Developing unit tests and continuous integration.
  • Attend weekly team meetings to discuss all projects that are in progress.
  • Researching and locating vendors that can supply parts for production and building a rapport with the suppliers.
  • Negotiating pricing and timelines for delivery.
  • Processing purchase orders for all orders $1000.00 or less (before tax) to vendors for prototype units.
  • Follow up with supplier to ensure that the delivery dates are met or exceeded.

Required Qualifications: Work Experience, Skills and Abilities

  • University degree in Electrical Engineering, Computer Science or equivalent.
  • Minimum 4-6 years practical job experience in software development for embedded systems engineering in an R&D environment.
  • Excellent oral and written communication skills Ability to read electrical schematics
  • Ability to operate measuring tools, manual and electronic measuring equipment for testing and debugging of code.
  • Must have advanced troubleshooting skills
  • PC software development in: Qt, C++, C#, Python, VB
  • Experience with user interface development.
  • Experience with the Qt Framework an asset.
  • Experience with serial and IP based protocols.
  • Implementing mathematical models in code.
  • Knowledge of configuring and working with databases an asset
  • Detailed oriented Professional work ethic Excellent organizational skills
  • Ability to work well independently or as part of a team
  • 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.