(Senior Principal Engineer Software) Bachelor's degree in a Science, Technology, Engineering, or Mathematics (STEM) discipline from an accredited university and 9 or more years of experience in software engineering OR a Master's degree in a Science, Technology, Engineering, or Mathematics (STEM) discipline and 7 or more years of experience in software engineering or a PhD with 4 or more years software engineering experience. The Software Engineer will participate in the full life cycle of software development, to include requirements development, modeling and design, application development, unit to CSCI testing, integration, formal system testing, release, installation, and maintenance.