Embedded Software Engineer - Space

Viasat, Inc.Tempe, AZ
8dOnsite

About The Position

One team. Global challenges. Infinite opportunities. At Viasat, we’re on a mission to deliver connections with the capacity to change the world. For more than 35 years, Viasat has helped shape how consumers, businesses, governments and militaries around the globe communicate. We’re looking for people who think big, act fearlessly, and create an inclusive environment that drives positive impact to join our team. This is a role for an Embedded Software Engineer within Space Infrastructure - Viasat, experienced in C/C++/Python and interested in learning the Rust programming language. You will design, develop, and integrate software for satellite payload flight control, embedded cryptographic functions, and automated test solutions. You will interface and collaborate with system, test, and hardware engineers as new capabilities are developed and transitioned into service. This position requires an experienced software engineer able to work with autonomy and able to lead trade-off studies. The candidate must show expertise in most core software development proficiencies.

Requirements

  • Bachelor's Degree or higher in Computer Science, Computer Engineering or related field
  • 5 to 6 years of design and implementation experience with embedded software in C/C++
  • 2 to 3 years of design and implementation experience with system test software in Python
  • At least 1 year of Linux OS use, ideally for an embedded environment
  • Experience with Linux, RTOS, and bare metal applications
  • Object-Oriented software design and development experience
  • Strong Design Patterns knowledge and practical experience
  • Basic understanding of OSI model layers
  • Ability to plan, track and report on team progress
  • Good oral and written communications skills
  • US citizenship
  • Ability to travel up to 10%

Nice To Haves

  • Experience with Python software development
  • Experience with Emulation Environments
  • Experience with CI/CD practices
  • Experience with AI Toolkits and Platforms (e.g. Copilot, Claude, Cursor, etc.)
  • Familiarity with tools and services like Git, GitHub, Jira, Jama, Artifactory, etc.
  • Familiarity with Rust software development
  • Familiarity with FPGA-based architectures
  • Familiarity with Linux kernel driver development/modifications
  • Familiarity with RTOS and standalone embedded applications
  • Familiarity with Ethernet standard and protocols
  • Familiarity with network security protocols (e.g. IPSec, MACsec, TLS, etc.)
  • SCRUM Product Owner and/or SCRUM Master certification
  • Familiarity with debuggers (GDB over JTAG)

Responsibilities

  • Design and implementation with embedded software in C/C++ and Rust
  • Design and implementation with embedded and system test software in C/C++ and Python
  • Design and implementation of Linux OS applications in Python, C/C++, and Rust
  • Design and implementation of FreeRTOS applications in C/C++ and Rust
  • Design and develop applications for microprocessors, embedded processors, and FPGAs
  • Design and implementation of bare metal embedded device drivers
  • Debug and resolve complex integration issues
  • Design CI/CD infrastructure and automation services
  • Find opportunities to improve product reliability and security
  • Lead design reviews and documentation tasks
  • Agile SCRUM Framework development
  • Works autonomously with little instruction to solve well-defined problems
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service