Post a job

Senior Embedded/Firmware Engineer (with Linux)

Remote contractor Location eligibility not specified

If you're an Embedded / Firmware Engineer who is just as comfortable on a Linux board as on a microcontroller, and you know that a boot hang or a flaky BLE connection is rarely "just a software bug," we'd love to talk.

We're looking for a freelancer with a strong embedded foundation: C/C++, hardware-aware debugging, and real embedded Linux experience (Yocto or Buildroot, U-Boot, kernel, device tree, drivers). The role is not tied to one platform: depending on the project, you might work on a Cortex-A SoC, a Raspberry Pi-class board, or a Cortex-M microcontroller next to it.

You'd join us on a freelance, time & material basis: you're paid for the hours you actually work on real client projects. We're ready to start right away. The first three months are about getting to know each other, and if it works, we'd love to bring you into our core team with a fixed salary and the full benefits package. Not a promise, a real possibility we actively root for.

About intent

We've been designing and co-creating connected devices since 2008. Wearables, smart audio, health-tech hardware, and IoT products for clients like Oura, BOSE, Neurable, and McIntosh. We're a 60+ person, fully remote team that works at the intersection of physical and digital products.

At intent, firmware is not treated as an isolated layer. It sits right in the middle of hardware, mobile, cloud, QA, and product decisions. That means you'll work with people who care about what actually happens on the device, not just what the ticket said should happen.

Who this role is NOT for

If you only want to be handed a perfectly written spec, disappear for two weeks, and return with a pull request, we're probably not your people.

Embedded work at intent means dealing with real-world constraints: imperfect hardware, changing client needs, boards that boot on the bench and not in the enclosure, radios that behave differently in the lab than in the field, power trade-offs, vendor BSPs, datasheets, errata, and edge cases that don't always show up on day one.

We're looking for someone who asks "why?" before jumping into implementation, who can read a schematic and question it, and who understands that "it works on my desk" is not the same as "it works in the product."

Requirements

  • 4+ years of professional experience in embedded or firmware development.

  • Strong hands-on experience with C / C++ for embedded systems.

  • Hands-on experience with embedded Linux build systems such as Yocto Project or Buildroot.

  • Good understanding of the Linux kernel, device drivers, and the device tree.

  • CI/CD experience for embedded projects (e.g., GitHub Actions, Jenkins, GitLab CI).

  • Experience with bootloaders, particularly U-Boot.

  • Experience with embedded constraints: timing, memory, peripherals, boot time, and power consumption.

  • Ability to debug firmware and hardware-adjacent problems using practical tools: JTAG/SWD, serial logs, logic analyzers, and oscilloscopes.

  • Comfort reading schematics, datasheets, technical documentation, and errata.

  • Familiarity with common embedded interfaces such as UART, SPI, I2C, GPIO, or similar.

  • Proficiency with Bash and/or Python for automation and testing.

  • Solid Git skills and comfort collaborating on GitHub: pull requests, code reviews, shared repos.

  • Good command of written and spoken English, minimum B2.

  • Ownership, self-reliance, and responsibility for assigned work.

  • Clear communication, with engineers, PMs, QA, and clients.

  • A problem-solving mindset over line-counting.

Nice to have

  • Experience with different platforms (even exotic ones).

  • Embedded Linux toolchains, drivers, and user-space apps.

  • Experience with microcontrollers (ARM Cortex-M) and RTOS such as FreeRTOS or Zephyr.

  • Bluetooth / BLE beyond the basics: GATT design, pairing and bonding, connection parameters, throughput and power trade-offs, and secure OTA/DFU.

  • Networking: TCP/IP, Wi-Fi, Ethernet, and IoT protocols such as MQTT.

  • Multimedia and audio: GStreamer, V4L2, ALSA, I2S, codecs, graphics acceleration.

  • Security: Secure Boot, OP-TEE, TrustZone, encrypted filesystems, cryptography.

  • Sensor integration (IMU, PPG, biosignals) and power profiling.

  • Containerization on embedded devices (e.g., Docker).

  • A portfolio of personal projects on a GitHub or GitLab profile.

What you'll do

  • Design, develop, and maintain a custom embedded Linux distribution using Yocto or Buildroot.

  • Bring up new hardware platforms, working closely with the hardware team to debug issues from schematics to software.

  • Develop and maintain the BSP and bootloaders (e.g., U-Boot), and customize the Linux kernel, including writing and debugging drivers (e.g., I2C, SPI, UART, MIPI-CSI/DSI).

  • Write robust, efficient C/C++ code for system services and applications.

  • Optimize system performance: boot time, memory usage, and power consumption.

  • Implement and maintain system security features such as Secure Boot and encrypted filesystems.

  • Debug firmware and hardware-adjacent issues using JTAG/SWD, serial logs, logic analyzers, oscilloscopes, and vendor tooling.

  • Collaborate with hardware, mobile, QA, backend, product, and client-side engineering teams to solve cross-functional device problems.

  • Participate in requirements discussions, technical planning, architecture decisions, estimations, and delivery planning.

  • Test firmware releases, investigate issues found during development or QA, and maintain technical documentation.

  • Share knowledge and contribute to better engineering practices within our Firmware & Hardware chapter.

How we work

Fully remote. We have an office in Warsaw. The team operates between 10:00 and 18:00 CET, and that's when most meetings happen. Depending on the project, occasional evening calls with US-based clients (up to ~20:00) may happen, always scheduled in advance, never a surprise. You'll be part of the Firmware & Hardware chapter for knowledge-sharing, and simultaneously on a project squad led by a PM for day-to-day delivery.

What we offer

  • 120-180 PLN/h net B2B, depending on your experience

  • Truly flexible hours (most of the team works 10-18 CET, but you organize your day)

  • Fully remote (all Europe)

  • Access to our internal knowledge-sharing: tech talks, experiments, side projects

No sugarcoating: during the freelance period there's no paid leave or medical benefits. Those come with the permanent contract, and we're transparent about that upfront.

Your first weeks

We don't throw you into the deep end on day one. New engineers go through a structured ramp-up period before landing on target projects: you'll work alongside the team, get paired with a technical buddy, and tackle progressively bigger tasks so both sides can see how the collaboration feels. Feedback comes early and often, no one waits three months to tell you something isn't working. We believe in fast, honest signals: if it's great, you'll know. If something needs adjusting, you'll hear about it while there's still time to adjust.

Recruitment process

The entire process is in English. All interviews are recorded for internal evaluation purposes.

  1. HR call (~45 min, casual)

  2. Technical meeting (~90 min, with the technical team)

  3. Final feedback within a few days

Source: the employer's careers page. Last checked 2026-10-27. Posted 2026-10-27.

Applications happen on Intent's own site. View role and apply

Get jobs like this by e-mailAt most one e-mail a day, only when something new matches. Unsubscribe in one click.

More from Intent

All jobs at Intent

Similar jobs

All software development jobs

Hiring for a role like this? See how employers fill a role fast.