Back More
Salem Press

Table of Contents

Careers: Paths to Entrepreneurship

Software Developer

by Stuart Paterson

Snapshot

Career Cluster(s): Business, Management & Administration; Human Services; Information Technology (IT)

Interests: Development; programming; computer code; software; technology

Earnings (Yearly Average): $107,510

Employment & Outlook: Much Faster Than Average Growth Expected

Overview

Sphere of Work

Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks. There are strong opportunities for entrepreneurship in this field, given the right ideas and execution of the programs or apps.

Work Environment

In general, software development is a collaborative process, and developers work on teams with others who also contribute to designing, developing, and programming successful software. However, some developers work at home. Most software developers work full-time and additional work hours are common.

A software developer will design each piece of an application or system and plan how the pieces will work together.

CIEntrex_p0223_1.jpg

Occupation Interest

Software developers have strong technical knowledge of computer code and programming and are able to translate that into the creation of functional computer programs ranging from mobile phone games to extraordinarily complex financial software. Every year the world becomes more reliant on computer systems, so the field is always in need of fresh talent and innovation. Successful programs can be worth millions of dollars, or more, so there is great interest in funding startup enterprises that might be the “next big thing.”

Profile

Interests: Data, Things, People

Working Conditions: Inside

Education Needs: Bachelor’s Degree

Licensure/Certification: Usually Not Required

Opportunities for Experience: Internship

Interest Score: CIR

A Day in the Life—Duties and Responsibilities

Software developers oversee the entire development process for a software program. They may begin by asking how the customer plans to use the software. They must identify the core functionality that users need from software programs. Software developers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs. They design the program and then give instructions to programmers who write computer code and evaluate it.

If the program does not work as expected or if testers 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 programmers. This is also true of startup ventures, where the core developer may also serve as a programmer.

Duties and Responsibilities

  • Analyzing users’ needs and then designing, testing, and developing software to meet those needs

  • Recommending software upgrades for customers’ existing programs and systems

  • Designing each piece of an application or system and planning how the pieces will work together

  • Creating a variety of models and diagrams (such as flowcharts) that show programmers the software code needed for an application

  • Working with graphics and other designers to determine the website’s layout

  • Ensuring that a program continues to function normally through software maintenance and testing

  • Documenting every aspect of an application or system as a reference for future maintenance and upgrades

  • Collaborating with other computer specialists to create optimum software

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. Information technology 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.

Occupation Specialties

Applications Software Developer

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 Developer

Systems software developers create the systems that keep computers functioning properly. These could be operating systems for computers that 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 used by cell phones and cars.

Work Environment

Immediate Physical Environment

Software developers typically work in an office, whether as part of a corporate setting or at home. As they usually lead a team, they must be able to interact with team members either in-person or remotely. They may be required to work long hours to complete projects on deadline.

Human Environment

Although some software development takes place solitarily, in many cases the developer leads a team of programmers. This most often takes place in a group-office setting, but as remote work becomes more the norm, all members of the team must be able to stay in touch if working from home or at a distance. This can include emails, phone, or video calls. Developers also must interact with clients as the software is being developed..

Technological Environment

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.

Education, Training, and Advancement

High School/Secondary

High school students interested in a career as a software development should focus on computer science courses, math, and English to improve communication skills. Strong consideration should also be given to prospective colleges, as a degree is almost essential.

Suggested High School Subjects

  • Algebra

  • Biology

  • Calculus

  • Chemistry

  • Computer Science

  • Earth or Life or Physical Science

  • Economics

  • English

  • Entrepreneurship

  • Geometry

  • History

  • Political Science

Transferable Skills and Abilities

Analytical Skills

  • Analyzing users’ needs and designing software to meet those needs

Communication Skills

  • Giving clear instructions to others working on a project

  • Explaining to customers how the software works and answer any questions that arise

Creativity

  • Acting as the creative mind behind new computer software

Detail-oriented

  • Working on many parts of an application or system at the same time

Interpersonal Skills

  • Working well with others who contribute to designing, developing, and programming successful software

Problem-solving Skills

  • Solving problems that arise throughout the design process

  • Pre-Calculus

  • Technical Reading

  • Trigonometry

Related Career Pathways/Majors

Business, Management & Administration Career Cluster

  • Business Information Management Pathway

  • General Management Pathway

Human Services Career Cluster

  • Consumer Services Pathway

Information Technology Career Cluster

  • Network Systems Pathway

  • Programming & Software Development Pathway

  • Web & Digital Communications Pathway

Postsecondary

Software developers usually have a bachelor’s degree, typically in computer science, software engineering, or a related field. 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 to better prepare themselves for work in the occupation. Many students gain experience in software development by completing an internship at a software company while in college. For some positions, employers may prefer that applicants have a master’s degree.

Related College Majors

  • Business Administration

  • Computer Science

  • Cyber Security

  • Data Science

  • Electrical Engineering

  • Entrepreneurship

  • Information Technology

  • Mathematics

  • Software Engineering

