Senior Flight Software Engineer

PlanetSan Francisco, CA
4hHybrid

About The Position

Planet’s Flight Software Team is responsible for all of the embedded software that powers our diverse fleet of Superdove, Skysat, Pelican, and Tanager satellites. The software we build and maintain deploys to orbiting spacecraft hundreds of kilometers away and spans many functional verticals, including navigation and avionics, payload control, radio software, and supporting tooling and infrastructure. We collaborate closely with many other teams at Planet, including the Payload, EE, RF, Ground Software, and Missions teams, to deliver reliable and innovative solutions that ensure the success of Planet’s missions. As a Senior Flight Software Engineer at Planet, you will drive the definition, development, maintenance, and optimization of this critical software. Our mission is to create seamless, intuitive systems that enable spacecraft operators, analysts, and engineers at Planet to interact reliably with our assets in space. We strive to minimize operational burden and automate all aspects of satellite operations. In this role, you will solve a wide range of complex engineering challenges in a fast-paced environment. You will define and implement new APIs, refine existing ones, and evaluate and select appropriate software technologies for given use cases. You will lead complicated root cause analyses which may cross software components as well as hardware domains; at times the target you’re debugging will be hundreds of kilometers away with limited bandwidth and periodic windows for communication. You will help decompose high-level functional requirements into actionable implementation roadmaps, and design robust and well-tested abstractions that ensure system scalability and maintainability. You will help design and deploy critical infrastructure, ensuring it meets operational demands and scales effectively to support Planet’s evolving missions. Finally, you will collaborate with operators and other key stakeholders to iteratively refine these systems, ensuring they meet today’s needs while advancing Planet’s broader mission to deliver insights that change how we see the world. This is a full-time, hybrid role which will require you to work from our San Francisco office 3 days per week.

Requirements

  • Bachelor’s degree in CS, CE, EE, or a related field; OR equivalent work experience
  • 6+ years of professional experience in developing C/C++ applications, preferably targeting both Linux- and RTOS-mediated runtimes (FreeRTOS, ChibiOS, Zephyr, RTEMS, QNX, VxWorks…)
  • Familiarity with Python for use in data analysis, test development, and target characterization
  • Expertise in software development for embedded systems, including experience with real-time schedulers, task prioritization, deterministic execution, and memory-constrained environments.
  • Excellent communication skills, including the ability to explain technical concepts and tradeoff spaces to a variety of stakeholders such as engineers, satellite operators, and engineering project managers.
  • A track record in leading complex projects and delivering impactful results in embedded software development.
  • Hands-on experience with hardware debugging tools such as logic analyzers, oscilloscopes, and protocol analyzers to troubleshoot and validate embedded systems.
  • Familiarity with IPv4, IPv6, and application-level network transport protocols
  • Experience working with chip-to-chip protocols such as CAN, UART, SPI, and I2C
  • Professional experience working under agile development using the Git version control system

Nice To Haves

  • Extensive experience in Linux/Unix systems programming, including low-level interactions such as memory-mapped files, network protocol development, and process memory management.
  • Extensive experience writing software which targets a variety of ARM microcontrollers (especially STM), developing against multiple kernels and real-time operating environments.
  • Proficiency in writing software which targets FPGA softcores, such as uBlaze or RISC-V architectures.
  • The ability to drive interdisciplinary collaboration and provide technical leadership across teams.
  • A passion for electrical engineering and proficiency for debugging complex interactions between hardware and software using benchtop equipment.
  • Experience building and deploying custom Linux targets using Yocto, buildroot, and uboot
  • Extensive experience with containerization technologies like Docker or lxc

Responsibilities

  • Architect, design, and implement robust, scalable, well-tested, and maintainable software solutions for embedded systems that meet strict performance and reliability requirements.
  • Lead root cause investigations and implement comprehensive fixes for complex defects across a range of targets and runtimes, including bare-metal, RTOS, and Linux-based application code.
  • Work with stakeholders to drive the development and optimization of system interfaces for satellite functionality, ensuring high performance and reliability.
  • Partner with cross-functional teams, including payload, EE, and ground control, to define and implement end-to-end solutions for satellite operations.
  • Evaluate and recommend new technologies, tools, and methodologies to advance the capabilities of Planet’s embedded systems.
  • Provide technical leadership in planning and executing critical projects, balancing technical trade-offs, and aligning with organizational goals.
  • Collaborate closely with team members and other stakeholders to define specifications, develop component API’s, and write functional tests and documentation.
  • Mentor and guide more junior engineers, fostering a culture of technical excellence and continuous learning within the team.

Benefits

  • Comprehensive Medical, Dental, and Vision plans
  • Health Savings Account (HSA) with a company contribution
  • Generous Paid Time Off in addition to holidays and company-wide days off
  • 16 Weeks of Paid Parental Leave
  • Wellness Program and Employee Assistance Program (EAP)
  • Home Office Reimbursement
  • Monthly Phone and Internet Reimbursement
  • Tuition Reimbursement and access to LinkedIn Learning
  • Equity
  • Commuter Benefits (if local to an office)
  • Volunteering Paid Time Off
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service