Software Developers

software developers.webp
$132,270 Median Wage (2023)
125,100 Projected job openings (2023-2033)
17.9% Projected growth (2023-2033)

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.

Experience Requirements Overview

  • Job Zone Four: Considerable Preparation Needed
  • 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.
  • Most of these occupations require a four-year bachelor's degree, but some do not.
  • Employees in these occupations usually need several years of work-related experience, on-the-job training, and/or vocational training.

Detailed Work Activities

  • Analyze project data to determine specifications or requirements.
  • Collaborate with others to resolve information technology issues.
  • Collaborate with others to determine design specifications or details.
  • Provide technical support for software maintenance or use.
  • Coordinate software or hardware installation.

Tasks

  • Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  • Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
  • Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  • Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
  • Coordinate installation of software system.
  • 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.
  • Develop or direct software system testing or validation procedures, programming, or documentation.
  • Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
  • Monitor functioning of equipment to ensure system operates in conformance with specifications.
  • Obtain and evaluate information on factors such as reporting formats required, costs, or security needs to determine hardware configuration.
  • Prepare reports or correspondence concerning project specifications, activities, or status.
  • Recommend purchase of equipment to control dust, temperature, or humidity in area of system installation.
  • Specify power supply requirements and configuration.
  • Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
  • Supervise and assign work to programmers, designers, technologists, technicians, or other engineering or scientific personnel.
  • Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
  • Train users to use new or modified equipment.

Data Source: This page includes information from the O*NET 28.0 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. O*NET® is a trademark of USDOL/ETA. This page includes Employment Projections program, Occupational Employment and Wage Statistics program, U.S. Bureau of Labor Statistics.