Adult Job Seekers

Adults seeking employment as software developers should come from a related field or have significant experience with computer code and programming. Developing one’s skills as a programmer over time is a good way to advance to becoming a developer.

Earnings and Advancement

Earnings depend largely on the nature of the developer’s work, the size of the software project, and whether the project is a startup or is overseen by a larger company. Startups may rely on funding to get off the ground, and not be a reliable source of income until the project is fully realized. Median annual earnings of web developers and designers were $107,510 in 2019. The lowest 10 percent earned less than $64,240, and the highest 10 percent earned more than $164,590.

Software developers may receive paid vacations, holidays, and sick days; life and health insurance; and retirement benefits. These are usually paid by an employer if the developer is not self-employed.

Software developers can advance to become IT project managers, also called computer and information systems managers, a position in which they oversee the software development process.

Employment and Outlook

Software developers and software quality assurance analysts and testers held 1,469,200 jobs in 2019. Employment is expected to grow much faster than the average for all occupations through the year 2029, at a rate of 22 percent, as the need for new applications on smartphones and tablets help increase the demand for software developers.

The health and medical insurance and reinsurance carriers industry will need innovative software to manage new healthcare policy enrollments and administer existing policies digitally. As the number of people who use this digital platform increases over time, demand for software developers will grow.

Software developers are likely to see new opportunities because of an increase in the number of products that use software. For example, more computer systems are being built into consumer electronics and other products, such as cell phones and appliances.

Concerns over threats to computer security could result in more investment in security software to protect computer networks and electronic infrastructure. 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.

Job prospects will be best for applicants with knowledge of the most up-to-date programming tools and for those who are proficient in one or more programming languages.

Related Occupations

  • Computer Hardware Engineer

  • Computer/Information Research Scientist

  • Computer/Information Systems Manager

  • Computer Network Architect

  • Computer Programmer

  • Computer Support Specialist

  • Computer Systems Analyst

  • Database Administrator

  • Mathematician/Statistician

  • Postsecondary Teacher

  • Web Developer

More Information

Association for Computing Machinery (ACM)

1601 Broadway, 10th Floor

New York, NY 10019-7434

212.869.7440

acmhelp@acm.org

www.acm.org

Association of Software Professionals (ASP)

c/o ASP Membership Manager

P.O. Box 1522

Martinsville IN 46151

asp-software.org

CompTIA

3500 Lacey Road, Suite 100

Downers Grove, IL 60515

866.835.8020

membership@comptia.org

www.comptia.org

Computing Research Association (CRA)

1828 L Street NW, Suite 800

Washington, DC 20036-4632

202.234.2111

info@cra.org

cra.org

Computing Community Consortium (CCC):

cra.org/ccc

Developer Alliance

525 Montgomery Street, Suite 574

Alexandria, VA 22314

www.developersalliance.org

IEEE Computer Society

2001 L Street NW, Suite 700

Washington, DC 20036-4928

202.371.0101

help@computer.org

www.computer.org

International Game Developers Association (IGDA)

1 Eglinton Avenue East, Suite 705

Toronto, ON M4P 3A1

Canada

info@igda.org

igda.org

National Center for Women & Information Technology (NCWIT)

NCWIT 1909 26th Street, 2nd Floor

Boulder, CO 80302

303.735.6671

info@ncwit.org

www.ncwit.org

Network and Systems Professionals Association (NaSPA)

214.771.8616

naspa.com

Software & Information Industry Association (SIIA)

202.289.7442

www.siia.net

Conversation With... BRIAN THARP

Principal and co-founder

ZENxd, HQ Santa Cruz, CA

Technology application design, 23 years

What was your individual career path in terms of education/training, entry-level job, or other significant opportunity?

I’m a principal and co-founder of a technology application design firm, but I didn’t start in this field. I was a Fine Arts major at Arizona State University with an emphasis on printmaking. In the middle of my junior year, I left college. I was getting burned out because while a student I was working full-time to pay for school. I’d planned to take a break and return to college after earning more money to pay for it, but I never did. I realized there wasn’t much opportunity in printmaking and instead I got a job designing circuit boards. I had a generous boss who taught me how to do the work. It was interesting, creative work that challenged me. Then I got a job testing software and networking equipment and learned about packet transfer and things I never expected to learn. I ended up setting up the company’s intranet, and that’s how I was introduced to web technology and design. As the industry evolved, so did a focus on human-centered design. That was my bridge back to my creative self. Before starting my company, I’d worked for more than a half dozen companies, designing systems that help people do things like comparison shop, or help businesses deploy campaigns faster, at lower costs and with higher interaction with their targeted audience.

In 2008, a colleague, Bill Daggett, and I partnered and founded ZENxd, a boutique UX Design firm. We are a distributed team, working from multiple locations, including Portland, Oregon, where I’m based, and Santa Cruz, California, where Bill is based. Bill and I had worked for a company called SideStep, Inc. where we designed the first application that allowed travelers to use a single website to search multiple sites for information on flights, lodging, car rental, guides, and deals. This was integrated into KAYAK’s platform when KAYAK bought SideStep.

