Bachelor’s Degree in Electrical Engineering, Computer Engineering, or related field
5+ years of experience in embedded systems development
Proficiency in C++, Python, Linux
Knowledge of ARM-based processors (e.g., Cortex-M, Cortex-A series) and their peripherals
Ability to design robust and efficient embedded systems, including processor selection, memory interfaces, peripheral integration (I2C, SPI, UART, CAN, Ethernet), and power management strategies
Proficiency in reading schematics, understanding PCB layouts, and using lab equipment (oscilloscopes, logic analyzers, multimeters, power supplies) for in-depth debugging and root cause analysis of complex hardware / software interactions
Excellent problem-solving and analytical skills
Strong communication and interpersonal skills, with the ability to work effectively in a team environment
Responsibilities :
Design and develop robust and efficient embedded system architectures, including processor selection, memory interfaces, peripheral integration, and power management strategies
Collaborate with hardware design teams on schematic capture, PCB layout review, and component selection, ensuring designs meet performance, reliability, and manufacturability requirements
Develop, optimize, and debug low-level embedded software in C / C++ for microcontrollers and embedded Linux platforms, including device drivers, bootloaders, firmware, and bare-metal applications
Configure, customize, and optimize embedded Linux distributions (e.g., Yocto, Buildroot) for specific hardware platforms, and develop Linux kernel modules and user-space applications
Utilize Python for hardware validation, automated testing, data analysis, rapid prototyping, and scripting build / deployment processes
Perform in-depth debugging and root cause analysis of complex hardware / software interactions using oscilloscopes, logic analyzers, debuggers (JTAG / SWD), and other lab equipment
Develop and execute comprehensive test plans for embedded systems, including functional testing, stress testing, performance benchmarking, and system-level integration testing
Create and maintain detailed technical documentation, including design specifications, software architecture documents, test plans, and user manuals
Work closely with cross-functional teams including mechanical engineers, software engineers, test engineers, and manufacturing to ensure seamless product development from concept to production
Participate in code reviews, promote best practices for embedded software development, and contribute to continuous improvement of engineering processes