Online Engineering Programs > FAQ > How Do I Become a Software Engineer?

How Do I Become a Software Engineer?

Find schools

*sponsored

Technology-centric organizations like Google and Amazon, as well as companies in healthcare, finance, education and other industries, employ software engineers to stay at the forefront of innovation and technology. Indeed, the job of the software engineer is vast and can vary from creating new mobile apps to designing systems-level software to pushing the envelope in multiple and highly connective ways. Software engineers have the insight to apply their skills beyond mere programming to include the process of development from design all the way through to testing, implementation, and long-term maintenance and product improvement. Software engineers are often proficient in several programming languages, and fluent in at least one. And because of their continuous exposure to code and integrated development environments, software engineers are often able to pick up a new language, such as Java, Objective-C, Python, or C++, quickly if the job requires it.

While stories abound of famous software engineers who either never attended college, or who dropped out, an ABET-accredited bachelor’s degree in software engineering from a reputable institution is still preferred by many employers, and is required to sit for the Fundamentals of Engineering (FE) exam in many states (more on this below). While computer science (CS) degrees have been around for much longer – more than 30 years – software engineering degrees are still relatively new. Software engineering degrees tend to be more applied, and provide a tighter focus on building solid software, from design through quality assurance to release, and then again for each subsequent release or new application. While CS majors certainly can and do code, CS degree programs tend to emphasize mathematical and theoretical computing, and look to expand what’s possible or improve existing computing methods, while software engineering programs tend to emphasize proven software development methodologies and techniques. In the end, both are viable entry points to a software engineering career, although several states require prospective software engineers to earn an ABET-accredited BS in software engineering degree prior to certifying as a software engineer, should the software being developed put the public welfare at risk in any way.

Featured Software Engineering Programs

Johns Hopkins University

  • Online MS - Computer Science
Arizona State University

  • Online BS - Software Engineering
  • Engineering Science (MSE) in Software Engineering
Southern New Hampshire University

  • Online BS in CS - Software Engineering

Skills and Traits of the Successful Software Engineer

Many different types of people can succeed in the software engineering field, but an inherent interest in both technology and engineering should exist since these are so fundamental to the career. There are many different types of jobs available in the field and specific interest and passions may help to drive a person’s career direction. According to Arkhitech, a solutions provider, and O*NET OnLine, some of the skills that could be helpful to a successful software engineer include:

  • Current technological understanding: Programming languages are constantly updated, as are the processes and technologies that make certain solutions viable. Staying up-to-date on new skills, technologies, and methods can result in more creative and focused solutions.
  • Attention to detail: Software engineers often need to oversee many different parts of an application, project or system, meaning that there is a constant need to be aware of the ways in which various aspects of an engineering project are symbiotic.
  • Being a team player: More often than not, a software engineer has to work as part of a team and ensure that a specific app or project continues on down the pipeline toward speedy completion and implementation.
  • Problem solving: Although there may be more than one solution to a problem, software engineers need to be able to decide between the various alternatives and identify the overall best case use fit.
  • Creativity: Software engineers often need to devise creative new solutions to achieve desired functionality, factoring in constraints, dependencies, and established best practices.
    • Featured CS and Software Engineering Programs

      Johns Hopkins University

      • Online MS - Computer Science
      Arizona State University

      • Online BS - Software Engineering
      • Engineering Science (MSE) in Software Engineering
      Southern New Hampshire University

      • Online BS in CS - Software Engineering

Role Requirements and Responsibilities

Those entering the software engineering field will be tasked with unique engineering responsibilities on the job, but also foreseeably in project management or in helping guide projects through the product release cycle. An understanding about the processes of testing and feedback also are essential to the career. Most often, a bachelor’s degree in software engineering helps provide the foundational education to enter the field through classes such as engineering statistics, applied linear algebra, software engineering testing and quality and more. A degree that offers a capstone project also can enable students to synthesize their learning better and to be more uniquely prepared to enter the career field.

Professional licensing for the software engineer is still relatively new. In many states, it is now required for those working on software engineering projects related to health or public welfare or critical structures, such as the water supply. An article in an IEEE newsletter reports that it is now required in thirty states. As far back as 2008, support for a licensing exam for software engineering began, and was started at the behest of the IEEE Computer Society and multiple additional organizations. That licensing exam – Principles and Practices of Software Engineering — became available in 2013 and is offered by the National Council of Examiners for Engineering and Surveying, which also provides other engineering licensing exams.

This exam is rigorous and lasts for eight hours, featuring a total of 80 multiple-choice questions. Results are usually available within eight to 10 weeks following the examination. There are many arguments about whether licensing is necessary for the field, particularly since software engineering is still relatively new. However, Texas has been one of the states to make PE licensing of software engineers a priority. It began licensing back in 1998 through use of a portfolio review. Completing a college degree, gaining work experience and passing the appropriate engineering exams typically are the steps that software engineers need to take to become licensed.

