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: Application Developer, Application Integration Engineer, Developer, Infrastructure Engineer, Network Engineer, Software Architect, Software Developer, Software Development Engineer, Software Engineer, Systems Engineer
This title represents an occupation for which data collection is currently underway.
View report: Summary Details Custom Easy Read Veterans Español
Tasks | Technology Skills | Tools Used | Detailed Work Activities | Job Zone | Credentials | Wages & Employment | Job Openings | Additional Information
- 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.
Find occupations related to multiple tasks
back to top
- Access software — Citrix ; PuTTY
- Administration software — Software distribution management software
- Analytical or scientific software — IBM SPSS Statistics ; Minitab ; SAS ; The MathWorks MATLAB (see all 9 examples)
- Application server software — Docker ; Red Hat OpenShift ; Red Hat WildFly ; Spring Boot (see all 7 examples)
- Backup or archival software — Backup and archival software; Veritas NetBackup
- Business intelligence and data analysis software — IBM Cognos Impromptu ; MicroStrategy ; Oracle Business Intelligence Enterprise Edition ; Qlik Tech QlikView (see all 5 examples)
- Cloud-based data access and sharing software — Dropbox; Google Drive ; Microsoft SharePoint ; Slack
- Cloud-based management software — Amazon Web Services AWS CloudFormation ; IBM WebSphere ; Splunk Enterprise
- Communications server software — IBM Domino
- Computer based training software — Moodle
- Configuration management software — Perforce Helix software; Puppet ; Visible Razor; VMware (see all 10 examples)
- Content workflow software — Atlassian JIRA ; Emerald Software Group Emerald Green Office
- Customer relationship management CRM software — Blackbaud The Raiser’s Edge; Oracle Eloqua; Salesforce software
- Data base management system software — Amazon DynamoDB ; Elasticsearch ; MongoDB ; Oracle PL/SQL (see all 24 examples)
- Data base reporting software — Microsoft SQL Server Reporting Services ; Oracle Business Intelligence Discoverer; SAP Business Intelligence; SAP Crystal Reports (see all 7 examples)
- Data base user interface and query software — Airtable; Apache Hive ; Blackboard software; Transact-SQL (see all 18 examples)
- Data mining software — Google Analytics
- Desktop communications software — Skype
- Desktop publishing software — Adobe Systems Adobe InDesign ; Microsoft Publisher
- Development environment software — Advanced business application programming ABAP ; Apache Ant ; Common business oriented language COBOL ; Go (see all 60 examples)
- Device drivers or system software — Microsoft DirectX
- Document management software — Adobe Systems Adobe Acrobat ; Document management system software
- Electronic mail software — Google Gmail; IBM Notes ; Microsoft Exchange ; Microsoft Outlook
- Enterprise application integration software — Atlassian Bamboo ; Extensible markup language XML ; Microsoft SQL Server Integration Services SSIS ; Oracle Fusion Middleware (see all 7 examples)
- Enterprise resource planning ERP software — Microsoft Dynamics GP ; NetSuite ERP ; Oracle Hyperion ; Oracle JD Edwards EnterpriseOne (see all 10 examples)
- Enterprise system management software — IBM Power Systems software
- Expert system software — Ansible software
- File versioning software — Apache Subversion SVN ; Git ; Version control software
- Filesystem software — File server software
- Financial analysis software — Delphi Technology; Oracle E-Business Suite Financials
- Graphical user interface development software — Graphical user interface GUI builder software; Graphical user interface GUI design software; Salesforce Visualforce
- Graphics or photo imaging software — Adobe Systems Adobe Creative Cloud ; JamBoard; SmugMug Flickr ; Trimble SketchUp Pro (see all 10 examples)
- Information retrieval or search software — Apache Avro; LexisNexis
- Instant messaging software — Blink; GroupMe
- Internet protocol IP multimedia subsystem software — Voice over internet protocol VoIP system software
- Metadata management software — CA Erwin Data Modeler; Talend Data Fabric
- Network conferencing software — LogMeIn GoToWebinar
- Network monitoring software — Nagios ; Wireshark
- Network operation system software — IBM z/OS operating systems
- Network security and virtual private network VPN equipment software — Virtual private networking VPN software
- Object or component oriented development software — Apache Groovy ; Apache Spark ; Objective C ; Scala (see all 33 examples)
- Object oriented data base management software — Hibernate ORM; PostgreSQL
- Office suite software — LibreOffice; Microsoft Office
- Operating system software — Microsoft Windows Server ; Oracle Solaris ; Red Hat Enterprise Linux ; UNIX Shell (see all 23 examples)
- Platform interconnectivity software — Migration software
- Portal server software — Apache HTTP Server
- Presentation software — Google Slides; Microsoft PowerPoint
- Process mapping and design software — Microsoft Visio
- Program testing software — Fault testing software; Hewlett Packard LoadRunner; JUnit ; Selenium (see all 24 examples)
- Project management software — Confluence ; Microsoft Project ; Microsoft Teams; Oracle Primavera Enterprise Project Portfolio Management
- Requirements analysis and system architecture software — IBM Rational RequisitePro; Requirements management software; Unified modeling language UML
- Spreadsheet software — Google Sheets; Microsoft Excel
- Storage networking software — Amazon Simple Storage Service S3 ; Storage area network SAN software
- Transaction security and virus protection software — Encryption software; McAfee; Symantec
- Transaction server software — Customer information control system CICS; IBM Middleware; Microsoft Internet Information Service IIS; Object Management Group Object Request Broker (see all 5 examples)
- Video conferencing software — Cisco Systems Webex; FaceTime; Google Meet; LogMeIn GoToMeeting (see all 5 examples)
- Video creation and editing software — Adobe Systems Adobe After Effects ; Flipgrid; Screencastify; YouTube (see all 5 examples)
- Web page creation and editing software — Adobe Systems Adobe Dreamweaver; Google Sites; LinkedIn ; Social media sites
- Web platform development software — Backbone.js ; Microsoft ASP.NET Core MVC ; React ; Spring Framework (see all 28 examples)
- Word processing software — 3M Post-it App; Google Docs ; Microsoft OneNote; Microsoft Word (see all 5 examples)
Hot Technology — a technology requirement frequently included in employer job postings.
back to top
Detailed Work Activities
- Analyze project data to determine specifications or requirements.
- Modify software programs to improve performance.
- Supervise information technology personnel.
- 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.
- 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.
- Teach others to use computer equipment or hardware.
Find occupations related to multiple detailed work activities
back to top
|Title||Job Zone Four: 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 real estate brokers, sales managers, database administrators, graphic designers, chemists, art directors, and cost estimators.|
|SVP Range||(7.0 to < 8.0)|
back to top
back to top
Wages & Employment Trends
Median wage data for Software Developers and Software Quality Assurance Analysts and Testers.
Employment data for Software Developers and Software Quality Assurance Analysts and Testers.
Industry data for Software Developers and Software Quality Assurance Analysts and Testers.
|Median wages (2020)||$52.95 hourly, $110,140 annual|
|Employment (2020)||1,847,900 employees|
|Projected growth (2020-2030)||Much faster than average (15% or higher)|
|Projected job openings (2020-2030)||189,200|
|Top industries (2020)||
Professional, Scientific, and Technical Services
Source: Bureau of Labor Statistics 2020 wage data and 2020-2030 employment projections . “Projected growth” represents the estimated change in total employment over the projections period (2020-2030). “Projected job openings” represent openings due to growth and replacement.
back to top
Job Openings on the Web
back to top
Sources of Additional Information
Disclaimer: Sources are listed to provide additional information on related jobs, specialties, and/or industries. Links to non-DOL Internet sites are provided for your convenience and do not constitute an endorsement.
- Association for Computing Machinery
- Computing Research Association
- IEEE Computer Society
- National Center for Women and Information Technology
- Occupational Outlook Handbook: Software developers, quality assurance analysts, and testers
- Project Management Institute
back to top