Embedded Software Engineer

Tomorrow.ioGolden, CO
7hHybrid

About The Position

Tomorrow.io is hiring an Embedded Software Engineer to join our Space & Sensors team. In this role, you’ll design, develop, and maintain Linux-based embedded systems that power next-generation radar and remote-sensing technologies across space-borne and terrestrial platforms. Your mission will be to build reliable, maintainable embedded Linux platforms that enable Tomorrow.io’s electronic products to operate accurately and consistently in demanding real-world environments. You’ll collaborate closely with hardware, FPGA, systems, and application software engineers, translating sensing and space requirements into robust drivers, board support packages (BSPs), and production-ready platforms. This role offers strong opportunities for cross-functional growth — looking down the stack to understand how RTL and hardware interact with embedded software, and up the stack to support and enable application-layer systems. Please note that this position is a hybrid role, and the team collaborates in person twice weekly at our Golden, Colorado office.

Requirements

  • 3+ years of hands-on experience in embedded software development.
  • Strong experience developing Embedded Linux systems on custom hardware.
  • Hands-on expertise in Linux kernel and user-space driver development.
  • Proven experience creating and maintaining Board Support Packages (BSPs).
  • Deep familiarity with Yocto / OpenEmbedded, including build system customization.
  • Solid understanding of Linux internals, particularly on ARM-based embedded systems.
  • Proficiency in C (primary) and C++.
  • Experience with cross-compilation, build systems, and debugging tools, including gcc, gdb, cmake, strace, perf, valgrind, and QEMU.
  • Comfort working with Git, CI/CD workflows, and scripting/automation using Bash and Python.
  • Exposure to FPGAs and HDLs (Verilog or VHDL), or a strong interest in learning RTL concepts.
  • Collaborative, detail-oriented, and structured, with openness to feedback across disciplines

Responsibilities

  • Design, develop, and maintain Linux drivers, BSPs, and Yocto-based Linux distributions.
  • Lead hardware bring-up, system integration, and low-level debugging on custom hardware platforms.
  • Collaborate with hardware, FPGA, and systems engineers to ensure cohesive end-to-end system behavior.
  • Support application-layer software teams by delivering stable, well-documented embedded platforms.
  • Debug and diagnose complex system issues using JTAG/SWD, logic analyzers, and Linux debugging tools.
  • Contribute to cross-disciplinary discussions and continuous improvement of processes and products.

Benefits

  • Comprehensive health benefits
  • Unlimited paid time off
  • Relocation assistance may be offered/available for certain roles.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service