Senior Embedded Software Engineer
Job description
Senior Embedded Software Engineer (Linux / Qt / Bare-Metal / Hardware-Centric)
We are seeking a Senior Embedded Software Engineer with 8+ years of experience in hardware-centric embedded systems development. The ideal candidate has deep expertise in Embedded Linux, strong proficiency with the Qt framework, and solid hands-on experience with bare-metal and microcontroller-based systems. Familiarity with LabVIEW is highly valued.
This role requires close collaboration with hardware, electronics, and systems teams, and involves working across the full embedded stack—from low-level hardware bring-up to user-facing applications.
Mindset: You thrive in the "undefined" space of a startup where you are often the first person to run code on brand-new hardware
Requirements
Key Responsibilities
- Design, develop, and maintain embedded software for Linux-based and microcontroller-based platforms
- Participate in board bring-up activities for new hardware (MCUs and SoCs)
- Develop and customize bootloaders, BSPs, Linux kernels, and device drivers
- Implement bare-metal firmware and low-level drivers for microcontrollers
- Develop embedded applications and HMIs using Qt (C++ / Qt Widgets / QML)
- Interface directly with hardware peripherals and communication buses
- Debug complex system-level issues across hardware, firmware, and application layers
- Optimize software for performance, memory usage, boot time, and reliability
- Contribute to system architecture, technical decisions, and design reviews
- Ensure high software quality through documentation, code reviews, and best practices
- Provide technical guidance and mentorship to junior engineers
- Required Qualifications
- 8+ years of hands-on embedded software development experience
- Strong expertise in Embedded Linux, including:
- Bootloaders (e.g. U-Boot)
- Kernel configuration, customization, and debugging
- Device driver development
- Filesystem and rootfs generation
- Cross-compilation toolchains
- Proven experience in bare-metal and microcontroller programming
- Strong C/C++ skills for both Linux and resource-constrained systems
- Experience with common microcontroller families (ARM Cortex-M or equivalent)
- Solid understanding of hardware-software interaction and low-level system behavior
- Hands-on experience with embedded interfaces:
- I2C, SPI, UART, CAN, GPIO, Ethernet, USB
- Proficiency with debugging tools such as gdb, JTAG/SWD debuggers, logic analyzers, and oscilloscopes
- Experience with Git and structured development workflows
- Preferred / Highly Valued
- LabVIEW experience, or integration with LabVIEW-based test, measurement, or control systems
- Experience with Yocto Project or Buildroot
- RTOS experience (e.g. FreeRTOS or similar)
- Experience working with custom hardware in industrial, medical, or automation domains
- Knowledge of low-power design, real-time constraints, and embedded performance optimization
- Exposure to automated testing and CI/CD for embedded systems
Responsibilities
Professional Skills
- Strong analytical and problem-solving mindset
- Ability to work independently and take ownership of complex embedded platforms
- Clear, professional technical communication skills
- Comfortable collaborating across hardware, firmware, and system engineering teams
- Attention to detail with a focus on reliability and long-term maintainability
Specialty
Required skills





