Wemolo
Senior Embedded Linux Engineer (all genders) - Yocto · Python · IoT Edge
5d ago
EuropeSeniorRemoteyoctopythonbashcc++docker
Responsible for designing, building, and evolving Yocto-based embedded Linux platform and developing Python applications for ARM IoT devices.
Conditions
- Flexibility & Responsibility: Your workday, your performance – Our hybrid model empowers you to focus from home, get fresh perspectives during workation, and connect in person during our Anchor Days (Tuesday to Thursday)
- Tailored Mobility: Full speed ahead – Whether it’s sustainable bike leasing or a public transport subsidy, we keep you flexible and on the move
- Measurable goals: Our agile methods allow you to directly measure your impact on our product and company success.
- Team Culture & Networking: Real connections – also beyond the day-to-day. Celebrate successes with us at legendary team events and OKR parties
- Productive Environment: Brainfood deluxe – Whether it's portafilter coffee, Bella&Bona online cafeteria, fresh fruit or our muesli bar – your wellbeing fuels your performance
- Health & Balance: Stay in balance with EGYM Wellpass or Urban Sports Club – access 1,000+ gyms and wellness spots across Germany
- Top Equipment & Ergonomics: Mac or Windows, in the office or remote – we make sure you’re set up for efficiency and comfort
- Dress Code? Your Code: What you do matters more than what you wear – dress in whatever makes you feel your best
Other
- This position sits close to the embedded world, but it isn't traditional microcontroller firmware work. You'll own the operating system foundation and platform layer of our IoT devices - building and evolving our next-generation embedded Linux image - and develop the Python application layer that runs on top of it, inside our dockerized main application.
- You'll work down at the OS and hardware boundary while shipping features up in the application layer. Typical areas include:
- Designing and maintaining our Yocto-based Linux distribution for ARM devices with limited compute
- Security on device, inter-process communication, networking, scheduling, observation
- Over-the-air (OTA) updates for both the OS and applications
- Integrating peripherals - watchdog, modem, AI accelerator - and improving their observability
- Bridging the system layer and the application layer through Python and Bash
- The work spans from driver- and kernel-level integration in C/C++, to adapting our Linux distribution with Yocto to the underlying hardware layer, to debugging system-level failures such as memory leaks, up to writing the Python software that turns hardware capabilities into product features.
- You will be expected to pass a live coding interview for this role.
- Embedded Linux Platform: Design, build, and continuously evolve the next generation of our Yocto-based Linux distribution for ARM-powered IoT devices.
- Application Development: Develop Python-based software that brings hardware capabilities to life and improves the reliability and performance of our products.
- System Integration: Work across the full stack—from kernel and driver integration to application development—connecting hardware, operating system, and product features.
- Device Reliability: Build secure, observable, and resilient systems, including OTA updates, networking, process communication, scheduling, and device monitoring.
- Debugging & Troubleshooting: Analyze and resolve complex issues across the platform, including kernel, drivers, networking, memory management, and application software.
- Ownership: Take end-to-end responsibility for your solutions, proactively improve our platform, and help shape engineering best practices.
- Embedded Linux Expertise: Several years of experience developing Embedded Linux systems and confidence working with Linux internals, GNU tools, and Bash.
- Engineering Mindset: Degree in Computer Science, Electrical Engineering, Physics, or equivalent practical experience.
- Yocto Experience: Proven experience building, customizing, and maintaining Linux images using Yocto.
- Systems Programming: Strong programming skills in at least one systems language such as C, C++, Rust, Go, or Java.
- Python Development: Experience developing Python applications or a strong motivation to make Python your primary development language.
- Low-Level Debugging: Hands-on experience with debugging tools such as GDB, tcpdump, Valgrind, UART, and JTAG, including troubleshooting memory leaks and system-level issues.
- Operating System Knowledge: Solid understanding of Linux internals, bootloaders, systemd, drivers, kernel concepts, networking, and Docker.
- Language Skills: Fluent English (C1).
- Experience operating large-scale IoT fleets.
- Knowledge of industrial hardware, cameras, AI accelerators, modems, or network devices.
- Experience with computer vision, edge AI, or machine learning.
- Familiarity with MQTT and Protocol Buffers (ProtoBuf).
- Regardless of your background, origin, gender identity, or individual circumstances, it's your personality that interests us. That's why we're committed to building a culture of collaboration and respect, where every team member has a voice, can grow, and feels valued with us.
- Then we might be the perfect match!
- Ready to own (y)our growth? 🚀