Gecko Robotics logo

Senior Embedded Software Engineer

Gecko Robotics

Pittsburgh, PA
Full Time
Senior
2 days ago

Job Description

About the Role

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. As a Senior Embedded Software Engineer, you'll develop essential building blocks and frameworks for Gecko's hardware foundation, designing, deploying, and maintaining embedded software for advanced robotic inspection systems operating in demanding environments. You'll collaborate with cross-functional teams to build robust solutions that protect vital infrastructure, including power plants, refineries, and bridges, making a tangible difference in community safety and sustainability.

Key Responsibilities

  • 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.
  • 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 system control, 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.

Requirements

  • 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.

Nice to Have

  • 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.

Working at Gecko Robotics

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.

Apply Now

Job Details

Posted AtJun 20, 2025
SalaryCompetitive salary
Job TypeFull Time
Work ModeRemote
ExperienceSenior

About Gecko Robotics

Website

geckorobotics.com

Company Size

251-500 employees

Location

Pittsburgh, PA

Industry

Building Inspection Services

Get job alerts

Set up personalized alerts for your job search and get tailored job digests for close matches