EMBEDDED SOFTWARE ENGINEER (AVIONICS)

Company Details

MAKING HUMANITY MULTIPLANETARY.

SpaceX was founded under the belief that a future where humanity is out exploring the stars is fundamentally more exciting than one where we are not. Today SpaceX is actively developing the technologies to make this possible, with the ultimate goal of enabling human life on Mars.

EMBEDDED SOFTWARE ENGINEER (AVIONICS)

As an embedded software engineer on the Avionics digital design team, you will be designing, developing, and testing platform and application software that operates safety critical logic, sensors, optical and communications systems on Starship, Human Landing System, Falcon, Dragon, and large satellite constellations.

RESPONSIBILITIES:

  • Board bring-up of next-generation Linux-based flight computers, RF transceivers, and navigation sensors
  • Work collaboratively with signal processing, hardware, and systems engineers to build safety-critical navigation and communication systems
  • Develop prototypes to prove out key design concepts and quantify technical constraints, and once proven, build highly reliably production designs for use on operational space vehicles
  • Write high quality structured bare metal and Linux-based software for embedded processors (e.g. ARM, PowerPC, x86)
  • Implement high-efficiency data movement between FPGA fabric, software layers, networking and storage peripherals

BASIC QUALIFICATIONS:

  • Bachelor’s degree in computer science, computer engineering, electrical engineering, math, or scientific discipline
  • 2+ years of experience in systems-level C (kernels, device drivers, hypervisors)

PREFERRED SKILLS AND EXPERIENCE:

  • 5+ years of experience in systems-level C (kernels, device drivers, hypervisors)
  • Thorough understanding of first stage boot loaders, UBoot, Linux kernel, etc
  • Familiarity with RF communications, Networking, and video encoders
  • Experience shipping embedded software in high volume products or real-time products that require high reliability and fault tolerance
  • Strong understanding of embedded software principles and ability to contribute in design sessions
  • Knowledge of systems, computer architecture, FPGA SoC platforms, software development, networks, and electronics
  • Strong skills in debugging, performance optimization and unit testing
  • Fluency in POSIX shell script and Python
  • Ability to collaborate and work in large code bases
  • Ability to work effectively in a dynamic environment with changing needs and requirements
  • Ability to work independently and in a team, take initiative, and communicate effectively

ADDITIONAL REQUIREMENTS:

  • Willing to work extended hours and weekends when needed

Tagged as: software development, linux, fpga/soc platforms, hypervisors, kernels, device drivers, uboot

Visit us on LinkedInVisit us on FacebookVisit us on Twitter