Key Responsibilities:
- Design, develop, and implement embedded software using C, C++, or assembly language.
- Develop drivers for hardware peripherals such as sensors, actuators, and communication interfaces.
- Integrate hardware and software components to create a functional embedded system.
- Optimize system performance, memory usage, and power consumption.
- Conduct unit testing, integration testing, and system testing.
- Troubleshoot and debug software and hardware issues.
- Collaborate with hardware engineers, firmware engineers, and other stakeholders.
- Stay abreast of the latest technologies and industry trends in embedded systems.
- Contribute to the improvement of development processes and methodologies.
Required Skills and Experience:
- Bachelor s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 3 to 10 years of professional experience in embedded systems development.
- Strong proficiency in C/C++ programming.
- Experience with microcontrollers, microprocessors, and FPGAs.
- Knowledge of real-time operating systems (RTOS) and embedded Linux.
- Experience with hardware debugging tools and emulators.
- Solid understanding of digital and analog electronics.
- Excellent problem-solving and analytical skills.
- Strong communication and interpersonal skills.
- Ability to work independently and as part of a team.