Software Developer

Snapshot

Career Cluster(s): Arts, A/V Technology & Communications, Information Technology

Interests: Computer software technology, math, science, information technology

Earnings (Yearly Median): $124,200 per year $59.71 per hour

Employment & Outlook: 25% (Much faster than average)

Entry-Level Education Bachelor's degree

Related Work Experience None

On-the-job-Training None

Overview

Sphere of Work. Software designers develop system, utility, and application software, as well as computer games and video games. They also modify existing programs to improve functionality or to meet client needs. On large-scale projects, software designers typically work with a team of professionals that includes software engineers, software architects, and computer programmers. In these cases, they might be primarily responsible for developing the functional, or "front-end," user interface of the program to ensure that it is compatible with a particular platform and related components and that it works reliably and securely. On smaller jobs, software designers also handle the programming, engineering, and architecture of the program.

89550492-60969.jpg

Work Environment. Many software designers are self-employed and work at home or in small businesses. Others work for the military, government agencies, or industries such as telecommunications, healthcare, e-commerce, aerospace, video games, and education. Software designers working for corporations typically work forty-hour weeks, while those who are self-employed may set their own hours. In either case, strict deadlines or unexpected problems may require software designers to work additional hours as needed.

Occupation Interest. People attracted to software design careers are analytical and mathematically inclined, with strong problem-solving skills and an aptitude for learning programming languages. They are detail-oriented yet able to envision the overall design and application of products. Software designers need good communication skills to interact with team members and convey their ideas. Leadership and organizational skills are also important, as is the desire to keep current with new developments in the industry.

A Day in the Life—Duties and Responsibilities. Most computer programs are born out of a need. Software designers first evaluate that need, usually in consultation with a client, and then conceive of a program to solve the problem. They design computer games, applications (apps) for mobile phones and tablet computers, and other highly visible types of software. They also design behind-the-scenes programs known as utilities, which help users do things like seamlessly download content from the internet, convert files to different formats, protect computers from malware or keylogging, or free up computer disk space when needed. Some software designers develop programs used in business, education, graphic arts, multimedia, web development, and many other fields, as well as programs intended just for other programmers.

Software designers are often responsible for planning a project within budget and time constraints. They must consider compatibility issues, determining the type of platform or multi-platform on which the software will operate and the oldest version on which it will work reliably. They also consider issues such as the maintainability of the software or how often it will need to be updated.

Software designers then devise a schematic of the program that shows its structure, often displayed as a hierarchy consisting of modules. They develop algorithms, which are sets of instructions or steps needed to solve the problems identified by each module. Designers may program the code line by line, or they may supervise other programmers. They test the modules, locate and correct any errors, and then test the program repeatedly until it is secure, user-friendly, and reliable. They might also add graphics and multimedia components, or they might hand that job over to a graphic designer. Once a piece of software has been released, its designers may continue to monitor it and release bug fixes or other enhancements as necessary, as well as in order to maintain compatibility and stability as operating systems and related programs change.

Work Environment

Immediate Physical Environment. Software designers usually work in comfortable offices or from their homes, although some may also travel to meet with clients. They are at some risk for carpal tunnel syndrome, back problems, and eyestrain due to prolonged use of computers.

Human Environment. Software designers typically report to a project manager and are usually members of a development team, along with programmers, systems architects, quality assurance specialists, and others. The designer might also manage the team or oversee the work done by programmers. A high level of communication and cooperation is usually necessary for success. Many designers, however, work alone and are responsible only to their clients.

Technological Environment. Software designers use a variety of desktop computers, portable computer devices, video game consoles, and related hardware. They use and interface with various operating systems and database management programs. While software designers do not necessarily do programming, they should be familiar with various computer and markup languages, including C++, Java, ColdFusion, and HTML, as well as related compilers and interpreters.

Education, Training, and Advancement

High School/Secondary. Students should take a strong college preparatory program that includes English, chemistry, physics, and four years of mathematics, including trigonometry, calculus, and statistics. Computer science or technology, engineering, and electronics courses are also important. Students interested primarily in designing video games or visual-heavy programs should take computer graphics and drawing courses. Other potentially beneficial subjects include psychology, sociology, and business. Participation in technology clubs, science fairs, mathematics competitions, and other related extracurricular activities is encouraged, as is independent study and creation of programs.

Postsecondary. Although some employers consider job applicants with an associate’s degree, most prefer to hire workers with a bachelor’s degree or higher in computer science, computer engineering, or a related technical field. Prospective software designers must be familiar with different types of computers, operating systems, systems organization and architecture, data structures, algorithms, computation theory, and other related topics. Internships and independent projects are recommended, and building a portfolio or otherwise demonstrating experience is extremely valuable.

Computer & Information Systems Manager

Computer-Control Tool Programmer

Computer Engineer

Computer Operator

Computer Programmer

Computer Support Specialist

Computer Systems Analyst

Designer

Graphic Designer

Information Security Analyst

Information Technology Project Manager

Multimedia Artist & Animator

Network & Computer Systems Administrator

Web Administrator

Web Developer

Bibliography

"Software Developers." Occupational Outlook Handbook. Bureau of Labor Statistics, US Department of Labor, 6 Sept. 2023, www.bls.gov/ooh/computer-and-information-technology/software-developers.htm. Accessed 28 Sept. 2023.