· Research, design, and develop computer and network software or specialized utility programs.
· Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
· Update software or enhance existing software capabilities.
· May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements.
· May maintain databases within an application area, working individually or coordinating database development as part of a team.
· Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
· Develop or direct software system testing or validation procedures, programming, or documentation.
· Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
· Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
· Prepare reports or correspondence concerning project specifications, activities, or status.
· Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
· Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
· Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
· Determine system performance standards.
· Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
· Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
· Monitor functioning of equipment to ensure system operates in conformance with specifications.
· Coordinate installation of software system.
· Obtain and evaluate information on factors such as reporting formats required, costs, or security needs to determine hardware configuration.
· Train users to use new or modified equipment.
Bachelor’s degree in Computer Science, Information Technology, ComputerInformation Systems, or related field.