Description

Design and develop embedded software components and applications for product development.

Responsibilities

  • Design and develop embedded software components using C++11 and template-based architectures.
  • Implement object-oriented systems utilizing established design patterns and explicit interfaces.
  • Develop multi-threaded and multi-process Linux applications using IPC mechanisms.
  • Collaborate with technical architects and product managers on requirements, technical designs, and project plans.

Required Skills

  • 8+ years of experience with Embedded Linux and C++.
  • Strong proficiency in C++11 and template design.
  • Deep understanding of object-oriented methodologies and design patterns.
  • Practical experience with Linux IPC mechanisms.
  • Experience with multi-threaded and multi-process application development.
  • Hands-on experience with publisher-subscriber frameworks.
  • Ability to use GDB via command line on embedded Linux platforms.
  • Experience working with build systems and Makefiles.

Preferred Skills

  • Experience with C++ unit test frameworks.
  • Knowledge of CAN protocols.
  • Experience working within Agile methodologies.

Education

Any Graduate