Source description
About the role
Job Summary We are seeking a skilled Embedded Software Engineer with strong expertise in C programming, device driver development, and microcontroller-based embedded systems. The ideal candidate should have hands-on experience in developing low-level software, debugging hardware interfaces, and working with embedded platforms. Knowledge of Python for automation, testing, or scripting is an added advantage. Key Responsibilities Develop, maintain, and optimize embedded software using C. Design and implement device drivers for various peripherals and hardware interfaces. Work on firmware development for microcontroller-based systems. Interface with hardware teams to debug and validate embedded software. Perform software integration, testing, and troubleshooting. Develop Python scripts for test automation, debugging, and development support. Analyze system performance and optimize code for memory and speed. Prepare technical documentation and participate in design reviews. Collaborate with cross-functional teams to deliver high-quality embedded solutions. Required Skills Strong proficiency in C programming. Experience in device driver development. Hands-on experience with microcontrollers and embedded firmware development. Good understanding of embedded systems architecture. Knowledge of communication protocols such as UART, SPI, I2C, CAN, USB. Experience with debugging tools such as JTAG, oscilloscopes, and logic analyzers. Familiarity with version control systems (Git). Preferred Skills Working knowledge of Python for scripting, automation, or testing. Experience with RTOS (FreeRTOS, ThreadX, etc.). Understanding of embedded Linux is an advantage. Knowledge of software development lifecycle and Agile methodologies. Job Summary We are seeking a skilled Embedded Software Engineer with strong expertise in C programming, device driver development, and microcontroller-based embedded systems. The ideal candidate should have hands-on experience in developing low-level software, debugging hardware interfaces, and working with embedded platforms. Knowledge of Python for automation, testing, or scripting is an added advantage. Key Responsibilities Develop, maintain, and optimize embedded software using C. Design and implement device drivers for various peripherals and hardware interfaces. Work on firmware development for microcontroller-based systems. Interface with hardware teams to debug and validate embedded software. Perform software integration, testing, and troubleshooting. Develop Python scripts for test automation, debugging, and development support. Analyze system performance and optimize code for memory and speed. Prepare technical documentation and participate in design reviews. Collaborate with cross-functional teams to deliver high-quality embedded solutions. Required Skills Strong proficiency in C programming. Experience in device driver development. Hands-on experience with microcontrollers and embedded firmware development. Good understanding of embedded systems architecture. Knowledge of communication protocols such as UART, SPI, I2C, CAN, USB. Experience with debugging tools such as JTAG, oscilloscopes, and logic analyzers. Familiarity with version control systems (Git). Preferred Skills Working knowledge of Python for scripting, automation, or testing. Experience with RTOS (FreeRTOS, ThreadX, etc.). Understanding of embedded Linux is an advantage. Knowledge of software development lifecycle and Agile methodologies.
More at TESSOLVE