Are you an experienced Principal Software Engineer - Embedded Systems seeking a new challenge in embedded systems? Our Reading based client is a well-established leader, in designing and manufacturing cutting-edge products for a wide range of industries and applications. We're looking for a skilled Principal Software Engineer with deep expertise in embedded software development, particularly in embedded C/C++. As a Principal Software Engineer Embedded Systems, you will be hands-on, responsible for writing and reviewing code, solving complex technical challenges, and providing guidance to the software development team. Approximately 20% of your time will be dedicated to mentoring and offering technical leadership to the team. Key Responsibilities for the Principal Software Engineer - Embedded Systems, Reading: Hands-on programming in embedded C/C++. Work on low-level embedded software within an operating system environment. Lead high-level design decisions and collaborate with the software team to define and optimize software development processes, including architectural design, implementation guidelines, configuration management, and validation/verification practices. Perform detailed reviews of all phases of the software lifecycle and provide comprehensive reports. Skills and Experience Required for the Principal Software Engineer - Embedded Systems: Strong background in embedded software development with significant experience in embedded C/C++. Expertise in low-level software, real-time operating systems, and hardware interfaces. Proven ability to make strategic design decisions and influence team direction. Experience as a Principal, Lead, or Chief Engineer with leadership responsibilities beyond just coding. This position offers hybrid working on a weekly basis, combining flexibility with the opportunity to lead in a dynamic and innovative environment.