C++ / Qt Embedded Linux Developer
Dobu Technology LLC
$ 1,200 • Published Date: • Remote
Description
About the Role
Dobu builds electronics and automation products, including home automation systems. Many of our products run Linux with a touch-screen user interface. We are looking for a C++ developer who builds excellent Qt applications and is equally comfortable working deep in Linux – system services, device drivers and real hardware. The developer will own the Linux software on our devices from prototype to production and work closely with our hardware, firmware and backend teams.
Main Responsibilities
• Develop Qt applications (Qt Quick/QML and Qt Widgets) in modern C++ for embedded touch panels and desktop tools.
• Develop and maintain Linux kernel device drivers and device-tree configurations for our custom boards.
• Build and maintain embedded Linux images (Yocto or Buildroot), bootloader and system services.
• Connect the Linux device to our microcontroller modules and backend (UART, SPI, I²C, RS-485, CAN, MQTT, REST).
• Bring up and debug new ARM boards together with the hardware team.
• Test software, write documentation and manage releases for production.
Must-Have Requirements
• Degree in Computer, Electronics or Electrical Engineering, Computer Science (or equivalent experience).
• 4+ years of professional development in modern C++ (C++14/17).
• 3+ years of Qt development, with at least one shipped product.
• Strong C programming and Linux development skills, including cross-compiling for ARM targets.
• Good understanding of operating-system concepts: processes, threads, scheduling, memory, interrupts, IPC.
• Electronics background: can read schematics and datasheets; knows UART, SPI, I²C, GPIO.
• Uses Git daily.
• Good English communication.
Highly Valuable
• Linux kernel device driver development (platform, I²C/SPI, GPIO, input, display drivers).
• Strong system-level understanding of Linux: boot process, memory management, kernel synchronisation, real-time Linux.
• Device tree, U-Boot and board bring-up experience.
• Yocto Project or Buildroot.
• Linux graphics stack: DRM/KMS, Wayland, EGLFS.
Nice-to-Have
• Industrial or home automation protocols: Modbus, CAN, KNX, Zigbee, MQTT.
• Python for test tools and scripts.
• Microcontroller firmware experience (bare-metal C or FreeRTOS).
• OTA update and secure boot experience.
• Open-source contributions (Linux kernel, Qt, Yocto).
Who Is a Good Fit
• Takes ownership and works independently.
• Enjoys solving problems across all layers – from the user interface down to drivers and hardware.
• Cares about a clear, responsive user experience.
• Communicates clearly and gives regular progress updates, especially when working remotely.
• Enjoys working in a small, collaborative team.
Responsibilities
- Develop and maintain embedded software applications using modern C++ (C++14/17) and Qt framework components including Qt Quick/QML and Qt Widgets.
- Design, implement, and debug Linux device drivers to support hardware interfaces such as UART, SPI, I²C, and GPIO on embedded platforms.
- Perform ARM cross-compilation and manage build processes using Yocto, Buildroot, or similar tools.
- Integrate with Linux system components, including kernel device drivers, device trees, and bootloaders like U-Boot.
- Collaborate with hardware and firmware teams to ensure seamless software-hardware integration.
- Participate in all phases of product development lifecycle, including requirements analysis, design, testing, and deployment of embedded applications.
- Optimize software for performance, memory usage, and reliability within resource-constrained embedded environments.
- Resolve technical challenges efficiently and provide solutions to improve product quality and stability.
- Generate and maintain technical documentation related to software design, development, and testing procedures.
- Ensure adherence to coding standards and best practices for embedded Linux software development.
- Work independently to complete tasks and communicate progress effectively in English with cross-functional teams.
- Stay updated with the latest developments in embedded Linux and Qt technologies to continuously improve software solutions.
Experience
4 Years
Apply By
Required Skills
- Qt And QML
- Embedded Linux
- Linux Device Drivers
- Qt Framework Development
- Linux
- Qt Quick/QML
- Qt Widgets
- ARM Cross-Compilation
- C++
Nice to Have Skills
- Linux System-Level Concepts
- Git
- U-Boot
- Buildroot
- yocto
- GPIO
- I²C
- SPI
- UART
- Device Trees