Skip navigation

Software Developers - 15-1252.00

O*NET-SOC Description

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.

Sample of Reported Job Titles

No information available.

SOC Occupation Groups

Related Occupations

No information available.


  • 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.

Detailed Work Activities

  • Analyze project data to determine specifications or requirements.
  • Apply mathematical principles or statistical approaches to solve problems in scientific or applied fields.
  • Assess database performance.
  • Assign duties or work schedules to employees.
  • Collaborate with others to determine design specifications or details.
  • Collaborate with others to resolve information technology issues.
  • Communicate project information to others.
  • Coordinate software or hardware installation.
  • Design software applications.
  • Develop performance metrics or standards related to information technology.
  • Develop testing routines or procedures.
  • Document technical specifications or requirements.
  • Identify information technology project resource requirements.
  • Manage information technology projects or system activities.
  • Modify software programs to improve performance.
  • Monitor computer system performance to ensure proper operation.
  • Prepare data for analysis.
  • Provide recommendations to others about computer hardware.
  • Provide technical support for software maintenance or use.
  • Supervise information technology personnel.
  • Teach others to use computer equipment or hardware.

Military Crosswalk Titles

  • Applications Developer (Marine Corps - Enlisted)
  • Classic Wizard Configuration Maintenance Analyst (Navy - Enlisted)
  • Combat Systems - Software Design (Navy - Commissioned Officer only)
  • Computer Systems Programming (Air Force - Enlisted)
  • Computer Systems Programming Apprentice (Air Force - Enlisted)
  • Computer Systems Programming Craftsman (Air Force - Enlisted)
  • Computer Systems Programming Helper (Air Force - Enlisted)
  • Computer Systems Programming Journeyman (Air Force - Enlisted)
  • Digital Computer System Programmer (Navy - Commissioned or Warrant Officer)
  • Electronics Technician (Coast Guard - Enlisted)
  • Fire Controlman (AEGIS) (Navy - Enlisted)
  • Fire Controlman (Navy - Enlisted)
  • Information System Technician (Coast Guard - Enlisted)
  • Information Systems Technician (Navy - Enlisted)
  • Intelligence Specialist (Coast Guard - Enlisted)
  • Missile And Space Systems Maintenance (Air Force - Enlisted)
  • Missile And Space Systems Maintenance Apprentice (Air Force - Enlisted)
  • Missile And Space Systems Maintenance Craftsman (Air Force - Enlisted)
  • Missile And Space Systems Maintenance Helper (Air Force - Enlisted)
  • Missile And Space Systems Maintenance Journeyman (Air Force - Enlisted)
  • Software Development Officer (Air Force - Commissioned Officer only)
  • Software Development Officer, Software Engineer (Air Force - Commissioned Officer only)
  • Software Development Specialists (Air Force - Enlisted)
  • Sonar Technician (Surface) (Navy - Enlisted)

Apprenticeship Crosswalk Titles

  • Application Developer
  • Commercial Drone Software Developer

DOT Crosswalk Titles

  • Software Engineer