Software development is a field that brings together experts who develop computer programs. Some develop applications that that direct tasks on a computer or computer-driven device, while others develop underlying system software that controls networks or broader applications. They might be involved in software development for computer games, business applications, or medical tools. Those working in this career path are adept in working with systems theory, and understanding the technical limitations of the hardware they are developing software to control. Teams of experts will work together on larger efforts, and software developers usually work closely with computer programmers. In some situations, developers will write code themselves instead of giving instructions to programmers.
What makes it unique?
This is an ever-changing field as computer applications and system are involved in more and more products and services. This will require more software to be developed to enhance product features, system applications and customer satisfaction.
Degree Connections
The following are examples of some accredited degrees leading to a career in software development:
- Software Engineering
- Multimedia Engineering
- Computer Engineering
- Computer Engineering Technology
- Computer Systems Engineering
- Electrical Engineering
- Gaming Technology
Search our global database of accredited engineering programs.
Want to learn more?
Click on the blue tabs to explore the field in more detail and learn about preparation and employment, the green tabs to be inspired by people working on software development and how they impact the world, and the orange tabs for ideas on how to learn more and you can get involved with activities, camps, and competitions!
Explore
A Day in the Life
Software developers often work as part of a team that designs new hardware, software, and systems. A core team may comprise engineering, marketing, manufacturing, and design people, who work together until the product is released.
While a normal work week is usual, when deadlines or products are going through testing before a product release, additional hours are likely. Also, as many products are highly competitive, a new feature or release from one manufacturer may prompt others to scramble to offer the same features on their own products. This, as you can imagine, might prompt crunch hours added to a normal work week.
There are two basic types of software developers:
Applications software developers design computer applications, such as word processors and games, for consumers. Some applications software developers create complex databases for government or organizations. They will also develop resources and programs that are used over the internet or perhaps within a company’s intranet. This might include personnel file management systems, accounting, reporting, and medical record-keeping.
Systems software developers create the systems that keep computers functioning properly. These could be overarching, such as operating systems for computers that the general public buys directly, or systems built to solve a problem for a government or 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.
Historical Snapshot
Word Processing Software:
Word processing software is largely taken for granted today, but the impact on government, business, healthcare, and personal lives cannot be understated. Before the advent of word processing software, people used typewriters to develop letters for business. Consider that if you needed multiple copies, carbon paper was used between sheets of paper and there was no easy way to deliver a message to another location unless a messenger personally delivered the note, or both businesses had fax machines. Normal business procedures were to dictate a message to a secretary or assistance who would type up a draft, which would be reviewed and marked up, and then retyped. Think of the lost time productivity for all involved.
Early word processors were stand-alone devices dedicated to the function, but quickly they were replaced by software programs to be run on personal computers. Software functions initially allowed for writing, editing, and formatting of letters, but have morphed over time to fully functioning desktop publishing programs.
Software developers continually updated and improve word processing and communications software with new features and uses in new equipment and applications. Voice control, automatic searching, spell check, grammar check, and links to texting are just a few examples of how software developers have changed the world via word processing!
Explore more technical details:
Industries and Employment
Employers of software developers range from startup companies to established industry leaders. Expansion of computing technology into more products and systems results in broader industries that employ professionals in this field. For example, engineering firms specializing in building bridges and power plants might hire software developers to create new geographic data systems or upgrade automated drafting systems.
Health and medical insurance and reinsurance carriers industry need innovative software to manage new healthcare policy enrollments and administer existing policies digitally. Communications firms need computer software engineers to tap into growth in the personal communications market. Major communications companies have many job openings for both computer software applications engineers and computer systems engineers. Concerns over threats to computer security could result in more investment in security software to protect computer networks and electronic infrastructure. Applications continue to grow!
The following is just a sample of some employers, outside of government, so you can explore the type of projects worked on globally:
Preparation and Degrees
For most engineering careers:
- a bachelor’s degree is required
- a master’s degree may be recommended for those specializing or interested in management
- students may also start with a related associate degree and then move on to a bachelor’s when they have settled on a degree path.
- many students are required to participate in a co-op program while at university to gain real world experience in their chosen field.
- education doesn’t really stop…engineers need to stay current as technology changes and materials and processes improve over time.
- many professional societies offer certificates and coursework to support continuing education for their members.
At the undergraduate level, software development and software engineering courses might cover technical issues affecting software architecture, design, and implementation and would also offer guidance in project management and quality control. Beyond obvious programming curricula, courses might include model-driven development, analysis of algorithms, ethics, and applied statistics.
It is important to select an engineering degree that has been accredited to meet basic standards. Find out more and browse TryEngineering’s global database of accredited engineering and computing programs.
Be Inspired
Amazing Engineers!
One of the best ways to explore what it might be like to work in software development is to learn about people currently working in the field.
- Augusta Ada King was an English mathematician and writer who worked on Charles Babbage’s mechanical general-purpose computer, the Analytical Engine. She recognized applications beyond calculation, and published the first algorithm for this purpose. She is considered one of the first computer programmers.
- Linus Torvalds is a software engineer who is the creator and, historically, the principal developer of the Linux kernel for Linux distributions and other operating systems such as Android and Chrome OS. In the TED talk to the right, he discusses the personality traits that prompted his unique philosophy of work, engineering and life.
- James Gosling is the inventor of the Java programming language. He is a Canadian computer scientist and distinguished engineer at Amazon Web Services.
- Grace Hopper was an American computer scientist and United States Navy rear admiral. She was one of the first programmers of the Harvard Mark I computer, and the first to devise the theory of machine-independent programming languages.
- Martin Reddy is a Software Engineering Manager at Apple. His research interests include conversational artificial intelligence (AI) and voice applications, while in the first half of his career he focused on 3D computer graphics and animation. He says that when working at Pixar, he learned how mixing great software engineers with talented artists can produce amazing results.
- Margaret Hamilton is an American computer scientist, systems engineer, and business owner. She was director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA’s Apollo program.
Global Impact: Computer Gaming
Computer gaming is now a competitive and often lucrative sport, but it only exists in today’s form as a result of continual advances in both hardware and software since the 1940s. The first computer game is generally agreed to be the game Spacewar!, which was developed in 1962 at MIT. It was one of the first digital games to be available beyond a single research group. An industry began to develop when console and coin-operated arcade games were broadly available and gained popularity in the early 1970s.
Soon, home consoles which could be attached to a TV became affordable and the gaming trend spread, especially as competition between different players made gaming more interactive. The Atari 2600 and Intellivision systems are great examples of technology and software advances at the time. The 1980s saw the introduction of early online gaming and handheld LCD games. In terms of hardware advances, the integrated graphics controller was a major contributor that opened the door to graphics that could support realistic gaming environments.
It would have been hard for the early engineers and computer experts to predict that gaming would open a lucrative career path for the players themselves — or that watching gaming competitions would be a global spectator sport. Gaming has had a major influence on popular culture indeed. So what comes next?
Besides the obvious entertainment value, video games have been specifically developed to assist with the education of young children and applied as therapy for older adults. More recent technological advances in gaming include stereoscopic 3D visuals, head tracking which can result in competitive performance advantages, and hand gesture interfaces so players can control aspects of the game with hand positions. There have even been efforts to introduce gaming as an Olympic sport!
Find out more:
Get Involved
Keep Learning
Dig deeper into topics related to the field of software development that interest you! We’ve arranged a few links below:
Explore:
- IBM: What is Software Development?
- IT Chronicles: What is Software Development?
- ITryEngineering News Blog
Watch:
Try it Out:
- Play some games that involve software development:
- Try one of the TryEngineering lessons that focus on software development:
Competitions and Events
Clubs, competitions, and camps are some of the best ways to explore a career path and put your skills to the test in a friendly-competitive environment.
Clubs:
- Many schools have coding clubs or opportunities for students to get together and work on coding challenges.
- Girls Who Code
- Code.org
Competitions:
- Google’s Coding Competitions designed to enthrall, challenge, and test coders around the world. Try your hand at one, or all three.
- IEEE GameSIG and SDGA Game Festival a collegiate competition for presenting video game development talents
- FreeCodeCamp lists popular coding challenge websites.
- CodinGame improve your programming skills
Camps:
- TryEngineering Summer Institute, US: Attend the TryEngineering Summer Institute to further coding skills and work on computer related projects.
- Google Computer Science Instituteis a 3-week intro to coding for high school seniors. The program aims to train emerging tech leaders and innovators, held in multiple states each summer, with an inside look into Google operations. Participation is free.
- Women’s Technology Program (WTP) is a four-week summer academic and residential experience where 60 female high school students explore Electrical Engineering and Computer Science (EECS).
- La Capsule, France: 13-week boot camp in coding
- Codeworks, Various locations: immersive coding workshops.
Many universities offer summer computing and coding experiences. Reach out to your local university’s engineering department to see what they offer.
Local Connections
Did you know you can explore software development in your community? Consider all the times you interact with software in a day!
- Do you play computer games? They require the software for the game itself, databases for content, and a secure login system.
- Do you have a mobile phone? Think about the different software types in the phone. There is the operating system, the software for any apps you use…and also encryption and a log in system…and oh yes, it makes phone calls too! Also software to run a camera, perhaps sensors, and a flashlight. All different software requirements for operation.
- You may have a camera system in your home or a security camera system at your local bank. What software do you think is needed for this to operate?
- Does your home or local businesses have a security system? How does software operate the alarms? What sort of sensors do you think are needed?
- Your car incorporates lots of software. What sort of functions can you think of that are controlled by software?
Find out more:
Groups and Associations
Be sure to reach out to professional societies focused on software development where you live. Not all will offer membership to pre-university students, but most offer groups for university students, and certainly offer online resources to help you explore the field.
Some examples of groups focusing on software development:
- Association for Computing Machinery
- Association for Women in Computing
- BCS, The Chartered Institute for IT
- Computing Research Association
- Developers Alliance
- IEEE Computer Society
- International Association of Computer Science and Information Technology
- International Game Developers Association
- Software and Information Industry Society
Some resources on this page are provided or adapted from the US Bureau of Labor Statistics and the Career Cornerstone Center.