At least 5 years of professional, full-time software engineering experience.
Bachelors degree in computer science, computer engineering, or an equivalent discipline.
Minimum of 5 years of professional experience using C and C++ for production-style coding.
At least 2 years of Python scripting experience.
At least 5 years of professional experience working with Linux in a software engineering context.
At least 5 years of experience developing complex multi-threaded applications.
Strong proficiency in C and C++ for embedded and systems-level programming.
Strong proficiency in Python for scripting, automation, and test development.
Experience with Linux fundamentals, including system configuration, process management, and performance considerations.
Experience with real-time operating systems (RTOS) and their application in embedded or mission-critical systems.
Experience with system deployment, including software packaging, configuration, and integration on embedded hardware.
Experience with software testing, including unit, integration, and system-level testing of embedded software and interfaces.
Experience implementing and working with hardware and software interfaces for devices and payload components.
Regularly sit, use hands and fingers to operate a computer keyboard and controls, and perform tasks requiring close, distance, peripheral, and depth vision, as well as the ability to focus.