Embedded Software Developer
In this role, you will be required to meet with clients and engineering teams to determine the project requirements, design the software architecture, and run tests to ensure the functionality of embedded systems.
To be a successful embedded developer, you should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. A skilled embedded developer should be able to develop optimized embedded code within hardware constraints and easily identify inefficiencies or software errors.
- Meeting with clients, designers, and engineering teams to define technical requirements.
- Designing program architecture based on project requirements and hardware specifications.
- Writing software code, embedded programs, and system protocols.
- Conducting tests on the embedded software systems to ensure proper integration
- Troubleshooting embedded systems and diagnosing errors, malfunctions, or inefficiencies.
- Implementing effective repairs, modifications, and upgrades to the embedded code.
- Liaising with design and engineering teams to ensure process alignment.
- Managing project timelines and reporting any delays or issues to the supervisor.
- Generating diagnostic reports, technical manuals, and software development documentation.
- Maintaining embedded software systems and performing maintenance as needed.
- A bachelor’s degree in computer science, computer engineering, or similar.
- A minimum of 6 years’ experience as an embedded developer.
- Proficiency in C and C++ programming languages.
- Strong knowledge of hardware architecture such as ARM, MIPS.
- Familiarity with hardware protocols including USB, UART, I2C, and SPI.
- Experience with OS platforms / RTOS.
- Excellent diagnostic skills.
- Strong analytical and problem-solving abilities.
- Strong organizational and project management skills.
- The ability to keep abreast with the latest advancements in technology and techniques.