Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers.

On the job, you would:

Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.

Develop and direct software system testing and validation procedures, programming, and documentation.

Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.

Engineering and Technology

computers and electronics

product and service development

Math and Science

arithmetic, algebra, geometry, calculus, or statistics

Arts and Humanities

English language

Basic Skills

thinking about the pros and cons of different ways to solve a problem

listening to others, not interrupting, and asking good questions

Problem Solving

noticing a problem and figuring out the best way to solve it

People and Technology Systems

figuring out how a system should work and how changes in the future will affect it

measuring how well a system is working and how to improve it

Ideas and Logic

notice when problems happen

use rules to solve problems

Math

choose the right type of math to solve a problem

add, subtract, multiply, or divide

Verbal

communicate by speaking

listen and understand what people say

People interested in this work like activities that include ideas, thinking, and figuring things out.