Job Description
Job Summary We are seeking a skilled Embedded Software Engineer to develop and support embedded control systems for advanced engineering solutions. In this role, you will be responsible for firmware development, system integration, and troubleshooting of embedded platforms, with a focus on STM32-based systems. You will work closely with cross-functional teams to deliver high-quality, reliable embedded solutions in a fast-paced engineering environment. Key Responsibilities Develop and maintain embedded software for STM32-based control systems. Write, test, debug, and optimise firmware in C for performance, stability, and maintainability. Develop supporting tools and scripts using Python to improve development and testing efficiency. Interface embedded software with hardware peripherals and communication protocols such as UART, SPI, I2C, and CAN. Perform debugging and troubleshooting of embedded systems and firmware issues, and analyse system performance to implement improvements. Collaborate with hardware and cross-functional engineering teams throughout the product development lifecycle. Participate in system testing, validation, and verification activities. Prepare and maintain technical documentation, including design specifications, test reports, and development records. Requirements Bachelor’s Degree in Electrical Engineering, Computer Engineering, Computer Science, or a related discipline. Strong programming skills in C for embedded systems development. Experience with Python programming for scripting, tooling, or test automation. Familiarity with STM32 microcontrollers and embedded systems development. Good understanding of microcontroller peripherals, hardware interfacing, and debugging tools. Knowledge of communication protocols such as UART, SPI, I2C, and CAN. Experience with embedded control systems and firmware troubleshooting. Ability to work independently and collaboratively in a team-oriented environment. Preferred Qualifications Familiarity with versi