View all jobsSenior Embedded Software Design Engineer
Burlington, OntarioSenior Embedded Software Design Engineer
Location: Burlington, ON
Responsibilities
- Responsible for assigned projects of embedded software development 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.
- Strong experience designing software for embedded microprocessors using C/C++.
- Experience targeting real time operating systems such as VxWorks or Threadx.
- 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 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.
- Familiarity with both Windows and Linux as host operating systems.