Developer III, Embedded Software
UST
About the Role
Embedded Firmware developer.
Key Responsibilities
- Design, develop, and implement embedded software for microcontrollers and microprocessors.
- Collaborate with cross-functional teams to define software requirements and specifications.
- Write clean, maintainable, and efficient code in Embedded C and other relevant programming languages.
- Conduct software testing and debugging to ensure functionality and performance.
- Optimize software for performance, memory usage, and power consumption.
- Participate in code reviews and provide constructive feedback to peers.
- Document software design, architecture, and user manuals.
- Stay updated with the latest industry trends and technologies related to embedded systems.
- Troubleshoot and resolve software issues in a timely manner.
Requirements & Tech Stack
- Familiarity with controller peripherals like Timer, PWM, DMA, External memory interface, etc.
- Good understanding of communication interfaces like SPI, I2C, USART, and USB.
- Good experience in C and Embedded C programming.
- Expertise in tools like compiler, linker, and loader.
- Good in build system scripting: Make / CMake.
- Experience handling test equipment like multimeter, logic analyzer, debuggers, etc.
- Good experience in Python (modules like NumPy, Pandas, etc.) programming for data visualization and validation.
- Good understanding of Sensor system solutions like accelerometers, gyroscopes, etc.
- Basic knowledge in signal processing.
- Experience on MEMS sensors, FPGA.
- Familiarity with ASICs, SystemC models.
- Experience with Agile development processes (Scrum) and tools.
- Ability to work with cross-functional teams and gather requirements.
Qualifications
- C
- Embedded Systems
- Python
- FPGA
- DMA
- MEMS Sensors
- USB
- SPI
- Sensors
- I2C
- USART