Job Overview:
Condor Pacific Ltd. is looking for an experienced Embedded Software Engineer
proficient in C programming to join our team. This role requires a strong understanding of communication protocols and the ability to implement complex algorithms for embedded systems. The ideal candidate will work on designing, developing, and optimizing software for embedded devices, collaborating with hardware teams to ensure seamless integration and efficient performance.
Responsibilities:
- Develop embedded software using C for microcontrollers and processors in resource-constrained environments.
- Design and implement communication protocols (e.g. SPI, UART, USB, I2C, Ethernet) for efficient data transfer and interaction between embedded devices.
- Implement and optimize algorithms
for real-time processing, control systems, and signal processing within embedded systems.
- Collaborate closely with hardware engineers to integrate software with hardware, ensuring accurate communication and data handling.
- Debug and optimize embedded code for performance, memory efficiency, and real-time constraints.
- Conduct unit testing
and support system-level debugging using tools like oscilloscopes, logic analyzers, and debuggers.
Required Skills and Qualifications:
- 5+ years of C programming
with experience in embedded systems development
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering
- Strong knowledge and hands-on experience with communication protocols such as I2C, SPI, UART, CAN, or Ethernet.
- Ability to work effectively in a collaborative team environment.
- Solid understanding of hardware-software integration and low-level programming.
Preferred Skills:
- Knowledge of memory management and power optimization techniques in embedded systems.
- Familiarity with bare-metal programming or real-time operating systems (RTOS).
- Experience with version control systems (e.g., Git).
- Hands-on experience with debugging tools (e.g., JTAG, logic analyzers, oscilloscopes).
- Experience with microcontrollers or ARM Cortex-M series.
- Familiarity with development environments like MPLab or GCC.
- Background in developing software for safety-critical applications (e.g., automotive, medical, aerospace).