3 months ago
Pune, IndiaMid Level / Senior
Responsibilities
- Develop and maintain firmware in C/C++ for control functions, communication protocols, and drivers running on Linux or a real-time operating system.
- Analyze project requirements and contribute to firmware design and project planning.
- Understand and update software design documents when requirements change.
- Coordinate and interface with global design, development, and functional teams.
- Conduct software peer reviews and code reviews.
- Recommend plans to improve software quality and develop readable, robust, reliable, and well-structured code.
- Maintain sustaining projects.
Requirements
- Bachelor of Engineering in Computer Science or Electronics Engineering, or equivalent.
- 4 to 6 years of experience in firmware development.
- C experience is required, with C/C++ firmware-development experience.
- Experience with microcontrollers, Digital Signal Processors, RTOS, Wi-Fi or Wi-Fi stack development, Zigbee, Ethernet, peripherals, and drivers is required.
- Experience with ADC, PWM, comparators, and DAC peripherals is required.
- Experience with CAN, I2C, SPI, Ethernet, and SNMP communication protocols is preferred.
- Real-time operating system experience is preferred.
- Ability to review code for readable, robust, and reliable operation.
- Effective written and spoken English communication, good interpersonal skills, and strong teamwork.
