Description

Key Skills: C++, Embedded, RTOS, Linux

Roles and Responsibilities:

  • Design, develop, and maintain software components for embedded systems and system-level applications.
  • Architect software solutions with a focus on scalability, performance, and maintainability.
  • Implement and maintain software modules in C and C++, following standard processes in coding, testing, and debugging.
  • Use object-oriented programming principles to design robust and reusable software components.
  • Leverage Standard Template Library (STL) and modern C++ features such as smart pointers to optimize memory management and system performance.
  • Implement concurrency mechanisms to ensure safe and efficient multithreading in software applications.
  • Participate in code reviews and provide constructive feedback to team members.
  • Collaborate with multi-functional teams, including hardware engineers and quality assurance, to deliver high-quality products.
  • Provide technical leadership and mentorship to junior engineers, helping them grow their skills and knowledge.
  • Solve complex system-level issues and perform root cause analysis.

Skills Required:

  • Proficient in C++ with strong object-oriented programming skills
  • Hands-on experience in embedded systems development
  • Familiarity with RTOS concepts and implementation
  • Experience working on Linux-based environments
  • Knowledge of STL and modern C++ features (e.g., smart pointers)
  • Understanding of multithreading and concurrency mechanisms
  • Ability to design scalable, maintainable, and high-performance software

Education: Bachelor's or Master's in Computer Science, Electrical Engineering, or a related field

Education

Any Graduate