How Do I Become a Software Engineer?

Find schools


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.<-->sb1=hsd,smc,assc,bach,mrs---->Any--Else--T1==cs,se--Select `wp_oep_sb_school_data`.*, `wp_oep_sb_program_details`.* FROM `wp_oep_sb_school_data` JOIN `wp_oep_sb_program_details` ON `wp_oep_sb_school_data`.s_id = `wp_oep_sb_program_details`.s_id WHERE (`wp_oep_sb_program_details`.p_current_degrees = 'hsd' OR `wp_oep_sb_program_details`.p_current_degrees like '%,hsd,%' OR `wp_oep_sb_program_details`.p_current_degrees like 'hsd,%' OR `wp_oep_sb_program_details`.p_current_degrees like '%,hsd' OR`wp_oep_sb_program_details`.p_current_degrees = 'smc' OR `wp_oep_sb_program_details`.p_current_degrees like '%,smc,%' OR `wp_oep_sb_program_details`.p_current_degrees like 'smc,%' OR `wp_oep_sb_program_details`.p_current_degrees like '%,smc' OR`wp_oep_sb_program_details`.p_current_degrees = 'assc' OR `wp_oep_sb_program_details`.p_current_degrees like '%,assc,%' OR `wp_oep_sb_program_details`.p_current_degrees like 'assc,%' OR `wp_oep_sb_program_details`.p_current_degrees like '%,assc' OR`wp_oep_sb_program_details`.p_current_degrees = 'bach' OR `wp_oep_sb_program_details`.p_current_degrees like '%,bach,%' OR `wp_oep_sb_program_details`.p_current_degrees like 'bach,%' OR `wp_oep_sb_program_details`.p_current_degrees like '%,bach' OR`wp_oep_sb_program_details`.p_current_degrees = 'mrs' OR `wp_oep_sb_program_details`.p_current_degrees like '%,mrs,%' OR `wp_oep_sb_program_details`.p_current_degrees like 'mrs,%' OR `wp_oep_sb_program_details`.p_current_degrees like '%,mrs') AND ( `wp_oep_sb_program_details`.p_concentration_name = 'cs' OR `wp_oep_sb_program_details`.p_concentration_name like '%,cs,%' OR `wp_oep_sb_program_details`.p_concentration_name like 'cs,%' OR `wp_oep_sb_program_details`.p_concentration_name like '%,cs' OR`wp_oep_sb_program_details`.p_concentration_name = 'se' OR `wp_oep_sb_program_details`.p_concentration_name like '%,se,%' OR `wp_oep_sb_program_details`.p_concentration_name like 'se,%' OR `wp_oep_sb_program_details`.p_concentration_name like '%,se' ) AND ( `wp_oep_sb_program_details`.p_restricted_states <> '' AND `wp_oep_sb_program_details`.p_restricted_states NOT LIKE '%,,%' AND `wp_oep_sb_program_details`.p_restricted_states NOT LIKE ',%' AND `wp_oep_sb_program_details`.p_restricted_states NOT LIKE '%,' ) AND `wp_oep_sb_school_data`.s_active = 'Yes'AND `wp_oep_sb_program_details`.p_active = 'yes' ORDER BY CASE `wp_oep_sb_school_data`.s_id WHEN 11 THEN 1 WHEN 11 THEN 2 WHEN 20 THEN 3 WHEN 20 THEN 4 WHEN 9 THEN 5 WHEN 9 THEN 6 WHEN 37 THEN 7 WHEN 83 THEN 8 WHEN 83 THEN 9 WHEN 37 THEN 10 WHEN 26 THEN 11 WHEN 25 THEN 12 WHEN 36 THEN 13 WHEN 39 THEN 14 WHEN 39 THEN 15 WHEN 30 THEN 16 WHEN 30 THEN 17 WHEN 42 THEN 18 WHEN 82 THEN 19 WHEN 43 THEN 20 WHEN 44 THEN 21 WHEN 45 THEN 22 WHEN 46 THEN 23 WHEN 47 THEN 24 WHEN 48 THEN 25 WHEN 49 THEN 26 WHEN 50 THEN 27 WHEN 51 THEN 28 WHEN 52 THEN 29 WHEN 53 THEN 30 WHEN 54 THEN 31 WHEN 55 THEN 32 WHEN 56 THEN 33 WHEN 57 THEN 34 WHEN 58 THEN 35 WHEN 59 THEN 36 WHEN 60 THEN 37 WHEN 61 THEN 38 WHEN 62 THEN 39 WHEN 63 THEN 40 WHEN 64 THEN 41 WHEN 65 THEN 42 WHEN 66 THEN 43 WHEN 67 THEN 44 WHEN 68 THEN 45 WHEN 69 THEN 46 WHEN 70 THEN 47 WHEN 71 THEN 48 WHEN 72 THEN 49 WHEN 73 THEN 50 WHEN 74 THEN 51 WHEN 75 THEN 52 WHEN 76 THEN 53 WHEN 77 THEN 54 WHEN 78 THEN 55 WHEN 79 THEN 56 WHEN 80 THEN 57 WHEN 81 THEN 58 WHEN 49 THEN 59 WHEN 42 THEN 60 WHEN 43 THEN 61 WHEN 44 THEN 62 WHEN 45 THEN 63 WHEN 46 THEN 64 WHEN 47 THEN 65 WHEN 48 THEN 66 WHEN 50 THEN 67 WHEN 51 THEN 68 WHEN 52 THEN 69 WHEN 53 THEN 70 WHEN 54 THEN 71 WHEN 55 THEN 72 WHEN 56 THEN 73 WHEN 57 THEN 74 WHEN 58 THEN 75 WHEN 59 THEN 76 WHEN 60 THEN 77 WHEN 61 THEN 78 WHEN 62 THEN 79 WHEN 63 THEN 80 WHEN 64 THEN 81 WHEN 65 THEN 82 WHEN 66 THEN 83 WHEN 67 THEN 84 WHEN 68 THEN 85 WHEN 69 THEN 86 WHEN 70 THEN 87 WHEN 71 THEN 88 WHEN 72 THEN 89 WHEN 73 THEN 90 WHEN 74 THEN 91 WHEN 75 THEN 92 WHEN 76 THEN 93 WHEN 77 THEN 94 WHEN 78 THEN 95 WHEN 79 THEN 96 WHEN 80 THEN 97 WHEN 81 THEN 98 WHEN 82 THEN 99 WHEN 35 THEN 100 WHEN 10 THEN 101 WHEN 6 THEN 102 WHEN 7 THEN 103 WHEN 8 THEN 104 WHEN 84 THEN 105 WHEN 13 THEN 106 WHEN 41 THEN 107 WHEN 40 THEN 108 WHEN 2 THEN 109 WHEN 38 THEN 110 WHEN 31 THEN 111 WHEN 32 THEN 112 WHEN 33 THEN 113 WHEN 34 THEN 114 WHEN 15 THEN 115 WHEN 24 THEN 116 WHEN 22 THEN 117 WHEN 19 THEN 118 WHEN 3 THEN 119 WHEN 5 THEN 120 WHEN 17 THEN 121 WHEN 27 THEN 122 WHEN 12 THEN 123 WHEN 16 THEN 124 WHEN 23 THEN 125 WHEN 28 THEN 126 WHEN 29 THEN 127 WHEN 21 THEN 128 WHEN 1 THEN 129 WHEN 18 THEN 130 WHEN 4 THEN 131 WHEN 14 THEN 132 ELSE 99 END ASC, `wp_oep_sb_program_details`.p_name
Featured CS & Software Engineering Programs
Arizona State University Engineering Science (MSE) in Software EngineeringVisit Site
Arizona State University Software Engineering (BS)Visit Site
Southern New Hampshire University Online BS - Computer ScienceVisit Site
Southern New Hampshire University Online BS in CS - Information SecurityVisit Site
Southern New Hampshire University Online BS in CS - Software EngineeringVisit Site
Syracuse University Online MS - Computer ScienceVisit Site
Concordia University - St. Paul Online BS - Computer ScienceVisit Site

THANK YOU FOR YOUR INTEREST IN Southern New Hampshire University Online MS - Construction Management

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.

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

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.

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.

Innovative Computer Science Professors

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

Online Bachelor's in Business Data Analytics

An online bachelor's degree in business data analytics provides students with a strong foundation in data analytics and prepares them for a promising career in this burgeoning field. Students become well-equipped in data mining, data storage, and data analytics.

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.