
Senior Embedded Software Engineer
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.1
Reclaim your time by letting our AI handle the grunt work of job searching.
We continuously scan millions of openings to find your top matches.

Job Description
What We Do
Gecko Robotics is helping the world's most important organizations ensure the availability, reliability, and sustainability of critical infrastructure. Gecko's complete and connected solutions combine wall-climbing robots, industry-leading sensors, and an AI-powered data platform to provide customers with a unique window into the current and future health of their physical assets. This enables real-time decision making to increase the efficiency and safety of operations, promote mission readiness, and protect the environment and civilization from the effects of infrastructure failure.
Role at a Glance
As a Senior Embedded Software Engineer at Gecko Robotics, you'll tackle meaningful challenges that directly impact the safety and reliability of critical infrastructure around the world. As part of the platform team, you'll develop essential building blocks and frameworks that enable exploration in mission arcs, ensuring a capable and reliable hardware foundation. You'll design, develop, deploy, and maintain embedded software for our advanced robotic inspection systems, enabling them to operate safely and effectively in some of the most demanding environments imaginable.
Collaborating closely with cross-functional teams, you'll build robust, innovative solutions that protect power plants, refineries, bridges, and other vital infrastructure-making a tangible difference in the safety and sustainability of our communities. You'll experience a diverse range of work, including firmware, Linux development, cloud technologies, and even the opportunity to deploy to the field to see your impact in action.
As an engineer at Gecko, you'll work in a hands-on, fast-paced environment. We're looking for highly motivated individuals who thrive in a startup environment and are passionate about developing great products at scale, solving challenging problems, and seeing the impact of their work. This is a unique opportunity to confront new and interesting challenges, both technically and organizationally, as our team plays a pivotal role in Gecko's hardware platform development.
What you will do
Design core technology in Gecko's embedded software platform, engaging with users in commercial and government applications and informing the vision and roadmap for shared technology within the platform. The embedded platform is essential to Gecko's field systems as it interfaces down to carrier boards, DAQs, and robotic peripherals and provides the runtime and infrastructure for shipping data collection, localization, and autonomy apps.
Take ownership of robotic software components and systems through the full development cycle (design / implementation / integration / maintenance).
Work with hardware design engineers to implement and test microcontroller firmware for a variety of applications including system control and monitoring, peripheral I/O, and motion control.
Implement robust, modular, and maintainable embedded C/C++ code for bare-metal and Linux-based systems.
Develop embedded Linux kernel drivers for integration with custom-designed hardware.
Contribute to the custom Linux distro used by Gecko's field systems.
Create a secure environment for field systems that meet DoD and other cybersecurity standards without sacrificing real-time performance.
Architect and implement state machines and event-driven systems to ensure reliable robot operation.
Debug complex embedded systems, systematically identifying root causes and implementing effective solutions.
Work on time-sensitive distributed data systems between microcontroller and Linux compute domains to support data acquisition, time synchronization, and localization.
Contribute to supporting tooling for system introspection, telemetry, deployment, and fleet configuration management.
Collaborate closely with cross-functional teams (hardware, software, autonomy, localization) to integrate embedded solutions into larger robotic systems.
Advocate for technical improvements, mentor junior engineers, and contribute to a culture of continuous learning and quality.
Ensure software safety, reliability, and maintainability through rigorous testing, validation, and documentation practices.
Participate in code reviews, providing constructive feedback and maintaining high coding standards.
Engage in system-level design decisions, balancing trade-offs between hardware, firmware, and software implementations.
Contribute to the development of automated testing frameworks and tooling to improve software quality and deployment efficiency.
Technologies We Use
Languages: Embedded C, C++, Python, Rust, Verilog / HDL.
Operating Systems: Yocto Linux, NVIDIA Jetson Linux, Bare-metal.
Hardware Platforms: NVIDIA Jetson Orin, STM32.
Communication Protocols: CAN, UART, Ethernet, I2C, SPI.
Hardware Interfaces: GPIO, Analog signals, DMA, Interrupt-driven designs.
Software Design: Linux kernel development, Loadable kernel modules, State machines, Event-driven architectures, Distributed systems, Multi-process parallel systems, IPCs and Middleware (ROS2, DDS) Real-time scheduling.
Testing & Validation: Jenkins, cmocka, GTest, GDB, Jupyter.
Tooling & Infrastructure: Version Control (Git), Dependency Management (Pip, Cargo, Conan), Build systems (CMake, Ninja, Yocto), Static analysis tools (LLVM, cppcheck), Service Management (ROS, Systemd), Dev Environments (Docker, Nix), Design Tools (C4 Architecture, PlantUML), Planning (Jira, Confluence).
About You
Required Skills
BS in Computer Engineering, Electrical Engineering, Computer Science, or related technical field.
Proficiency in embedded C programming, with experience writing structured, modular, and maintainable code.
Experience developing and deploying embedded Linux systems including kernel and driver development.
Strong debugging skills, with a systematic approach to identifying and resolving complex embedded software issues.
Familiarity with bare-metal microcontroller-based embedded systems.
Experience designing and implementing state machines and event-driven systems.
Experience with common embedded communication protocols (I2C, SPI, CAN, UART, Ethernet).
Ability to clearly document and communicate software designs and architectures.
Ability to read and interpret PCBA schematics to develop and troubleshoot firmware.
Ability to perform ad-hoc data analysis using tools such as Jupyter and Python.
Demonstrated ability to collaborate effectively with cross-functional teams and stakeholders.
Experience with software testing methodologies, including automated testing and validation.
Strong understanding of software safety, reliability, and maintainability principles.
Attention to detail shown through continuous improvements and reinforcing best practices within the team and throughout the organization.
Preferred Skills (If Applicable)
Experience with distributed systems, multi-process parallel systems, and message-passing architectures.
Detailed experience in Linux kernel development, troubleshooting, and tracing.
Experience writing custom Linux kernel modules.
Prior usage of Yocto (preferred) or Buildroot for delivering an embedded product.
Experience hardening Linux systems using DoD Security Technical Implementation Guides (STIGs) and FIPS 140-2/3 cryptography modules.
Experience mentoring junior engineers and advocating for technical improvements within a team.
Experience with software tooling and infrastructure, including dependency management, build systems, and containerization.
Experience developing scripts for build support, automation, and software testing in a common language such as Python.
Experience with modern target-based CMake.
Familiarity with real-time operating systems (RTOS) and real-time analysis.
Familiarity with system-level integration, including hardware/software co-design and full-stack embedded system development.
Familiarity with C++ or Rust.
Familiarity with STM32 microcontrollers.
Familiarity with the NVIDIA Jetson hardware platform and JetPack software ecosystem.
Familiarity with IPC frameworks and middlewares such as ROS2, DDS, ZMQ, or Zenoh.
Familiarity with Verilog or VHDL
Knowledge of low-power embedded design techniques.
Experience with fleet management, configuration management, and post-release diagnostics.
Ability to effectively communicate technical concepts to both technical and non-technical audiences.
Who We Are
At Gecko, our people are our greatest investment. In addition to competitive compensation packages, we offer company equity, 401(k) matching, gender-neutral parental leave, full medical, dental, and vision insurance, mental health and wellness support, ongoing professional development, family planning assistance, and flexible paid time off.
Gecko values collaboration, innovation, and partnership, and we believe we do our best work when we're together in person. We're an office-first culture but understand that sometimes you may need to work from home. Many people are in the office five days a week, others need a bit more flexibility. Ultimately, we care about the outcomes we achieve - and creating a culture of autonomy and trust that enables that impact.
Gecko is committed to creating a culture of inclusion and belonging, and we are proud to be an equal opportunity employer. We believe it is our collective responsibility to uphold these values and encourage candidates from all backgrounds to join us in our mission to protect today's infrastructure and give form to tomorrow's. All qualified applicants will be treated with respect and receive equal consideration for employment without regard to race, color, creed, religion, sex, gender identity, sexual orientation, national origin, disability, uniform service, veteran status, age, or any other protected characteristic per federal, state, or local law. If you are passionate about what you do and want to use your talents to support our critical mission, we'd love to hear from you.
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.
