Description

Key Responsibilities:
Lead the design, development, and optimization of embedded software using C++.
Implement and test embedded software modules, ensuring compliance with functional and performance specifications.
Collaborate with hardware and system engineering teams to establish system architecture and integration strategies.
Mentor junior engineers, providing technical leadership and fostering a culture of innovation.
Analyze and enhance software performance, memory usage, and power efficiency within resource-constrained environments.
Work closely with QA teams to guarantee high-quality software through rigorous testing and validation processes.
Troubleshoot and resolve complex software issues in embedded systems, collaborating with cross-functional teams as necessary.
Stay updated on advancements in embedded systems, C++ programming, and industry trends.
Conduct code reviews and enforce best practices to uphold high software quality standards.
Participate in the complete embedded software development lifecycle, from concept through to deployment and maintenance.


Required Qualifications:
Bachelor’s or Master’s degree in Electrical Engineering, Computer Science, or a related field.
8+ years of experience in C++ development with a strong focus on embedded systems and real-time operating systems (RTOS).
Proven experience in developing, debugging, and optimizing embedded software on a variety of microcontrollers and processors.
Solid understanding of hardware-software integration and embedded system architecture.
Familiarity with embedded development tools, including compilers, debuggers, and version control systems.
Strong problem-solving and analytical skills, capable of working both independently and as part of a team.
Excellent communication and leadership abilities, with experience mentoring junior engineers.
Familiarity with software development methodologies such as Agile or Scrum.

Education

Bachelor's degree in Computer Science