← Ver todas las vacantes / Embedded Software Engineer
Senior

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