In summary, professional licensure for software engineers is gaining momentum, and as of this writing (March, 2016) thirty states require software engineers working on projects that impact public welfare to earn their professional engineer (PE) credential. To do so, a candidate must first pass the Fundamentals of Engineering (FE) exam upon graduating from an ABET-accredited BS in software engineering program (some states still allow candidates with other degrees or even no degree to sit for the exam), and then after “several years of applicable work experience” (IEEE) pass the Principles and Practices Exam of Software Engineering. Note that the specific experience requirement varies by state.

Different Paths: Steps to Becoming a Software Engineer

Becoming a software engineer is a somewhat straightforward path, but there can be variations in the type of degree pursued at the college level. Below is a list of common steps:

  • Step One: Students need to complete high school and be prepared to complete an undergraduate degree in software engineering, or a similar field, at the bachelor’s level. Students might want to prepare in high school by taking as many math, science and programming classes as possible, including advanced or AP courses.
  • Step Two: After high school, students should look at enrolling in a bachelor’s degree in software engineering program. Many similar degrees, such as in computer science or software development, may be available and also offer pathways into software engineering. Students can look to the Accreditation Board for Engineering and Technology, Inc. for a list of accredited software engineering programs. As of March 2016, 22 accredited programs were listed for software engineering on its site.
  • Step Three: Garner work experience and then pursue a Professional Engineer (PE) credential. Generally, anyone seeking the PE credential needs to graduate from an accredited program, pass the Fundamentals of Engineering (FE) exam, gain at least four years of experience (varies by state) in the field working under a PE, and then pass the PE exam in their specific engineering discipline – in this case software engineering. Please contact your state board of engineering to find out more about specific licensing requirements for software engineers in your state.
  • Step Four: If your undergraduate degree is in a different field from software engineering, or if you wish to deepen your software engineering knowledge and hone your skills away from the workplace, consider a master’s degree in software engineering.

How Long Does it Take to Become a Software Engineer?

The length of time it takes to become a software engineer can depend upon a student’s background knowledge and their commitment and dedication to completing their coursework. A focused student on a direct path to a software engineering career can complete their bachelor’s degree in four years, and earn their PE credential after four years of work experience under another PE. Alternate paths to a software engineering career may take a little bit longer to complete. The approximate time to complete each typical step is listed below.

  • High school: A secondary education usually takes four year to complete, although some high-achieving students can take AP math and science classes that give them college credit and a head start on college engineering requirements.
  • Bachelor of Science Degree: A bachelor of science degree in software engineering should take about four years to complete, full-time. Some students may find their coursework challenging and decide to invest more time in their learning and understanding, but still should be able to finish up in approximately four years.
  • Master of Science Degree: Most master’s degrees take two to three years to complete. Students who complete an undergraduate degree in software engineering should be able to enter the field after this four-year point, but the master’s route can lead to advanced knowledge for those already in the field or for those who have a related undergraduate degree and want to develop a deeper understanding of software engineering specifically, and gain new skills.
  • Professional Engineer: After graduates start working in the field, they typically need to gain around four years of experience working under the guidance of a professional engineer (PE) to qualify to earn the PE credential themselves. However, PE status for software engineers may not be required in all states, and generally the requirement only applies to those engineers working directly with the public or on systems that affect the public, so calling a state’s engineering board can provide more information about licensing.

Most graduates out of high school should be able to complete their college education in four years, making the path of the software engineering degree comparable in length to most others at the undergraduate level. The advantage to this field is that many programs and courses in software engineering also are available online, providing the option to ‘attend’ class remotely at a convenient time. Schools from Arizona State University to the Florida Institute of Technology offer online software engineering programs.

Related Articles

20 Data Science Professors to Know

Data science, as described by University of California, Berkeley, involves the analysis and management of large quantities of data. The discipline requires professionals who can ask the right questions, chart out what information is needed, collect the data, and analyze it effectively.

25 Innovative Computer Science Professors

Meet 25 leading professors of computer science, and learn more about what makes them standout educators and innovators.

25 Professors of Software Engineering to Know

Learn from the best. Meet 25 well-regarded software engineering professors who teach proven, best practice approaches to software engineering and testing.

Guide to Cybersecurity Engineering Certifications (Cyber)

Traditional forms of education are still important, but they can’t keep up with the rapid pace of cybersecurity. As soon as one form of threat is neutralized, innumerable others are developed. That’s why employers and employees are both increasingly turning to the more nimble world of professional certifications.

Online Master's Degrees in Data Science

A master’s degree in data science trains students to expertly analyze data, as well as in other important disciplines such as machine learning, programming, database management, and data visualization. This degree is ideal for aspiring data scientists, data analysts, and pricing analysts.