Embedded Software Engineer
Summary
Senior Embedded Software Engineer builds Linux-based firmware for industrial/IoT devices using C++, Python, and Yocto; designs secure OTA updates and industrial protocols like Modbus/CAN Bus.
Ver todas las vacantes / Embedded Software Engineer Senior
Publicado hace 134 días
Embedded Software Engineer
$45,000 MXN/mes brutos
4-6 años de exp. Remoto Full time
About the Role
- Would you like to build the software that powers next-generation connected devices? We’re looking for a Senior Embedded Software Engineer to design and develop production-grade software for Linux-based embedded systems used in high-impact industrial and IoT environments.
- In this role, you’ll work close to the operating system layer, developing reliable and secure embedded applications while collaborating with cross-functional engineering teams. You’ll contribute to the architecture, performance, and reliability of systems that interact directly with hardware, communication buses, and industrial protocols.
About You
- You have solid experience developing embedded software for Linux-based systems.
- You are comfortable working close to the operating system layer, including kernel configuration, system services, and debugging tools.
- You enjoy building reliable and high-performance software using modern C++ and Python.
- You collaborate effectively with firmware, hardware, and platform engineering teams.
- You communicate clearly across technical stakeholders and contribute actively to architecture discussions.
- You are passionate about building robust systems that run in real-world industrial environments.
What You’ll Be Doing
- Design and develop embedded software running on Linux-based systems.
- Customize and maintain embedded Linux distributions using the Yocto build system.
- Configure and debug Linux kernels, system services, and process management.
- Develop high-performance applications using modern C++.
- Build automation tools and development utilities using Python.
- Implement and debug industrial communication protocols such as Modbus RTU/TCP and CAN Bus.
- Design and maintain secure over-the-air update workflows with rollback mechanisms.
- Troubleshoot field issues related to networking, timing, hardware communication, and system updates.
- Contribute to system architecture decisions and embedded platform design.
- Write unit and integration tests to ensure reliability and maintainability.
- Participate in code reviews and maintain high engineering standards.
- Collaborate in Agile development environments and contribute to sprint planning and delivery.
What We’re Looking For
- A proactive and solution-oriented mindset when addressing complex embedded systems challenges.
- Strong analytical and debugging skills in hardware-adjacent software environments.
- Ability to prioritize tasks and deliver features in sprint-based development cycles.
- Curiosity and willingness to continuously learn new tools and technologies.
- Strong communication and collaboration skills across multidisciplinary teams.
- Ownership mentality and attention to quality, reliability, and long‑term maintainability.
Technical Requirements
Must-Haves
- 6+ years of experience in embedded software development.
- Strong proficiency in C++ and Python.
- Hands‑on experience with Embedded Linux environments.
- Experience with the Yocto build system for embedded distributions.
- Experience with RAUC or similar over‑the‑air update frameworks.
- Familiarity with system debugging tools such as gdb, strace, and tcpdump.
- Experience implementing Modbus RTU/TCP and CAN Bus communication protocols.
- Understanding of multithreading, concurrency, and inter‑process communication.
- Solid knowledge of networking fundamentals.
- Experience with Git workflows and CI/CD pipelines.
- Familiarity with containerized development environments such as Docker or Docker Compose.
Nice-to-Haves
- Experience with Boost.Asio or asynchronous C++ programming patterns.
- Experience with messaging systems such as ZeroMQ or MQTT.
- Familiarity with time synchronization systems such as NTP or RTC handling.
- Experience implementing A/B partitioning strategies and secure boot chains.
- Familiarity with Trunk-Based Development workflows.
- Experience with unit testing frameworks such as Google Test.
- Experience working with cross‑compilation toolchains.
- Domain knowledge in electric vehicles, energy systems, industrial automation, or IoT platforms.
Skills
C++ Linux Jira
También te puede interesar
Ver todas Senior
Front End Engineer
Híbrido CDMX, México 4-6 años exp.
$106,500 MXN/mes
ReactJS TypeScript JavaScript Senior
Back End Engineer
Híbrido CDMX, México 4-6 años exp.
$106,500 MXN/mes
NodeJS TypeScript JavaScript Senior
Software Developer in Test (SDET)
Remoto Remote, México 4-6 años exp.
$75,000 MXN/mes
Selenium PyTest Python