Role Summary
* In this role, you will serve as a subject matter expert in embedded software development, translating system requirements into maintainable, high-performance solutions for C5 and Cyber programs. You will contribute across all phases of the Software Development Life Cycle (SDLC), collaborate within an Agile Scrum team, support hardware-software integration, and help shape product and infrastructure development strategies. Education & Job Requirements
* Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
* Minimum 6+ years of experience developing applications on simulated and target hardware.
* Experience using Real-Time Operating Systems (RTOS) such as Green Hills Integrity, VxWorks, or similar.
* U.S. Citizenship
* Strong oral and written communication skills. Professional Attributes
* Ability to lead technically and mentor junior software engineers.
* Strong analytical and root cause investigation skills.
* Ability to work independently and within a cross-functional, multi-discipline team.
* Commitment to quality, documentation, and disciplined engineering processes.
* Ability to operate effectively in an Agile/Scrum environment. Preferred Skills
* Object-oriented design and implementation experience with modeling and UML tools such as IBM Rhapsody or MagicDraw/Cameo.
* Experience developing device drivers and Board Support Packages (BSP) for real-time embedded systems.
* Experience with Modern C++ techniques.
* Experience with Information Assurance and/or cryptography.
* Experience with NSA Type 1 certification or other software certifications such as DO-178.
* Proficiency in C/C++ and Python for embedded real-time systems. Job Duties & Functions
* Provide subject matter expertise in embedded software application development and guide software engineers.
* Translate system and software requirements into functional, maintainable code solutions.
* Investigate root causes of complex technical issues and implement corrective solutions.
* Apply computer science, engineering, and mathematical principles to software development for target hardware.
* Collaborate with cross-functional engineering teams to develop and evaluate hardware-software interfaces and system performance requirements.
* Participate in all phases of the SDLC including requirements analysis, design, implementation, integration, and formal testing.
* Develop software test plans, procedures, and technical documentation.
* Utilize modeling tools and laboratory equipment to conduct experiments, prototype solutions, and evaluate results.
* Participate in peer reviews and identify, track, and resolve software defects. Physical Requirements & Environment
* Work performed primarily in a secure office or laboratory environment.
* Ability to sit and work at a computer for extended periods.