General Summary: Participates in design, implementation, and integration of software or independently performs complex software development tasks related to records management and automation. Formulates /defines specifications for complex operating software programming applications or modifies/maintains complex existing applications using engineering releases and utilities from the manufacturer. Designs, codes, tests, debugs, and documents those programs. Provides overall operating system, such as sophisticated file maintenance routines, large telecommunications networks, various middleware, and software programs and applications. Assists all phases of software systems programming applications. Evaluates new and existing software products.