Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or other device. Others develop the underlying systems that run the devices or control networks.
Software developers typically do the following:
- Analyze users’ needs, then design, test, and develop software to meet those needs
- Recommend software upgrades for customers’ existing programs and systems
- Design each piece of the application or system and plan how the pieces will work together
- Create a variety of models and diagrams (such as flowcharts) that instruct programmers how to write the software code
- Ensure that the software continues to function normally through software maintenance and testing
- Document every aspect of the application or system as a reference for future maintenance and upgrades
- Collaborate with other computer specialists to create optimum software
Software developers are in charge of the entire development process for a software program. They begin by asking how the customer plans to use the software. They design the program and then give instructions to programmers, who write computer code and test it. If the program does not work as expected or people find it too difficult to use, software developers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a developer may perform upgrades and maintenance.
Developers usually work closely with computer programmers. However, in some companies, developers write code themselves instead of giving instructions to computer programmers.
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. IT project managers who plan and direct an organization’s IT department or IT policies are included in the profile on computer and information systems managers.
The following are types of software developers:
- Applications software developers design computer applications, such as word processors and 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 complex databases for organizations. They also create programs that people use over the Internet and within a company’s intranet.
- Systems software developers create the systems that keep computers functioning properly. These could be operating systems that are part of computers the general public buys or systems built specifically for an organization. Often, systems software developers also build the system’s interface, which is what allows users to interact with the computer. Systems software developers create the operating systems that control most of the consumer electronics in use today, including those in phones or cars.
Software developers held about 1 million jobs in 2012.
Many software developers work for computer systems design and related services firms or software publishers. Some systems developers work in computer and electronic product manufacturing industries. Applications developers work in office environments, such as for insurance carriers or corporate headquarters.
In general, software development is a collaborative process and developers work on teams with others, who contribute to designing, developing, and programming successful software. However, some developers telecommute (work away from the office).
Software developers usually have a bachelor’s degree, typically in computer science, software engineering, or a related field. A degree in mathematics is also acceptable. Computer science degree programs are the most common, because they tend to cover a broad range of topics. Students should focus on classes related to building software in order to better prepare themselves for work in the occupation. For some positions, employers may prefer a master’s degree.
Although writing code is not their first priority, 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.
Software developers also need skills related to the industry in which they work. Developers working in a bank, for example, should have knowledge of finance so that they can understand a bank’s computing needs.
The median annual wage for applications software developers was $90,060 in May 2012. The median wage is the wage at which half the workers in an occupation earned more than that amount and half earned less. The lowest 10 percent earned less than $55,190, and the top 10 percent earned more than $138,880.
The median annual wage for systems software developers was $99,000 in May 2012. The lowest 10 percent earned less than $62,800, and the top 10 percent earned more than $148,850.
In May 2012, the median annual wages for applications software developers in the top four industries in which these developers worked were as follows:
- Computer and electronic product manufacturing: $97,960
- Software publishers: $96,920
- Finance and insurance: $91,970
- Computer systems design and related services: $88,500
In May 2012, the median annual wages for systems software developers in the top four industries in which these developers worked were as follows:
- Computer and electronic product manufacturing: $105,030
- Finance and insurance: 99,940
- Software publishers: 99,750
- Computer systems design and related services: 98,500
Employment of software developers is projected to grow 22 percent from 2012 to 2022, much faster than the average for all occupations. Employment of applications developers is projected to grow 23 percent, and employment of systems developers is projected to grow 20 percent.
The main reason for the rapid growth is a large increase in the demand for computer software. Mobile technology requires new applications. The healthcare industry is greatly increasing its use of computer systems and applications. Also, concerns over threats to computer security could result in more investment in security software to protect computer networks and electronic infrastructure.
Systems developers are likely to see new opportunities because of an increase in the number of products that use software. For example, computer systems are built into consumer electronics, such as cell phones, and into other products that are becoming computerized, such as appliances. In addition, an increase in software offered over the Internet should lower costs and allow more customization for businesses, also increasing demand for software developers.
Some outsourcing to foreign countries with lower wages may occur. However, because software developers should be close to their customers, the offshoring of this occupation is expected to be limited.
- Informing Job Seekers
- Sarammi Inc. Recruiting, Sourcing and Job Search Mentoring
- Job Searching Strategies
- Pittsburgh’s Ultimate Career Connection on Facebook
Resume Writing EBook
Straight Talk from a Recruiter: Resume Writing Strategies and Easy To Follow Techniques