Job Details

ID #7515344
State California
City Mojave
Job type Permanent
Salary USD $100,000 - $120,000 100000 - 120000
Source TEG Staffing, Inc.
Showed 2020-12-30
Date 2020-12-01
Deadline 2021-01-30
Category Et cetera
Create resume

Software Systems Engineer

California, Mojave, 93501 Mojave USA

Vacancy expired!

Software Engineer - Flight PlatformsSoftware engineers and programmers for flight software and mission operations software are needed. We are looking to hire individuals who have

not just maintained/made incremental improvements to an existing large codebase/product, but rather are comfortable writing a 10-20,000 line of code application in under a year, and hopping between multiple projects. Ideally, someone with substantial open-source work (personal projects, Linux Kernel contributions, etc.) Our Engineers would love to see your Github account! Candidates with experience in the High-frequency Trading (HFT), Finance/FinTech, Gaming/VR, Scientific Computing, & NewSpace industries are encouraged to apply!

Key responsibilities:
  • Architecting a robust, highly resilient and fault-tolerant distributed avionics system
  • Developing FDIR (Fault Detection, Isolation & Recovery) algorithms
  • Selecting third-party/open-source software frameworks (RTOS, middleware, bootloaders, C/C runtimes) based on system-level and schedule requirements
  • Selection of peripheral devices and interfaces for processing platforms
  • Development of drivers and board-support packages (BSP)
  • Participating in informal and formal system design reviews and fault tolerance analysis/FMECA
  • Supporting flight operations

Required skills:
  • Thorough understanding of C and C (C98 or greater)
  • Understanding of build tools and infrastructure (compilers, linkers, debuggers, C/C runtime libraries, CI tools)
  • Detailed knowledge of software design from first principles on x86, ARM & PowerPC architectures (bootloaders, startup code, C/C runtime implementation)
  • Development of hard-real time software in POSIX environments
  • Basic understanding of operating system kernel configuration fundamentals for real-time system behavior
  • Detailed understanding of common software design paradigms (message-passing, event-driven, RAII, et. al.)
  • Understanding of considerations when developing fault-tolerant software components such as error-tolerant file systems, communications agents, memory-scrubbing/EDAC

Additional useful skills:
  • Experience with Modern C (C11/14 or greater) or emerging systems languages like Rust
  • Understanding of basic EE hardware design concepts
  • Board design/bring-up experience
  • Knowledge of analog/mixed-signal systems design
  • Experience in controls/GNC (implementing state estimation, sensor fusion & similar algorithms)
  • Working knowledge of communications security (commsec) and information assurance concepts
  • Experience with Linux/UNIX, Linux kernel (scheduler, driver stack), microcontrollers (Cortex R/M)
  • Some experience with PCB design and/or board bring-up from an embedded standpoint
  • Bootloader development experience
  • Comms protocol understanding (CAN, SPI, I2C, UART, LIN, Ethernet, IEEE1588 PTP)
  • Understanding of performance/determinism trade-offs when writing hard-real-time software

Vacancy expired!

Subscribe Report job

Related jobs

»Test Engineer
2020-12-01