Software Developers
Does this career fit your work personality?
Begin The Career Assessment Test- Best Fitting Careers
- Work Personality Strengths
- Work Style Preferences
- and more
Job Outlook
Overall employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent from 2022 to 2032, much faster than the average for all occupations.
About 153,900 openings for software developers, quality assurance analysts, and testers are projected each year, on average, over the decade. Many of those openings are expected to result from the need to replace workers who transfer to different occupations or exit the labor force, such as to retire.
Education Details
Summary of What they 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.
What Software Developers, Quality Assurance Analysts, and Testers Do
Software developers create the computer applications that allow users to do specific tasks and the underlying systems that run the devices or control networks. Software quality assurance analysts and testers design and execute software tests to identify problems and learn how the software works.
Duties
Software developers typically do the following:
- Analyze users’ needs and then design and develop software to meet those needs
- Recommend software upgrades for customers’ existing programs and systems
- Design each piece of an application or system and plan how the pieces will work together
- Create a variety of models and diagrams showing programmers the software code needed for an application
- Ensure that a program continues to function normally through software maintenance and testing
- Document every aspect of an application or system as a reference for future maintenance and upgrades
Software quality assurance analysts and testers typically do the following:
- Create test plans, scenarios, and procedures for new software
- Identify project risks and recommend steps to minimize those risks
- Implement software testing, using either manual or automated programs and exploratory testing, and evaluate results
- Document and report defects or problems with software
- Provide feedback to software developers and stakeholders regarding usability and functionality
Software developers, quality assurance analysts, and testers are involved in the entire process of creating a software program. Developers may begin by asking how the customer plans to use the software so that they can identify the core functionality the user needs. Software developers also determine other requirements, such as security. They design the program and then work closely with programmers, who write computer code. However, some developers write code themselves instead of giving instructions to programmers.
Software quality assurance analysts and testers design and execute systems to check the software for problems. As part of their testing, these workers document and track the software’s potential defects or risks. They also assess its usability and functionality to identify difficulties a user might have. After completing testing, they report the results to software or web developers and review ways to solve any problems they found.
After the program is released to the customer, a developer may perform upgrades and maintenance. Quality assurance analysts and testers run manual and automated checks to look for errors and usability problems once the software is released and after any upgrades or maintenance.
The following are examples of types of software developers:
Applications software developers design computer applications, such as games, for consumers. They may create custom software for a specific customer or commercial software to be sold to the general public. Some applications software developers create databases or programs for use internally or online.
Software engineers take a broad view of a project’s system and software requirements, planning its scope and order of work. These workers may direct software developers, quality assurance analysts, and testers.
Systems software developers create the operating systems for the public or specifically for an organization. These operating systems keep computers functioning and control most of the consumer electronics in use today, including those in cell phones and cars. Often, systems software developers also build the interface that allows users to interact with the computer.
Developers who supervise a software project from the planning stages through implementation sometimes are called information technology (IT) project managers. These workers monitor the project’s progress to ensure that it meets deadlines, standards, and cost targets. For information on IT project managers who plan and direct an organization’s IT department or IT policies, see the profile on computer and information systems (CIS) managers.
Important Qualities
Analytical skills. Software developers, quality assurance analysts, and testers must evaluate users’ needs and then design software to function properly and meet those needs.
Communication skills. These workers must be able to give clear instructions and explain problems that arise to other team members involved in development. They must also be able to explain to nontechnical users, such as customers, how the software works and answer any questions that arise.
Creativity. Software developers, quality assurance analysts, and testers must be innovative in their approaches to designing, identifying problems with, and improving computer software.
Detail oriented. These workers often need to concentrate on many parts of an application or system at the same time, and they must pay attention to detail when looking for potential areas of user error.
Interpersonal skills. Software developers, quality assurance analysts, and testers must be able to work well with others who contribute to designing, programming, and testing successful software.
Problem-solving skills. Because these workers produce software from beginning to end, they must be able to solve problems that arise throughout the design process.
Tasks On The Job
- 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.
- 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.
PERSONALITY
| Your Assessment Results |
CAREER CHARACTERISTICS
Importance
|
|---|
|
?
?  ?  ?
|
60% | Dependability  -  A tendency to be reliable, responsible, and consistent in meeting work-related obligations. | |
|
?
?  ?  ?
|
50% | Attention to Detail  -  A tendency to be detail-oriented, organized, and thorough in completing work. | |
|
?
?  ?  ?
|
40% | Intellectual Curiosity  -  A tendency to seek out and acquire new work-related knowledge and obtain a deep understanding of work-related subjects. | |
| Your Assessment Results |
IMPORTANT STRENGTHS
Importance
|
|---|
|
?
?  ?  ?
|
84% | Investigative  -  Work involves studying and researching non-living objects, living organisms, disease or other forms of impairment, or human behavior. Investigative occupations are often associated with physical, life, medical, or social sciences, and can be found in the fields of humanities, mathematics/statistics, information technology, or health care service. | |
|
?
?  ?  ?
|
77% | Conventional  -  Work involves following procedures and regulations to organize information or data, typically in a business setting. Conventional occupations are often associated with office work, accounting, mathematics/statistics, information technology, finance, or human resources. | |
APTITUDES
| Your Assessment Results |
ABILITIES | SKILLS
Importance
|
|---|
|
?
?  ?  ?
|
69% | Oral Comprehension  -  The ability to listen to and understand information and ideas presented through spoken words and sentences. | |
|
?
?  ?  ?
|
69% | Written Comprehension  -  The ability to read and understand information and ideas presented in writing. | |
|
?
?  ?  ?
|
69% | Oral Expression  -  The ability to communicate information and ideas in speaking so others will understand. | |
|
?
?  ?  ?
|
69% | Problem Sensitivity  -  The ability to tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing that there is a problem. | |
|
?
?  ?  ?
|
69% | Deductive Reasoning  -  The ability to apply general rules to specific problems to produce answers that make sense. | |
|
?
?  ?  ?
|
69% | Near Vision  -  The ability to see details at close range (within a few feet of the observer). | |
|
?
?  ?  ?
|
66% | Information Ordering  -  The ability to arrange things or actions in a certain order or pattern according to a specific rule or set of rules (e.g., patterns of numbers, letters, words, pictures, mathematical operations). | |
|
?
?  ?  ?
|
63% | Written Expression  -  The ability to communicate information and ideas in writing so others will understand. | |
|
?
?  ?  ?
|
63% | Inductive Reasoning  -  The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events). | |
|
?
?  ?  ?
|
63% | Category Flexibility  -  The ability to generate or use different sets of rules for combining or grouping things in different ways. | |
|
?
?  ?  ?
|
61% | Reading Comprehension  -  Understanding written sentences and paragraphs in work-related documents. | |
|
?
?  ?  ?
|
60% | Speech Recognition  -  The ability to identify and understand the speech of another person. | |
|
?
?  ?  ?
|
59% | Critical Thinking  -  Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions, or approaches to problems. | |
|
?
?  ?  ?
|
59% | Programming  -  Writing computer programs for various purposes. | |
|
?
?  ?  ?
|
59% | 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. | |
|
?
?  ?  ?
|
56% | Fluency of Ideas  -  The ability to come up with a number of ideas about a topic (the number of ideas is important, not their quality, correctness, or creativity). | |
|
?
?  ?  ?
|
55% | 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. | |
|
?
?  ?  ?
|
55% | Systems Analysis  -  Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes. | |
|
?
?  ?  ?
|
54% | Judgment and Decision Making  -  Considering the relative costs and benefits of potential actions to choose the most appropriate one. | |
|
?
?  ?  ?
|
53% | Originality  -  The ability to come up with unusual or clever ideas about a given topic or situation, or to develop creative ways to solve a problem. | |
|
?
?  ?  ?
|
53% | Selective Attention  -  The ability to concentrate on a task over a period of time without being distracted. | |
|
?
?  ?  ?
|
52% | Writing  -  Communicating effectively in writing as appropriate for the needs of the audience. | |
|
?
?  ?  ?
|
52% | Speaking  -  Talking to others to convey information effectively. | |
|
?
?  ?  ?
|
52% | Active Learning  -  Understanding the implications of new information for both current and future problem-solving and decision-making. | |
|
?
?  ?  ?
|
52% | Technology Design  -  Generating or adapting equipment and technology to serve user needs. | |
| Your Assessment Results |
TASKS | ACTIVITIES
Importance
|
|---|
|
?
?  ?  ?
|
90% | Working with Computers  -  Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information. | |
|
?
?  ?  ?
|
85% | Processing Information  -  Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data. | |
|
?
?  ?  ?
|
84% | Making Decisions and Solving Problems  -  Analyzing information and evaluating results to choose the best solution and solve problems. | |
|
?
?  ?  ?
|
83% | Thinking Creatively  -  Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions. | |
|
?
?  ?  ?
|
81% | Communicating with Supervisors, Peers, or Subordinates  -  Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person. | |
|
?
?  ?  ?
|
80% | Analyzing Data or Information  -  Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts. | |
|
?
?  ?  ?
|
78% | Updating and Using Relevant Knowledge  -  Keeping up-to-date technically and applying new knowledge to your job. | |
|
?
?  ?  ?
|
77% | Organizing, Planning, and Prioritizing Work  -  Developing specific goals and plans to prioritize, organize, and accomplish your work. | |
|
?
?  ?  ?
|
76% | Getting Information  -  Observing, receiving, and otherwise obtaining information from all relevant sources. | |
|
?
?  ?  ?
|
74% | Evaluating Information to Determine Compliance with Standards  -  Using relevant information and individual judgment to determine whether events or processes comply with laws, regulations, or standards. | |
|
?
?  ?  ?
|
70% | Documenting/Recording Information  -  Entering, transcribing, recording, storing, or maintaining information in written or electronic/magnetic form. | |
|
?
?  ?  ?
|
69% | Developing Objectives and Strategies  -  Establishing long-range objectives and specifying the strategies and actions to achieve them. | |
|
?
?  ?  ?
|
68% | Monitoring Processes, Materials, or Surroundings  -  Monitoring and reviewing information from materials, events, or the environment, to detect or assess problems. | |
|
?
?  ?  ?
|
67% | Identifying Objects, Actions, and Events  -  Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events. | |
|
?
?  ?  ?
|
65% | Interpreting the Meaning of Information for Others  -  Translating or explaining what information means and how it can be used. | |
|
?
?  ?  ?
|
64% | Establishing and Maintaining Interpersonal Relationships  -  Developing constructive and cooperative working relationships with others, and maintaining them over time. | |
|
?
?  ?  ?
|
58% | Scheduling Work and Activities  -  Scheduling events, programs, and activities, as well as the work of others. | |
|
?
?  ?  ?
|
57% | Providing Consultation and Advice to Others  -  Providing guidance and expert advice to management or other groups on technical, systems-, or process-related topics. | |
| Your Assessment Results |
CONTEXT | ATTRIBUTES
Importance
|
|---|
|
?
?  ?  ?
|
99% | Spend Time Sitting  -  How much does this job require sitting? | |
|
?
?  ?  ?
|
89% | Work With or Contribute to a Work Group or Team  -  How important is it to work with or contribute to a work group or team in this job? | |
|
?
?  ?  ?
|
88% | E-Mail  -  How frequently does your job require you to use E-mail? | |
|
?
?  ?  ?
|
82% | Freedom to Make Decisions  -  How much decision making freedom, without supervision, does the job offer? | |
|
?
?  ?  ?
|
82% | Importance of Being Exact or Accurate  -  How important is being very exact or highly accurate in performing this job? | |
|
?
?  ?  ?
|
80% | Determine Tasks, Priorities and Goals  -  How much freedom does the worker have in determining the tasks, priorities, or goals of the job? | |
|
?
?  ?  ?
|
72% | Contact With Others  -  How much does this job require the worker to be in contact with others (face-to-face, by telephone, or otherwise) in order to perform it? | |
|
?
?  ?  ?
|
69% | Coordinate or Lead Others in Accomplishing Work Activities  -  How important is it to coordinate or lead others (not as a supervisor or team leader) in accomplishing work activities in this job? | |
|
?
?  ?  ?
|
63% | Time Pressure  -  How often does this job require the worker to meet strict deadlines? | |
|
?
?  ?  ?
|
61% | Work Outcomes and Results of Other Workers  -  How responsible is the worker for work outcomes and results of other workers? | |
|
?
?  ?  ?
|
61% | Telephone Conversations  -  How often do you have telephone conversations in this job? | |
|
?
?  ?  ?
|
56% | Importance of Repeating Same Tasks  -  How important are continuous, repetitive, physical activities (like key entry) or mental activities (like checking entries in a ledger) to performing this job? | |
|
?
?  ?  ?
|
55% | Indoors, Environmentally Controlled  -  How often does this job require working indoors in an environmentally controlled environment (like a warehouse with air conditioning)? | |
|
?
?  ?  ?
|
54% | Spend Time Using Your Hands to Handle, Control, or Feel Objects, Tools, or Controls  -  How much does this job require using your hands to handle, control, or feel objects, tools or controls? | |
|
?
?  ?  ?
|
51% | Level of Competition  -  To what extent does this job require the worker to compete or to be aware of competitive pressures? | |
|
?
?  ?  ?
|
53% | Duration of Typical Work Week  -  Number of hours typically worked in one week. | |
Work Environment
Software developers held about 1.6 million jobs in 2022. The largest employers of software developers were as follows:
| Computer systems design and related services | 33% |
| Software publishers | 11 |
| Finance and insurance | 10 |
| Manufacturing | 8 |
| Management of companies and enterprises | 5 |
Software quality assurance analysts and testers held about 200,800 jobs in 2022. The largest employers of software quality assurance analysts and testers were as follows:
| Computer systems design and related services | 32% |
| Finance and insurance | 11 |
| Software publishers | 10 |
| Manufacturing | 7 |
| Administrative and support services | 7 |
Developing software is usually a collaborative process. As a result, developers, quality assurance analysts, and testers work on teams with others who also contribute to designing, developing, and programming successful software.
Work Schedules
Most software developers, quality assurance analysts, and testers work full time.
Getting Started
How to Become a Software Developer, Quality Assurance Analyst, or Tester
Software developers, quality assurance analysts, and testers typically need a bachelor’s degree in computer and information technology or a related field. Some employers prefer to hire developers who have a master’s degree.
Education
Software developers, quality assurance analysts, and testers typically need a bachelor's degree in computer and information technology or a related field, such as engineering or mathematics. Computer and information technology degree programs cover a broad range of topics. Students may gain experience in software development by completing an internship, such as at a software company, while in college. For some software developer positions, employers may prefer that applicants have a master’s degree.
Although writing code is not their primary responsibility, developers must have a strong background in computer programming. They usually gain this experience in school. Throughout their career, developers must keep up to date on new tools and computer languages.
Advancement
Software developers can advance to become project management specialists or computer and information systems managers, positions in which they oversee the software development process.
Contacts for More Information
For more information about software developers, quality assurance analysts, and testers, visit
Association for Computing Machinery
Association for Software Testing
Computing Research Association
For information about opportunities for women pursuing information technology careers, visit
National Center for Women & Information Technology
Similar Occupations
This table shows a list of occupations with job duties that are similar to those of software developers, quality assurance analysts, and testers.
| Occupation | Job Duties | Entry-Level Education | Median Annual Pay, May 2022 | |
|---|---|---|---|---|
|
Computer and Information Research Scientists |
Computer and information research scientists design innovative uses for new and existing computing technology. |
Master's degree | $136,620 |
|
Computer and Information Systems Managers |
Computer and information systems managers plan, coordinate, and direct computer-related activities in an organization. |
Bachelor's degree | $164,070 |
|
Computer Hardware Engineers |
Computer hardware engineers research, design, develop, and test computer systems and components. |
Bachelor's degree | $132,360 |
|
Computer Network Architects |
Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and Intranets. |
Bachelor's degree | $126,900 |
|
Computer Programmers |
Computer programmers write, modify, and test code and scripts that allow computer software and applications to function properly. |
Bachelor's degree | $97,800 |
|
Computer Support Specialists |
Computer support specialists maintain computer networks and provide technical help to computer users. |
See How to Become One | $59,660 |
|
Computer Systems Analysts |
Computer systems analysts study an organization’s current computer systems and design ways to improve efficiency. |
Bachelor's degree | $102,240 |
|
Database Administrators and Architects |
Database administrators and architects create or organize systems to store and secure data. |
Bachelor's degree | $112,120 |
|
Data Scientists |
Data scientists use analytical tools and techniques to extract meaningful insights from data. |
Bachelor's degree | $103,500 |
|
Information Security Analysts |
Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems. |
Bachelor's degree | $112,000 |
|
Mathematicians and Statisticians |
Mathematicians and statisticians analyze data and apply computational techniques to solve problems. |
Master's degree | $99,960 |
|
Postsecondary Teachers |
Postsecondary teachers instruct students in a variety of academic subjects beyond the high school level. |
See How to Become One | $80,840 |
|
Web Developers and Digital Designers |
Web developers create and maintain websites. Digital designers develop, create, and test website or interface layout, functions, and navigation for usability. |
Bachelor's degree | $80,730 |