ZENxd designs applications for websites, mobile or any other type of device where there is human interaction required. We research users’ needs, what they are looking for, how to engage them, and how long they interact with the applications. We focus on the human side, the users, and define strategies that help people solve a problem or reach a goal. Typically, a UX strategy defines several “digital touch points” that are needed to create a holistic experience. We just did a big project with Shutterfly. We helped redesign their manufacturing application by unifying it into a single platform so it’s easier for their workers to learn and operate. We work on projects that could be something as big as a whole production platform, to as small as a smart watch application.

I’ve always loved tackling big design problems. When you work for a company, the meaty problems get solved, and you are left to “maintain” the experience. I would get the itch to jump ship and find a new problem to solve. So, I co-founded ZENxd to ensure I’d always have new challenges and get to wear a lot of hats.

What are the most important skills and/or qualities for someone in your profession?

Understanding the fundamental principles of design is key to knowing how a design is perceived, how people will learn from it, how to make it more appealing and useful.

You don’t need to learn everything; it’s a matter of starting with your strengths. If you understand good design principles—visual, color—start with those.

A good application design also involves research. If you’re inquisitive and a people person, you may want to focus on research. Start there and begin to broaden.

Empathy, active listening, observation, and curiosity are important traits. Think about the lived experience of someone who will use the application and how they perceive or understand the design.

You have to collaborate with people, facilitate and bring in different views. It’s critical to communicate clearly with people who perform different functions of work on the project.

What do you wish you had known going into this profession?

How nebulous the profession would prove to be. Even today it’s hard for people to understand what I do. People say “you make it look good” or “you make it look simple,” and there’s more to it. Making something look simple is extremely hard. Making design decisions is a challenge because you have lots of needs and resources that are in conflict.

Are there many job opportunities in your profession? In what specific areas?

There are a ton of opportunities, and they’re becoming more specialized and diverse due to advances in technology and the proliferation of disparate devices. There are jobs that focus on user research, experience design (UX), visual design (UI), service design, design strategy, design leadership, etc. Areas to specialize in include mobile applications, voice enabled devices, augmented reality, artificial intelligence.

How do you see your profession changing in the next 5years? How will technology impact that change, and what skills will be required?

It’s harder for companies to differentiate on technology. Today’s consumers have grown up in a digital world. Technology has changed expectations. If a customer has a bad experience, another option is just a tap away. To maintain market share, companies have shifted their focus to customer engagement. As a result, Experience Design has become a critical component to achieving long-term success.

Voice assistance, machine learning, and artificial intelligence are becoming more predictive. We are focused on developing relationships, learning about the customer, and anticipating the customer’s needs.

There’s growing emphasis on healthy experiences—understanding an application’s impact on the individual’s well-being. How well did the experience promote healthy habits, or does it inhibit healthy habits? Thinking about well-being is a big part of what we do because we’re designing for humans.

There’s an overdue emphasis on design justice and inclusive design. We are hyper-focused on improving our methods and practices to ensure our designs produce quality experiences for as many people as possible. If you neglect a segment of the population, you miss reaching potential customers. You also risk damaging your brand if you lack the care to ensure your products are usable and accessible.

What do you enjoy most about your job? What do you enjoy least about your job?

I get to speak with and learn about people from all walks of life. It’s fun, enlightening, and even emotional at times. It’s my job to improve their lives, and that enriches me.

I like learning about a variety of topics. We’ve designed experiences in health care, travel, legal, production accounting—all kinds of domains. You’re really trying to understand the industries and it’s never boring.

What I enjoy least is feeling in a constant state of critique. As a designer, everything you produce is subject to evaluation and criticism. You must be prepared to provide a rationale for your designs. While critique can be hard, it continually presents opportunities for growth and improvement, so you learn to embrace it.

Can you suggest a valuable “try this” for students considering a career in your profession?

We all have that product or application that we hate to use. Find something you think could be better. Ask other people how they feel about it. Identify a problem for you to solve. Write down as many solutions you can think of. Sketch out your favorite. Test it. Refine it. There’s no better way to learn than to just put it in practice. You can go to school, or go online to learn about it, but unless you’re putting it to practice, you’re not going to hone those skills. Nothing beats observing a problem, trying to understand it, and trying to solve it with other people.

Citation Types

MLA 9th
Paterson, Stuart. "Software Developer." Careers: Paths to Entrepreneurship,Salem Press, 2021. Salem Online, online.salempress.com/articleDetails.do?articleName=CIEntre_0023.
APA 7th
Paterson, S. (2021). Software Developer. Careers: Paths to Entrepreneurship. Salem Press. online.salempress.com.
CMOS 17th
Paterson, Stuart. "Software Developer." Careers: Paths to Entrepreneurship. Hackensack: Salem Press, 2021. Accessed April 03, 2026. online.salempress.com.