Description
Design and develop embedded solutions for multi-core microprocessor architectures.
Responsibilities
- Develop firmware on ARM/ARC or equivalent embedded multi-core architectures.
- Write effective, portable, and reusable C/C++ code for embedded systems.
- Implement inter-process communication (IPC) mechanisms and resolve multi-threading deadlocks.
- Troubleshoot low-level drivers and hardware integration using electronics lab equipment.
- Analyze complex firmware to identify controller or hardware issues.
Required Skills
- 6+ years of relevant experience in embedded systems development.
- Proficiency in C/C++ and SQL.
- Experience with OOA/OOD methodologies and design patterns.
- Hands-on experience with communication protocols: RS232, I2C, SPI, and CAN.
- Experience with socket programming and protocols such as TCP and UDP.
- Working knowledge of Agile/SCRUM methodologies.
- Proficiency with source control management systems, specifically GIT and TFS.
- Ability to work with cross-functional and global teams.
- Strong analytical skills for troubleshooting hardware and firmware.
Preferred Skills
- Experience in In Vitro Diagnostic or medical device design and development.
- Experience writing device drivers or working with FPGA based SoCs.