Career & application guide

Software Developers

Get to know the work, the skills that matter, and how to prepare your next application.

Explore this guide

What do software developers do?

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.

This describes a U.S. occupation, not a live vacancy. Individual employers may use different titles and requirements.

Job titles to recognize in your search

O*NET reports these titles for this occupation. Compare the responsibilities in each posting before treating titles as equivalent.

  • Application Developer
  • Application Integration Engineer
  • Developer
  • DevOps Engineer (Development Operations Engineer)
  • Infrastructure Engineer
  • Software Architect
  • Software Developer
  • Software Development Engineer

Core tasks to compare with a job posting

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

Prepare an application for this occupation

  1. Check the employer’s requirements, location, schedule and any licenses against your situation.
  2. Choose two or three tasks above that match the posting and your actual experience.
  3. Build a resume evidence worksheet using the skills and software relevant to that employer.
  4. Practice explaining your contribution, decisions and results before an interview.

Ready to plan your search?

Start with software developers as your target. You can change your role in the quiz and tell us your location and work preferences.

Explore related occupations