About the Role
We are looking for a skilled C++ Qt/QML Developer with experience in developing software for embedded systems and automotive applications. The ideal candidate will have strong hands-on expertise in C++, Qt/QML, Linux, multithreading, memory management, and embedded software development.Experience in automotive infotainment systems, CAN/J1939 protocols, and vehicle communication will be an added advantage.
Key Responsibilities
- Design, develop, and maintain C++ applications for embedded Linux platforms.
- Develop user interfaces and application components using Qt/Qt Quick/QML.
- Implement efficient, reliable, and scalable software for automotive embedded systems.
- Work with Linux processes, threads, IPC mechanisms, system calls, and synchronization primitives.
- Develop and integrate software components involving CAN and vehicle communication protocols.
- Analyze requirements, design solutions, implement features, and perform unit/integration testing.
- Troubleshoot and debug issues at application, system, and hardware-integration levels.
- Optimize applications for CPU, memory, performance, and resource utilization.
- Collaborate with cross-functional teams including software, hardware, system, testing, and automotive teams.
- Participate in code reviews and follow software development and coding standards.
- Use version-control systems such as Git/SVN for source-code management.
Requirements
- 3-8 years of professional experience in C++ development, preferably on embedded Linux platforms.
- Strong proficiency in C++ and good understanding of the C++ language specification.
- Hands-on experience with Linux-based embedded systems.
- Strong understanding of OOP/OOPS concepts.
- Good knowledge of STL containers, algorithms, and the C++ Standard Library.
- Strong understanding of memory management in non-garbage-collected environments.
- Experience with multithreading, synchronization, mutexes, semaphores, condition variables, and other low-level threading primitives.
- Familiarity with Linux OS & Knowledge of real-time/embedded system concepts.
- Hands-on experience with Qt framework, including signals & slots, event handling, QObject, Qt threading, and UI development.
- Proficiency with Git/SVN or other version-control systems.
- Good debugging and problem-solving skills.
- Exposure to automotive interfaces and protocols such as CAN, UDS, LIN, or Ethernet.
- Knowledge of J1939 protocol and CAN-based vehicle communication.