Analyze and design program logic to determine the best method of accomplishing requirements for changes to existing programs, development of new programs, or to determine the cause of program malfunctions. Prepare detailed program technical specifications, design documents, and programming. Additional responsibilities may include the testing and debugging of developed programs, participating in systems unit tests, creating or updating procedural documentation, and implementing programs.
- 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.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Consult with customers about software system design and maintenance.
- Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
- Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
- Obtain and evaluate information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.
- Complex Problem Solving — Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
- Programming — Writing computer programs for various purposes.
- Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.
- Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one.
- Systems Evaluation — Identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system.
- Critical Thinking — Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
- Operations Analysis — Analyzing needs and product requirements to create a design.
- Active Listening — Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times.
- Mathematics — Using mathematics to solve problems.
- Speaking — Talking to others to convey information effectively.
- Considerable Preparation Needed
- Education: Most of these occupations require a four-year bachelor's degree, but some do not.
- Related Experience: A considerable amount of work-related skill, knowledge, or experience is needed for these occupations. For example, an accountant must complete four years of college and work for several years in accounting to be considered qualified.
- Job Training: Employees in these occupations usually need several years of work-related experience, on-the-job training, and/or vocational training.
- Job Zone Examples: Many of these occupations involve coordinating, supervising, managing, or training others. Examples include accountants, sales managers, database administrators, teachers, chemists, environmental engineers, criminal investigators, and special agents.
- Specific Vocational Preparation in years: (7.0 to < 8.0)