How to Become a Software Engineer in 5 Steps

Explore the career requirements for software engineers. Get the facts about degree requirements, career outlook, job duties and salary to determine if this is the right career for you. Schools offering Software Development & Engineering degrees can also be found in these popular choices.

Career Information At a Glance

A software engineer works with computer programs and applications. Individuals entering this field need to have completed training through a bachelor's degree program. More information about this field is profiled below.

Degree Required Bachelor's degree
Education Field of Study Software engineering, computer science
Key Skills Computer literacy, analytical, problem-solving, interpersonal
Certification Certification is voluntary
Job Growth (2012-2022) 22% (for all software developers)*
Median Salary (2014) $74,947 (for all software engineers)**

Sources: *U.S. Bureau of Labor Statistics, **PayScale.com

What Is a Software Engineer?

A software engineer is a technical specialist who uses concepts from mathematics and computer science to design, develop and test computer software systems and applications. The range of their work includes business productivity tools, such as word processors, spreadsheets and databases, along with Web content management systems, graphics editing programs, games, operating systems and programming languages. The devices for which they create include cell phones, magnetic resonance imaging (MRI) machines and computer systems at every scale from personal to mainframe. Design, development and testing may be applied to new software or toward adapting existing software to new hardware.

In the design phase, your duties would include consulting with clients about their needs and conferring with other engineers about implementation strategies. The development phase entails coordinating and supervising the work of programmers, engineers, technicians and any other members of the development team. You'll also test software, analyzing its performance and correcting bugs or adjusting its feature set.

Step 1: Earn a Bachelor's Degree in Software Engineering or Computer Science

A bachelor's degree in software engineering would have the most relevance for your objective, but computer science programs will provide you with the necessary foundation as well. Bachelor's degrees are typically earned in four years.

The subject matter covered in both types of programs is similar. You learn digital logic, algorithm design, data structures, project planning and the sequential, structured approach to programming. However, each has a different orientation. Computer science programs place as much emphasis on information processing theory as they do on practical applications of theory. Software engineering emphasizes the process of software development - analysis, design, implementation and validation.

Step 2: Participate in a Co-Op or Internship

If your school hosts an internship or co-op program, you'll likely wish to take advantage of it. Apart from observing and participating in a real-world development project, you can make contacts that may be helpful after you graduate. Some computer science and software engineering programs include internships in their curricula.

Step 3: Obtain a Position as a Software Engineer

Your employment options include computer systems design firms, computer services firms, software publishers, computer manufacturers, financial firms and insurance companies. You could also consider becoming an independent contractor. According to the U.S. Bureau of Labor Statistics (BLS), around 1 million software developers were employed as of 2012 (www.bls.gov).

Step 4: Pursue Continuing Education and Obtain Certification

To keep your skills up to date, you could attend seminars and continuing education courses provided by colleges and computer industry organizations. The Computer Society of the Institute of Electronics and Electrical Engineers (IEEE) hosts conferences and networking events and also offers two certifications - the Certified Software Development Associate (CSDA) and the Certified Software Development Professional (CSDP).

CSDA certification is open to recent graduates of software engineering programs, bachelor's degree candidates in their final year of study and non-degree professionals with two or more years of programming experience. The certification exam tests your knowledge of software development, maintenance, management and support.

CSDP certification is open to any candidate who has 7,000 hours of software development experience and a bachelor's degree, CDSA certification or IEEE membership. The exam for this credential tests your knowledge in such areas as software requirements, design, construction methods, configuration and testing.

Step 5: Earn a Master's Degree

To acquire advanced skills, a higher salary and more seniority you might consider earning a Master of Science in Software Engineering. Master's degree programs provide further training in the use of systematic, quantifiable and cost-effective approaches to software development, and they give you more experience devising solutions that work across multiple hardware platforms. You also have the opportunity to deepen your expertise in at least one language and to hone your ability to write clearly and critically about novel issues in software development. Master's degree programs are typically completed in two years.

To continue researching, browse degree options below for course curriculum, prerequisites and financial aid information. Or, learn more about the subject by reading the related articles below:

  • 1. Degree Options:

 More Schools