Bachelor's degree in Computer Engineering, Computer Science, or a related technical field.
Minimum of 5 years of experience in software engineering.
At least 3 years of real-time embedded software experience.
Proficiency in Real-Time Operating Systems (RTOS), Linux, and bare-metal implementation of embedded systems.
Experience with embedded device drivers such as TCP/IP, UART, I2C, SPI, PCIe, preferably on Linux.
Strong development skills in C or C++ with at least 3 years of experience.
Solid understanding of multi-threading and multi-processing concepts and debugging techniques.
Proficiency with Microsoft Office tools including PowerPoint, Word, and Excel.
Ability to obtain and maintain a U.S. Department of Defense Secret security clearance.
Experience in initial hardware start-up and troubleshooting.
Familiarity with oscilloscopes and logic analyzers.
Ability to update existing communications protocol specified in JSON.
Knowledge of real-time video concepts and performance testing.
Experience with modern software development processes, including configuration management, static analysis, defect tracking, peer review, and agile development life cycles.