Responsibilities:
- 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.
Job Requirements:
- 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.