We are seeking a highly skilled Embedded Software Developer with strong expertise in C, C++, Qt Framework, and Embedded Linux environments. The successful candidate will participate in the full software development lifecycle, from architecture and implementation to testing, optimization, and deployment of embedded applications running on industrial-grade hardware platforms. The ideal candidate should have extensive experience in Linux-based embedded systems, hardware integration, communication protocols, and GUI development for resource-constrained devices.
Responsibilities:
- Design and develop embedded applications using C/C++ and Qt Framework on Embedded Linux platforms.
- Develop scalable software architectures, middleware services, and system components for embedded devices.
- Integrate software with hardware interfaces and peripherals (USB, Ethernet, GPIO, SPI, I2C, CAN, Serial, etc.).
- Implement communication protocols and connectivity solutions including TCP/IP, MQTT, REST APIs, and WebSocket.
- Perform debugging, testing, performance optimization, and software validation.
- Apply secure coding practices and support software reliability, integrity, and security requirements.
- Collaborate with hardware, firmware, QA, DevOps, and backend teams while maintaining technical documentation.
Requirements:
- Bachelor's or Master's degree in Computer Engineering, Computer Science, Electrical Engineering, Embedded Systems, or a related field.
- 5+ years of Embedded Software Development experience.
- Strong hands-on experience with C/C++, Qt Framework, and Embedded Linux.
- Experience with software architecture, debugging, performance optimization, and industrial or embedded products.
Technical Skills:
- Expert-level C/C++ programming skills.
- Strong knowledge of Qt (Qt Widgets, QML) and Embedded Linux.
- Experience with Buildroot, Yocto, device drivers, and hardware interfaces.
- Knowledge of multithreading, IPC, and real-time software concepts.
- Experience with communication protocols such as TCP/IP, MQTT, HTTP/HTTPS, CAN, Modbus, and Serial communication.
- Familiarity with Git, debugging tools (GDB, Valgrind, Wireshark), software security, and CI/CD practices.
Competencies:
- Strong problem-solving and analytical skills.
- Excellent communication and documentation abilities.
- Ability to work independently and collaboratively in cross-functional teams.
- Commitment to software quality and continuous learning.