Software Engineer

HIKINEX

Software Engineer

Pasadena, CA
Full Time
Paid
  • Responsibilities

    Job Responsibilities:

    The Software Simulation and Test Environments Group at the organization designs and builds high-fidelity workstation-based and hardware-in-the-loop simulators for supporting the development and testing of the avionics systems. It is a part of the organization's Autonomous Systems Division that designs, builds, and pilots spacecraft to explore remote destinations in our solar system. Looking for an experienced and self-driven software engineer with a passion for writing simulation and ground support equipment software. As a software engineer in this group, you will design, build, and test software that simulates complex avionics hardware and physical environments.

    Specific responsibilities include:

    • Working with the project lead, system engineers, and product users to generate software requirements and design for the simulation and ground support equipment software components

    • Implementing software components in C/C++ and Python per the requirements and design

    • Developing embedded real-time application programs utilizing Real-Time Operating Systems

    • Testing software and verifying requirements and design by using well-established unit testing and functional testing methodologies

    • Preparing and conducting requirements reviews, design reviews, code reviews, and test reviews throughout the software development cycle

    Required Skills:

    • Bachelor's degree in Computer Science, Computer Engineering, or related field

    • 3+ years of software engineering experience using C/C++ and Python

    • In-depth knowledge of Object-Oriented Programming concepts

    • Knowledge and hands-on programming experience in writing simulation software

    • Experience with low-level software/hardware interfaces

    • Experience with developing and debugging real-time embedded software systems

    • Good understanding of concurrent programming, multithreading, and inter-process communication mechanisms

    • Strong verbal and written communication, presentation, and interpersonal skills with ability to work in a team environment

    • Experience with continuous integration and modern source configuration control

    Desired Skills:

    • Background in dynamics simulation and integration methods

    • System engineering experience in generating, tracking, and proving successful implementation of requirements

    • Experience with driver development for real-time embedded applications

    • Hands on experience in developing embedded real-time application programs using the Green Hills Integrity RTOS and the associated software tool chain

    • Experience with continuous integration and modern source configuration control