Umbraposted 2 days ago
$120,000 - $160,000/Yr
Full-time • Mid Level
Santa Barbara, CA

About the position

Umbra builds next-generation space systems that observe the Earth in unprecedented fidelity. Our mission: Deliver global omniscience. To stay ahead of climate change, geopolitical risk, and other major crises and issues, we need a global understanding of what is changing, where, and how fast. Umbra provides easy access to the highest quality commercial satellite data available, which is an indispensable tool for the growing number of organizations monitoring the Earth. We empower our customers to create the solutions that inform, inspire, and address our planet’s most pressing needs. We’re helping to create a brand new industry that has never meaningfully existed before. We are seeking an experienced Flight Software Engineer to play a key role in delivering embedded flight software for Umbra missions. In this role, you will be responsible for code development, system integration, documentation, peer reviews, and testing to ensure the successful deployment of mission-critical software. This position is located onsite in our Santa Barbara, CA office.

Responsibilities

  • Collaborate with a cross-functional engineering team to design, develop, and maintain reliable, fault-tolerant flight software
  • Implement software solutions that meet system requirements while managing interfaces between multiple spacecraft subsystems and ground systems
  • Develop command and control software for spacecraft flight operations, payloads, and peripheral electronics
  • Contribute to and lead test campaigns, including unit testing and automated tests at both subsystem and system levels
  • Create and maintain detailed documentation for software operations and interfaces with hardware/software products
  • Perform other professional duties as assigned

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, or a related field
  • 5+ years of proven experience in high-reliability software development
  • Expertise in developing concurrent and asynchronous code in Rust or C/C++
  • Strong background in embedded software development, including experience with Rust, C, or C++
  • Hands-on experience with kernel development using Yocto
  • Proficient in programming embedded ARM cores supporting SoC architectures, and working within Linux, RTOS, or bare-metal environments
  • Deep understanding of processor architecture and optimizing code for performance and memory efficiency
  • Experience with software development tools and processes, including source control, bug tracking, and design documentation
  • Comfortable working in a fast-paced and dynamic development environment

Nice-to-haves

  • Advanced degree in Software Engineering with 7+ years of relevant experience
  • Familiarity with Python programming
  • Experience working within an agile development framework
  • Knowledge of Ethernet, SPI, I2C, UART, and PCIe interfaces
  • Experience developing software for autonomous, fault-critical systems
  • Experience with developing, deploying, and maintaining software product lines

Benefits

  • Flexible Time Off, Sick, Family & Medical Leave
  • Medical, Dental, Vision, Life, LTD, STD (employer funded)
  • Vol Life, Critical Illness, Accidental, Hospital Indemnity, Pet Insurance (employee funded)
  • 401k with 3% non-elective company contribution
  • Stock Options
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service