Software Development

Resource Type: Engineering Discipline
Engineering Discipline: Computer Engineering

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:

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

  • bigstock.com/ insta_photos

    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.

  • Word Processing Software:

    Bigstock.com/ fizkes

    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:

  • bigstock.com/World Image

    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:

  • For most engineering careers:

    • a bachelor’s degree is required

      bigstock.com/ sharafmaksumov

    • 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

  • 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.
  • Bigstock.com/ monkeybusinessimages

    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

Some resources on this page are provided or adapted from the US Bureau of Labor Statistics and the Career Cornerstone Center.