About this Embedded systems Engineer role at Ekumen
#poweringyouringenuityΒ π
Our mission is to bridge top-level technology companies with engineering talent from across the globe. With presence in LATAM, USA and Europe, we empower companies by providing remote engineering teams of all levels tailored to the needs of each project.
Our teams are passionate about technology and thrive on challenges. We value technical expertise and a willingness to learn new things. Each development is tailored to the needs of each project, so being passionate about learning and using new languages, tools, and frameworks is part of our DNA. Our software engineering teams focus on best coding practices to ensure readability, reusability, and scalability of our systems' designs and developments.
Senior Embedded Software Engineer
Weβre looking for a Senior Embedded Software Engineer to join a project building a new generation of vision processing units (VPUs). Youβll sit between the board support package (BSP) team and the middleware and platform team that builds on it, and your job is to catch integration issues early. Before a BSP release reaches the platform team, you will already have run their integration tests against it on real hardware, filed what broke, and worked with both teams on the fix.
This is a hands-on, test-first role, and over time youβll become the go-to person for any question that crosses the boundary between the operating system and the software running on it. Youβll work with a very senior team, so weβre looking for someone independent who delivers fast and brings opinions on what to focus on next.
Your role and responsibilities:
Own the BSP integration test suites in a Python-based integration-test framework
Run them on dedicated test benches and on hardware-in-the-loop (HIL) infrastructure, validating every BSP release on real hardware before handover
File, track, and drive to resolution the issues you find
Turn what the platform team needs from the BSP into requirements and tests the BSP team can build against
Troubleshoot on hardware using logs, debuggers, and bus analyzers, bisecting problems across kernel, driver, and user-space layers
Read, debug, and modify Linux sensor and kernel drivers when the fix requires it
Work with both teams to define and implement fixes
Suggest where the team should focus next
Pass on your passion for technology and professionalism to your peers
Be receptive and empathetic with your team and technical communities
If you:
Have demonstrated experience as an embedded software developer on Linux-based products
Have strong hands-on experience troubleshooting embedded systems (logs, debuggers, bus analyzers)
Use C/C++, Rust, and Python in your daily work
Have experience with Yocto-based, customizable BSPs: meta-tegra or a comparable layer for NVIDIA Jetson-class compute
Have experience reading, debugging, and modifying Linux sensor and kernel drivers
Write tests alongside your changes and run them in continuous integration
Work independently, deliver quickly, and propose priorities rather than wait for them
Are comfortable in technical discussions with senior engineers and can propose solutions
Have solid technical English, spoken and written
Itβd be a plus if you:
Have run CI for embedded targets with hardware-in-the-loop test farms
Have experience with pytest (or similar) and test-report tooling
Have worked with camera, IMU, or other sensor pipelines on embedded Linux
Are familiar with CAN or Ethernet network stacks on embedded systems
Have worked as a liaison between a platform team and the teams that build on it
Have used requirements management tooling and requirement-to-test traceability
Have contributed to open source projects
Are an active member of a tech community or have done public speaking on technical topics
Join us to be part of a dynamic community where your skills and contributions truly matter!