Research, design, develop, and test operating systems-level software, compilers, and network distribution software for industrial, communications, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Monitor functioning of equipment to ensure system operates in conformance with specifications.
Develop or direct software system testing or validation procedures.
Direct software programming and development of documentation.
Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements, or resolve customer problems.