Senior Principal Program Protection Engineer (Embedded Software Engineer)
Job Summary
The Software Product Assurance Center’s Software Security Sensors and Effectors Department is seeking a highly skilled individual to join our software team where you will employ Agile development techniques on embedded targets to continuously develop and deploy critical capabilities to the warfighter.
Qualifications
- Requires a bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and 10 years’ experience.
- Experience in an Agile and DevSecOps environment developing and maintaining software on an embedded processors/microcontroller.
- Demonstrated ability to work closely across other engineering disciplines (Systems Engineering, Hardware Engineering, etc.) to debug system and board level issues using software tools.
- Experience working in a Linux environment with ability to modify and maintain Linux Kernel root file systems.
- Strong knowledge of building up and maintaining a code base built with CMake and Google Test.
- Experience designing, implementing, testing, or deploying real-time embedded software solutions.
- Willingness to learn new techniques and apply critical thinking and problem-solving skills to diagnose customer issues.
- Knowledge of modern computer architectures and hardware technologies including: x86, ARM Architectures, Field Programmable Gate Arrays (FPGAs).
- Working knowledge of the Linux Kernel development and device drivers for the Linux Kernel.
- Experience with bare-metal software development.
- Experience using version control systems such as Git or Subversion.
Qualifications We Value
You must have a bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and 10 years’ experience. You must also have experience in an Agile and DevSecOps environment developing and maintaining software on an embedded processors/microcontroller. You must demonstrate ability to work closely across other engineering disciplines (Systems Engineering, Hardware Engineering, etc.) to debug system and board level issues using software tools. You must have experience working in a Linux environment with ability to modify and maintain Linux Kernel root file systems. You must have strong knowledge of building up and maintaining a code base built with CMake and Google Test. You must have experience designing, implementing, testing, or deploying real-time embedded software solutions. You must be willing to learn new techniques and apply critical thinking and problem-solving skills to diagnose customer issues. You must have knowledge of modern computer architectures and hardware technologies including: x86, ARM Architectures, Field Programmable Gate Arrays (FPGAs). You must have working knowledge of the Linux Kernel development and device drivers for the Linux Kernel. You must have experience with bare-metal software development. You must have experience using version control systems such as Git or Subversion.