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