logo

View all jobs

Intermediate Embedded Software Designer

Waterdown, Ontario

Responsibilities

  • Responsible for assigned projects to achieve operational targets, established by leadership.
  • Manage project tasks with team members allocated to the specific project.
  • Responsible for managing complex project initiatives of strategic importance to the organization
  • Architect, design, develop, document, and verify software for complex electro-optical surveillance systems.
  • Provide support to Engineering, Manufacturing and Customer Support teams to solve software issues.
  • Support the estimation and planning of new products and features and the Agile development process.
  • Support Software Engineering in company product development reviews.
  • Contribute to continuous department improvement processes, including comprehensive information gathering and data analysis.
  • Review the software contributions of other team members.
  • Participate in developing and maintaining relevant engineering design practices, processes, and standards.
  • Work is guided by individual annual goals and objectives with general oversight or direction.
  • Responsible for providing guidance, coaching, and training to other employees within area of expertise.
  • Ability to build and maintain professional relationships within and outside of engineering.
  • Demonstrated ability to architect complex software systems.
  • Demonstrated ability to research, design and implement complex algorithms.
  • Ability to understand the operation, design, and control of complex electro-mechanical systems.
  • Proven track record for creating innovative solutions to difficult problems on budget and on time.
  • Develop a strong presence across engineering and other areas of the business to maximize collaboration and synergy an effort to meet project goals.
  • Watch for new technologies and leadership trends that may impact present and future product development.
 

Basic Qualifications

  • Bachelor’s Degree in Computer Engineering, Electrical Engineering, or equivalent.
  • Minimum of 6 years of experience designing software for embedded microprocessors using C/C++.
  • Strong knowledge of embedded C and C++ software architecture for real-time systems.
  • Strong knowledge of modern source code management.
  • Experience developing for embedded ARM processors.
  • Experience targeting real time operating systems such as VxWorks or Threadx.
  • Experience targeting embedded Linux.
  • Proven track record for developing software within an Agile software process.
  • Good understanding of the ISO 12207 software development standard.
  • Strong knowledge of embedded communications standards such as I2C, SPI, CAN, Serial, Ethernet.
  • Strong knowledge of Avionic communication standards such as 1553, Arinc-429.
  • Demonstrated knowledge of modern software design practices like Object Oriented design and Patterns.
  • Familiarity with both Windows and Linux as host operating systems.
  • Familiarity with FPGA/RTL/SoC design experience and methodology and asset.
  • Familiarity with electro-mechanical and optical sensors or lasers is an asset.
  • Familiarity with GPU processor coding an asset.
  • Good working knowledge of MATLAB an asset.
  • Meets the requirements of the Controlled Goods Registration Program and is eligible for a Canadian government security clearance
  • Excellent written and oral communication skills.

Share This Job

Powered by