Researches, designs, develops, and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Sets operational specifications and formulates and analyzes software requirements. May design embedded systems software. Applies principles and techniques of computer science, engineering, and mathematical analysis.
This career is part of the Information Technology cluster Programming and Software Development pathway.
A person in this career:
- Modifies existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and improve performance.
- Develops or directs software system testing or validation procedures.
- Directs software programming and development of documentation.
- Consults with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
- Analyzes information to determine, recommend, and plan installation of a new system or modification of an existing system.
- Consults with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements, or resolve customer problems.
- Designs or develops software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Prepares reports or correspondence concerning project specifications, activities, or status.
- Confers with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
- Stores, retrieves, and manipulates data for analysis of system capabilities and requirements.