Embedded Software Manager
Our innovative technology client is seeking an Embedded Software Manager to join their research team to be a part of concept development of new products within the business. This is a varied role working on a variety of projects from connectivity, sensors, microcontrollers, hardware, AI, machine learning and much more. This will suit someone with a strong embedded Electronics Engineering background looking for a fast-paced dynamic leadership role managing a team of 15 engineers.
The Embedded Software Manager will be responsible for the management of the Embedded Software Engineers within Technical Research.
The Technical Research team is responsible for a number of disciplines, including motor drive design, heater control, battery management software, and sensor systems, all of which use real-time embedded software. The team work with several of the New Product Innovation Teams, including Floor Care, Environmental Control, New Category and Hair Care, to deliver technologies into our ever-expanding product portfolio. The work often involves shorter-term projects targeting specific products, alongside longer-term research projects. Technologies transfer to the downstream development teams once they reach suitable maturity.
We are looking for an experienced embedded software engineer with people management experience to run the embedded software team within Technical Research
Applicants should be proficient in creating and developing embedded software with particular focus on system architecture, implementation and verification.
The role involves:
Working with the different sub teams within Technical Research, as well as New Product Innovation, other research groups and development teams to gain an in depth product understanding, while using your expert knowledge of the latest technologies to create innovative systems and solutions.
Ensuring the team develops the concept and demonstrates designs are robust and viable for use in product through detailed laboratory testing, prior to handover to the development teams.
Ensuring the team generates suitable test specifications to ensure product reliability and robustness at key stages during code development. This includes the development of test environments including simulation, emulation and hardware/test equipment interactions.
Assisting in the personal development of the team and undertaking regular performance conversations with the team.
Owning the software architecture, implementation and verification of the embedded software/hardware.
Driving the technical direction for new developments and ensuring that our software is developed both efficiently and to our quality requirements.
Leading software design review activities.
Working with the other disciplines to solve complex system level problems and find software solutions.
Ensuring all software requirements and architecture details are fully documented by the team.
Ensuring review packs are ready for project milestones and are to a produced to a high standard. The review packs typically include concept specifications, requirement and specification documentation, risk registers, FMEAs and design guides.
Driving the team to develop/use tools to optimise software.
Pulling together slide packs for presentation to the leadership team when required.
Researching into new and emerging technologies through visiting conferences, trade shows, reading papers and patents.
Minimum Bachelors degree in Computing Science, Electronic and Computer Engineering, or other relevant discipline with industrial experience in a relevant industry.
Minimum technical knowledge:
In-depth knowledge of common software design methodologies and embedded software development in C/C++.
Familiar with the requirements for real time embedded software applications and demonstrable experience of working within real time constraints.
Knowledge of Linux and FreeRTOS based systems.
Ability to derive software requirements from product level requirements and derive own requirements when limited information is available.
Detailed knowledge of low-level embedded microcontroller-based motor control systems and associated power systems.
Significant experience of developing for ARM platforms including Cortex M series devices.
In depth understanding and application of version control systems.
Good quality engineering process understanding and appreciation.
Familiar with creating requirement documents.
Experience of working in a laboratory environment.
Use of lab equipment to set up experiments and to take precise measurements.
Essential Management skills:
Previous people management experience.
Proven ability to build and manage supplier relationships.
Ability to manage several projects running concurrently.
Budget setting and management.
Essential behavioural skills:
Good analytical ability and attention to detail.
Ability to communicate appropriate, concise and accurate information in written and verbal format to engineers and up to executive level.
Ability to adapt or generate imaginative and innovative ideas, in line with core company values.
Ability to multi-task and plan effectively when working with a variety of project teams.
Excellent team working skills.
Additional experience that is desirable:
Use of Atlassian tools (JIRA, Fisheye, Crucible etc)
Knowledge of Python / Matlab scripting
Developing low level device driver software
Verilog / VHDL and FPGA experience
Knowledge of a wide range of communication interfaces including I2C, SPI, UART desirable
Practical experience of building and testing electronic hardware will be beneficial
Experience of brushless motor drive systems, heater control, lithium-ion battery management or sensor systems.
27 days holiday plus eight statutory bank holidays
Performance related bonus
Private medical insurance
Free on-site parking
Subsidised café and restaurants
Discounts on company products
To apply please send an MS Word formatted version of your CV across for our review and consideration.