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.
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:
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.
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:
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.
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.
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.
Meet 25 leading professors of computer science, and learn more about what makes them standout educators and innovators.
Learn from the best. Meet 25 well-regarded software engineering professors who teach proven, best practice approaches to software engineering and testing.
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.
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.