Position:
Embedded Systems Developer (C++, QT/QML, RTOS, Linux)
Location:
Pune
Experience:
3+ years
Domain:
Embedded Systems / Automotive / Consumer Electronics (Specify the domain if necessary)
Job Summary:
We are looking for a skilled Embedded Systems Developer with experience in C++, ROS, and Linux to join our development team. The ideal candidate will have hands-on experience in embedded systems development, designing efficient software solutions, and integrating advanced features for embedded devices.
Key Responsibilities:
- Design, develop, and maintain embedded software applications for various devices using C++, QT/QML, and ROS.
- Develop user interfaces using QT/QML for embedded systems, ensuring efficient performance and smooth user interaction.
- Work with ROS (Robot Operating Systems) to ensure high-performance, low-latency, and reliable execution of embedded applications.
- Develop and optimize software for embedded systems running on Linux platforms.
- Integrate hardware and software components, ensuring seamless communication between device firmware and higher-level application software.
- Collaborate with cross-functional teams including hardware engineers, firmware developers, and UI/UX designers to deliver complete embedded solutions.
- Troubleshoot, debug, and optimize existing embedded software for performance and reliability.
- Participate in code reviews, unit testing, and documentation to ensure high-quality software delivery.
- Stay updated with the latest trends in embedded systems and propose improvements to the existing software stack.
Required Skills & Qualifications:
- Programming Languages:
- Strong expertise in C++, Robot OS for embedded applications.
- Experience with Linux
- Linux:
- Strong knowledge of Linux development, particularly in embedded Linux (Yocto, Buildroot, etc.).
- Experience with configuring and customizing the Linux kernel for embedded platforms.
- Embedded Hardware Interface:
- Experience in interfacing with embedded hardware such as sensors, actuators, displays, etc.
- Knowledge of communication protocols like I2C, SPI, UART, CAN, etc.
- Additional Skills:
- Good understanding of embedded software design principles, memory constraints, and performance optimization.
- Strong debugging and problem-solving skills.
- Familiarity with version control systems such as Git.
- Experience with unit testing, integration testing, and debugging tools (GDB, JTAG, etc.).
- Experience with Agile development methodologies.
- Education: Bachelor’s or Master’s degree in Computer Science, Electronics, Embedded Systems, or a related field.
Desired Skills:
- Familiarity with multithreading and synchronization in real-time systems.
- Experience with hardware-level programming (e.g., working with microcontrollers, FPGA).
- Understanding of automotive or consumer electronics standards for embedded systems.
- Knowledge of networking protocols (TCP/IP, MQTT, etc.) in embedded systems.