Provides specific input to software components of system design, including hardware/software trade-offs, software reuse, use of Commercial Off-the-Shelf (COTS)/Government Off-the-Shelf (GOTS) solutions in place of new development, and requirements analysis and synthesis from the system level to individual software components. The Software Engineer develops, maintains, and enhances complex and diverse software systems, including processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems, based upon documented requirements.