Responsibilities:
Design, develop, test, debug, and maintain embedded software for real-time systems.
Collaborate with hardware engineers to ensure software compatibility and functionality.
Develop low-level drivers for hardware components.
Implement networking protocols like MQTT, DDS, and video streaming protocols.
Write efficient and robust C/C++ code adhering to embedded development best practices.
Utilize version control systems like GIT and continuous integration tools like Jenkins to manage code changes.
Document code clearly and concisely for maintainability.
Perform code reviews and participate in technical discussions.
Assist in troubleshooting and resolving software-related issues.
Qualifications:
Minimum 7+ years of experience in embedded software development.
Proficiency in real-time operating systems, preferably QNX.
Expertise in networking protocols including MQTT, DDS, and video streaming protocols.
Strong C++ programming skills with a focus on embedded systems.
Familiarity with version control systems (GIT) and continuous integration tools (Jenkins).
Knowledge of UML (Unified Modeling Language) is a plus.
Ability to work independently and as part of a team.
Time management skills and ability to meet deadlines.
Education:
Bachelors/Master's in a relevant field
Any Graduate