Responsibilities: Embedded System Design: Architect and design robust, scalable embedded systems using C++ and Linux for various platforms. Define system requirements, interfaces, and overall system architecture. Platform Development: Develop and optimize Linux-based embedded platforms, including kernel development, device drivers, and real-time applications. Customize Linux OS (Yocto, Buildroot) to meet system requirements. Software Development: Lead the development of high-performance, memory-efficient embedded software in C++. Ensure the software meets safety, performance, and reliability standards. Technical Leadership: Provide technical mentorship to engineering teams and guide junior developers. Review code, design documentation, and provide solutions to complex challenges. Project Management: Collaborate with cross-functional teams to meet project timelines. Participate in technical discussions with clients and stakeholders to understand requirements.