Software Engineering in Focus

A successful career in software engineering starts with the right degree program and ends with finding the perfect job. Along the way, students need to learn how to pay for their education, where to find internship opportunities and whether to specialize their skills. Fortunately, there is no reason to spend hours searching the web for answers. This career guide provides all the research a software engineering student needs to start on the journey to a successful career.

Careers in Software Engineering

Also known as developers, software engineers are the brains behind the computer programs we use on a daily basis. They may develop single applications or be responsible for engineering the software to run an entire system. Depending on their job and employer, software engineers may perform other functions as well. For example, while some software engineers work in tandem with computer programmers, others must do their own programming.

Within software engineering are two specialties: applications and systems software. Although both call upon the same computer science skills, their scope of work can be significantly different.

  • Applications software developers: Software engineers who focus on applications typically create end-user programs. They may develop word processing programs, mobile applications and games as well as customized software, such as databases, for businesses and organizations.
  • Systems software developers: The work of systems software developers serves as a backdrop for applications to run. These software engineers are responsible for developing the operating systems and system interfaces that run desktop, laptop and mobile devices.

To be successful in their jobs, both applications software developers and systems software developers need to be creative problem-solvers. It is their responsibility to identify user needs and then create software to meet those needs.

Although some software engineers work independently from home, these professionals often work as part of a larger project team. So it makes sense there would be more positions available in areas where a significant number of start-ups or technology firms are located. Software engineers in Iowa, for instance, may find they don’t have the same job opportunities or income potential as those living in California. Use this salary tool to see how job growth and average incomes compare in states across the nation.

Career Salary Tool

  • Computer Science Type:
  • Select a state:
  • Select City 1:
  • Select City 2:
Anchorage 2012 MEAN PAY $78,120 per year
Fairbanks 2012 MEAN PAY $68,570 per year


Although software engineering is an in-demand field, students shouldn’t expect a job to be handed to them at graduation. Employers may prefer job applicants who have hands-on experience, and an internship can be an excellent way to demonstrate competence. Not only do students get in-the-field work experience when they serve as an intern, they also have the opportunity to make networking connections that could help them land a job once they have a degree in hand.

Each internship program will have their own requirements, but they are typically available to those nearing graduation. Depending on the college or university, some schools may arrange internships for their students. For those who need to find an internship on their own, here’s a list of software engineering internships worth considering.

Canon USA
Where: Irvine, California
Description: Canon hires software interns to work with its engineers on projects such as creating mixed reality experiences. Applicants should have experience with writing and debugging complex applications as well as knowledge of C#, Unity 3D development and various APIs among other requirements.
More Info:

APS/IBM Research Internship for Undergraduate Women
Where: Varies
Description: The American Physical Society and IBM co-sponsor 10 week salaried internships for women enrolled in graduate science and engineering degree programs. Interns are allowed to choose their own focus for research conducted during the program.
More Info:

American Indian Science and Engineering Society
Where: Varies
Description: The AISES coordinates 10 week summer interns for its student members. Interns must be sophomores, juniors or seniors and have a GPA of 3.0. The program provides transportation, lodging and weekly stipend to participants.
More Info:

Thomson Reuters
Where: Eagan, Minnesota
Description: Thomson Reuters offers paid internships to students enrolled in computer science, information technology and similar degree programs. Intern duties may include programming and testing software, creating databases and researching prototype projects. Internship opportunities may also be available at other Thomson Reuters locations.
More Info:

Where: Menlo Park, California
Description: Facebook offers a variety of 12 week , paid internships. Software engineering interns need a degree in a computer science degree and expertise with C++ or Java. They must also have knowledge of one or more of the following: Perl, PHP, Python, SQL and relational databases.
More Info:

Where: Kansas City, Missouri
Description: Travelport hires interns who are in their junior year of college or later for a 12 week, paid program. Software engineering interns need to have knowledge of C++, C# and .net as well as an understanding of productivity applications.
More Info:

Thermo Fisher Scientific
Where: Madison, Wisconsin
Description: Thermo Fisher Scientific offers paid software internships at its Madison location. Participants must be at least a junior level student in a software or computer engineering degree program and should have knowledge of at least one development tool such as C# or Java.
More Info:

Brooks Automation
Where: Poway, California
Description: Brooks Life Division hires software interns to help analyze log files, verify content and design performance data processing applications, among other tasks. Applicants should be proficient in Microsoft Word and PostgreSQL as well as an additional programming language such as Java, C# or VB.NET.
More Info:

Where: Boise, Idaho
Description: HP software internships may include responsibilities such as managing software, conducting research and offering technical support. Interns should have experience with Linux, Perl, Python, C, C++ and Java. Other internship opportunities may be available at other HP locations.
More Info:

Genova Technologies
Where: Cedar Rapids, Iowa
Description: Software engineer interns for Genova Technologies assist with writing code, developing model-based software and special projects. Applicants should be entering their junior or senior year and pursing a degree in software engineering.
More Info:

Where: Sioux Falls, South Dakota
Description: Daktronics gives students a chance to shadow an engineer for a semester. Interns may help develop, debug and maintain software applications as well as write code and assist in product development. Applicants should be pursuing a bachelor’s degree in software engineering or a related field and must have knowledge of object oriented programming.
More Info:

Where: Cambridge, Massachusetts
Description: iZotope offers an internship for computer science students to work as a software test engineer. Applicants must be proficient in an object oriented language and have knowledge of a scripting language.
More Info:

Where: Seattle, Washington
Description: Junior software engineer interns with Nuance may be assigned to enterprise research and development where they assist as an Android/Java developer. Java and Android skills are required while experience with Maven and Gradle is preferred.
More Info:

Cengage Learning
Where: Farmington Hills, Michigan
Description: Software engineer interns for Cengage Learning must have experience with JUnit or test driven development, XML parsing and application development. Applicants should be full-time students at an accredited college who are at least sophomores.
More Info:

Where: Salem, Oregon
Description: Garmin hires paid interns for its summer program. Both college students and early career professionals are invited to apply. Software engineering interns must be trained in a high level language such as C, C++, C# or Java.
More Info:

Red Hat
Where: Westford, Massachusetts
Description: Red Hat seeks interns to help with proof-of-concept projects such as creating tools for Fedora container-base images. Applicants must have experience with Python, be familiar with containers and willing to work in an open source community.
More Info:

Where: Pittsburgh, Pennsylvania
Description: Software development interns hired at IBM’s Pittsburgh location may help with the Watson project and work to enhance cognitive computing abilities. Applicants should be skilled in C/C++, Java or Scala development.
More Info:

Northrop Grumman
Where: Clearfield, Utah
Description: Northrop Gumman’s software engineering internship offers to write and support software systems written in many different languages. Applicants should have the ability to use programming languages, work full-time and obtain secret clearance.
More Info:

Metaswitch Networks
Where: Richardson, Texas
Description: Metaswitch Networks hires interns to install and configure software. Interns may also be responsible for some light software development in Linux.
More Info:

Trapeze Group
Where: Cedar Rapids, Iowa
Description: The Trapeze Group hires paid software developer interns to work a variety of projects. Applicants must have experience with object oriented analysis and design, relational databases and web development.
More Info:

Where: New York, New York
Description: Knewton offers paid software engineering internships that may be a good fit for those interested in coding. Applicants must have coding experience and knowledge of Java.
More Info:

Where: Huntsville, Alabama
Description: Intergraph offers several internship opportunities for software engineering students. Interns may need to have knowledge of the following: Windows operating systems, Microsoft .Net, Oracle and MS SQL/Server.
More Info:

Where: Boulder, Colorado
Description: LogRhythm offers interns hands-on experience in a security space. Applicants must be a junior or senior who is majoring in a computer science field and can use C++, C#, JavaScript and Basic SQL.
More Info:

Where: Jersey City, New Jersey
Description: Software developer interns for SunGard provide support work, C# development and technical documentation. Applicants should understand web code as well as broker code.
More Info:

Where: Varies
Description: Intel hires interns at all its major U.S. sites. Eligibility requirements may vary depending on whether the intern position is intended for a bachelor’s, master or doctoral student.
More Info:

Software Engineering in College

Students interested in software engineer careers have several education choices. Associate degree programs offer engineering basics and may be sufficient for entry-level jobs. However, a bachelor’s degree is more typical. Those who wish to work on complex projects may want to pursue a master’s degree which can provide specialized skills.

However, before enrolling in a degree program, it’s important to know how to pay for it. While student loans may be the norm, there is plenty of free money to be found for software engineering programs.


Rather than graduate under a pile of debt, students should look for other ways to pay for college. Scholarships are one way to get money for a software engineering degree. These programs may require individuals to meet certain income or grade requirements, but otherwise, scholarships offer free money that does need to be repaid upon graduation.

School financial aid offices may have a list of scholarships available to their students, and here are 25 scholarships open to students studying to become software engineers.

AWC Scholarship Fund for Women in Computing

Amount Eligibility More Info
$1,000 Open to females studying at an accredited institution in Washtenaw County, Michigan (home of the University of Michigan main campus). Applicants must be pursuing a career in a computer or technology related field and have at least two semesters of coursework remaining.

Arkansas High-Tech Scholarship

Amount Eligibility More Info
$250 Open to Arkansas residents enrolling in a post-secondary technical program. Applicants must have a minimum 2.5 GPA in high school and score at least a 19 on the ACT, 730 (combined math and science) on the SAT or graduate in the top ten percent of their high school class.

Honeywell International, Society of Women Engineers

Amount Eligibility More Info
$5,000 Open to female U.S. citizens planning to major in an engineering discipline.

Banatao Family Filipino American Education Fund College Scholarship

Amount Eligibility More Info
$5,000 Open to incoming freshman who reside in certain Northern California counties and are enrolled in an accredited four-year program with a major in math, science or engineering. Applicants must have a 3.0 GPA and have at least 50 percent Filipino heritage.

Betty Stevens Frecknall Scholarship

Amount Eligibility More Info
Unspecified Open to student members of the Association of Information Technology Professionals and a declared computer science major with a GPA of at least 3.0. Applicants must be enrolled in a full-time program and have completed at least 12 semester hours of college.

MESBEC Catching the Dream

Amount Eligibility More Info
$500-$5,000 Open to students who are at least one-quarter American Indian and enrolled in a recognized U.S. tribe. Applicants must be enrolling in a full-time accredited program to study in one of six priority areas including math, science and computers.

Davidson Fellows Scholarship

Amount Eligibility More Info
$10,000-$50,000 Available to individuals younger than age 18 who have completed a significant piece of work in areas such as science, technology and engineering.

Department of Energy Computational Science Graduate Fellowship

Amount Eligibility More Info
$36,000 yearly stipend plus tuition and other benefits Open to doctoral students who are studying fields that rely on high-performance computing to solve complex problems in the realms of science and engineering.

ESA Foundation Scholarship Program

Amount Eligibility More Info
$3,000 Open to women and minority students enrolled in degree programs leading to computer and video game arts careers. Applicants must have a 2.75 GPA and enrolled in an accredited four-year program.

Ford Motor Company Tribal Scholars Program

Amount Eligibility More Info
Unspecified Open to Native American students studying select fields including computer science, engineering and math.

HSF/Proctor & Gamble Scholarship Program

Amount Eligibility More Info
$2,500 Open to Hispanic students studying in a STEM (Science, Technology, Engineering and Math) field. Applicants must have plans to enroll in an accredited four-year program and have a minimum 3.0 GPA.

Minnesota Space Grant Consortium Scholarships and Fellowships

Amount Eligibility More Info
Unspecified Open to students enrolling in a participating Minnesota school who are studying science, math or engineering and interested in working for NASA. A 3.5 GPA is typically required. http://

Nellie Martin Carman Scholarship Fund

Amount Eligibility More Info
$500 - $2,000 Open to seniors graduating from a public high school in King, Pierce or Snohomish counties in Washington state and enrolling full-time in a Washington college.

HENAAC Scholars Program

Amount Eligibility More Info
$500 - $10,000 Open to students enrolled in a two-year or four-year undergraduate or graduate program who are studying in a science, technology, engineering or math field. Applicants must have a 3.0 GPA and either be Hispanic or actively involved in the Hispanic community.

SciTech Scholarship

Amount Eligibility More Info
$3,000 Open to Pennsylvania sophomores enrolled in one of the designated degree programs which include software engineering. Applicants must have a 3.0 GPA.

SMART Program

Amount Eligibility More Info
$25,000 - $38,000 stipend plus tuition reimbursement Open to students enrolled in an undergraduate or graduate program in the areas of math, science and engineering. Recipients must be will to participate in summer internships with the Department of Defense and accept employment with the department after graduation.

SHPE Foundation Scholarship

Amount Eligibility More Info
$1,000 - $3,000 Open to SHPE members studying in the fields of science, technology, engineering and math. Applicants of Hispanic descent are preferred.

Society of Women Engineers, Golden Gate Section

Amount Eligibility More Info
Unspecified Open to females graduating from high school and pursuing a degree in engineering or a related field. Applicants must resident in the greater San Francisco Bay Area.

Society of Women Engineers

Amount Eligibility More Info
Varies The Society of Women Engineers offers a wide range of scholarship opportunities to females studying engineering and related fields. Each scholarship has its own eligibility and applicant requirements.

College Success Program

Amount Eligibility More Info
$500 - $5,000 Open to first-generation college students from low-income families in the states of California, Illinois, Texas and New York.

The Google Anita Borg Memorial Scholarship

Amount Eligibility More Info
$10,000 Open to female students enrolled in a full-time undergraduate or graduate program and majoring in computer science, computer engineering or a related field.

Illinois Institute of Technology Transfer Tuition Scholarship

Amount Eligibility More Info
$10,000 Open to students transferring to the Illinois Institute of Technology.

Wayne V. Black Memorial Scholarship

Amount Eligibility More Info
$5,000 Open to students working toward a bachelor’s degree in five areas including engineering and computer science. Applicants must have a minimum 3.0 GPA and be currently enrolled in an accredited program.

West Virginia Engineering, Science and Technology Scholarship Program

Amount Eligibility More Info
$3,000 Open to students enrolled in an engineering, science or technology certificate or degree program. Recipients must agree to work in the engineering, science or technology sector in West Virginia after graduation.

Xerox Technical Minority Scholarship

Amount Eligibility More Info
$1,000 - $10,000 Open to minority students enrolled in a degree program in the technical sciences or engineering disciplines.

Software Engineering Degree Programs

Just as there are many different types of students, there are many types of software engineering programs. Generally, colleges and universities offer three ways for students to earn their degree.

Campus-based programs: These are traditional degree programs that require students to attend classes on-site and submit work in person. Campus-based programs are most commonly offered during weekdays but some schools may offer night and weekend programs as well.

Online programs: Online degree programs are offered entirely online. They may be synchronous, meaning all class participants may long in at a specific time, or asynchronous, in which students may log in and complete work at their convenience.

Hybrid programs: A hybrid program is a third option for students wishing combine the convenience of online degrees with the hands-on experience gained through campus-based program. Students may complete the majority of their work online but have campus-based elements such as labs or hands-on experiences as well.

Online Degrees in Depth

Online degree programs are revolutionizing the way education is delivered in America, but it still has some limitations. Some careers require clinical experience while others may benefit from having hands-on instruction. However, earning a software engineering degree online isn’t a problem.

Computer technology makes it easy to electronically teach software engineering basics, assess student progress and expand upon specialized skills. Using a variety of communication options from Skype to Blackboard to Adobe Connect, students can collaborative with their peers and receive immediate feedback from instructors. Assignments can be completed remotely and submitted via email or the web.

Self-Paced vs. Real-Time

As mentioned previously, an online software engineering degree program can be structured in two ways: synchronous or asynchronous. Students who have erratic schedules and are self-disciplined enough to work independently may want to consider an asynchronous software engineering degree program. These allow students to self-paced and work on a schedule convenient to them. However, those who benefit from the structure of a designated class times may wish to enroll in a real-time, or synchronous program, which requires students to be online for specific times to listen to lectures or participate in class activities.

Equipment Standards

Before signing up for a software engineer degree online, students should be sure they have the necessary equipment. Generally, online schools may require a computer, broadband connection and certain web browser, the video viewing and word processing programs. However, software engineering degrees may have more intensive requirements. Students may have to buy specialized programs or need a computer with processing power beyond that provided by a typical consumer computer. Students investigating software engineer online degree programs should inquire into equipment requirements and the price before enrolling in a program.

Student Profile #1

Angela wasn’t sure she wanted to commit to a four year degree and enrolled in an online associate degree program instead. She liked the ability to log on and do her coursework whenever was convenient for her. Before graduation, she decided she liked the software engineering enough to continue on to a bachelor’s degree. Angela spoke to her school’s career counselor who helped her go through the process of transferring to a four-year program.

Associate’s Degree in Software Engineering (2 years)

The associate’s degree in software engineering is a two-year program that provides students with the basic knowledge to become software developers. The first year may focus more on general concepts while the second year is devoted to learning specific programming languages. Students often graduated with an Associate of Applied Science in Software Engineering. The table below illustrates a typical associate degree curriculum, but specific courses and requirements will vary by school.

First Semester (Freshman) Credits Overview
Introduction to Computer Science 3 An overview of the key concepts of computer science and an introduction to programming basics.
Business Practices 3.5 Introduction to how computer science applies to modern business practices.
Elementary Database 4.5 An introductory course to database concepts.
Technical Mathematics I 3 First of a two-course series that teaches intermediate algebra and trigonometry and their technical application.
Second Semester (Freshman) Credits Overview
Technical Communications 3 Practical review of how to communicate technical information and data.
Database Systems 4.5 A more in-depth look of database systems.
Matrix Algebra and Problem Solving 3 Overview of matrix theory and linear algebra.
Technical Mathematics II 3 Expands on the technical application of algebra and trigonometry.
Success Planning 2 Provides strategies to map out a successful career.
Third Semester (Sophomore) Credits Overview
Competing for Employment and Promotions 3 Career-focus course designed to assist students in their job search.
Elementary Java 4.5 Introduction to the programming language Java.
Elementary Visual C++ 4.5 Introduction to the programming language C++ with a focus on theory and the use of sample code.
Calculus I 3 First of a two-course series on Calculus theory and practice.
Fourth Semester (Sophomore) Credits Overview
Intermediate Java 4.5 Expands on basic Java skills to reinforce exception handling and event handling. Begins to introduce advanced concepts.
Intermediate Visual C++ 4.5 Provides intermediate C++ programming skills including creating and troubleshooting actual code.
Calculus II 3 Conclusion of Calculus theory and practice.
Administering SQL Database 4 Covers starting, pausing and stopping a SQL server, importing and exporting data and managing security, servers and clients.
Team Building 2 Overview of basic teamwork concepts and team building strategies.

Student Profile #2

Always fascinated by computers, Jeremy enrolled in a software engineering program right out of high school. After his first two years, he decided to concentrate on security systems software. He completed an internship with a data security firm his senior year and was offered a job by that company upon graduation.

Bachelor’s Degree in Software Engineering (4 years)

Students may enter into a bachelor’s degree program directly from high school or they may earn associate degree first before continuing their education in a four year program. At the junior and senior level, students may gain more freedom to take elective courses and to specialize in a particular area of software development. Although classes will vary by school, the chart below shows what students can typically expect during years three and four of a bachelor degree program.

Fifth Semester (Junior) Credits Overview
Software Process and Project Management 3 Overview of the principles, techniques and tools for model-based project management.
Secure Software System Development 3 Delves into common programming errors and how those can leave software vulnerable to security threats.
Engineering Fundamentals of Computer Systems 4 Introduction to data compression, data storage, digital systems and error detection.
Engineering Elective 3 An engineering class chosen by the student.
General Elective 3 A general education class chosen by the student.
Sixth Semester (Junior) Credits Overview
Software Systems Architecture 4 Overview of software architecture and review of methods to document and evaluate systems.
Applications Elective 3 Class chosen by student that focuses on application software.
Software Process Elective 3 Class chosen by student that focuses on a software process model.
Software Verification and Validation 3 Theory and practice of software testing procedures.
General Elective 3 A general education class chosen by the student.
Seventh Semester (Senior) Credits Overview
Software Engineering Project I 3 The first half of a capstone project related to the student’s academic focus. May focus heavily on conceptualization.
Software Project Management 3 Review of project management methodologies as they relate to software development.
Wireless Mobile Software Development 4 Design and deploy a mobile application for an Android device.
General Elective 3 A general education class chosen by the student.
Eighth Semester (Senior) Credits Overview
Software Engineering Project II 3 The second half of the senior capstone project. May involve implementation, testing and review.
Computer Ethics 3 Ethical implications of computer technology, data collection and store and analysis of developer responsibilities.
Technical Elective (Based on Specialty) 4 A technical elective that allows the student to learn a skill or explore an interest in the technical field but not necessarily aligned with the major.
General Elective 3 A general education class chosen by the student.

Student Profile #3

Eric already had a bachelor’s degree in software engineering, but his employer wanted him to take on more complex projects. Through a benefit program offered by his employer, Eric was able to receive tuition assistance that allowed him to go back to school for a master’s degree that let him learn advanced skills. After graduation, his company offered him a raise and a promotion.

Master’s Degrees in Software Engineering

Students wishing to learn advanced techniques should consider earning a master’s degree in software engineering. Some master’s programs may cater specifically to career-minded individuals and focus on practical, hands-on learning opportunities. Others are intended to prepare students for doctoral degrees and may have a heavy emphasis on theory. Students should take care to enroll in a master’s degree program that caters to their education and career goals.

While there may be differences from school to school, most programs combine a set of core courses with an individually chosen “track.” These tracks provide the opportunity to specialize and examples of master degree concentrations include artificial intelligence, programming languages, and theory and scientific computation.

Concentration tracks will differ significantly depending on the student and institution. However, the following chart illustrates some of the common core courses a software engineering student might take.

Master’s Program Core Courses Overview
Software Design Introduces the fundamentals of software design with students designing and implementing a service-oriented project.
Dependable Software Systems In-depth look at software testing and software reliability. Topics may include syntax testing, N-version programming and test execution automation.
Requirements of Engineering and Management Advanced focus on the intersection of engineering, business planning and information systems.
Software Project Management Advanced review of software project management theory and practice.
Fundamentals of Computer Hardware Covers the organization and architecture of all elements of computer hardware, processors, control units and memories.
Information Technology Integration Advanced topics in software measurement, estimation and technology alternatives.

PhD in Software Engineering

While a master’s degree in sufficient for most practical needs, software engineers interested in research or working in academia may need a doctoral degree. Earning a PhD in software engineering can take up to four years or more of post-master’s degree coursework.

Unlike undergraduate and master’s degree programs, doctoral degrees are highly individualized. Coursework will depend upon the student’s particular interests and specialty. However, all PhD candidates work closely with a faculty advisor as they select courses and prepare a final dissertation project.

Schools with Software Engineering Programs

Search A School
Total Results:
University of Phoenix-Online CampusPhoenix, AZ307,871Private, 4-year$9,216Online
Bachelor’s - ONLINE
  • Bachelor of Science in Information Technology with a concentration in Software Engineering
Arizona State UniversityTempe, AZ72,254Public, 4-year$9,208Both
  • Computer Engineering- General
  • Computer Engineering Technology/Technician
  • Computer Engineering- General
Bachelor’s - ONLINE
  • Bachelor of Science in Software Engineering
Master’s - ONLINE
  • Master of Science in Engineering in Engineering Science Concentration in Software Engineering
Liberty UniversityLynchburg, VA64,096Private, 4-year$18,562Campus
  • Computer Engineering- General
  • Computer Software Engineering
Miami Dade CollegeMiami, FL63,736Public, 4-year$2,483Campus
  • Computer Technology/Computer Systems Technology
Houston Community CollegeHouston, TX63,015Public, 2-year$744Campus
  • Computer Engineering Technology/Technician
University of Central FloridaOrlando, FL58,465Public, 4-year$4,426Campus
  • Computer Engineering- General
  • Computer Engineering- General
  • Computer Engineering- General
Ohio State University-Main CampusColumbus, OH56,867Public, 4-year$9,168Campus
  • Computer Engineering- General
  • Computer Engineering- General
  • Computer Engineering- General
University of Minnesota-Twin CitiesMinneapolis, MN52,557Public, 4-year$12,060Campus
  • Computer Engineering- General
  • Computer Engineering- General
Texas A & M University-College StationCollege Station, TX50,230Public, 4-year$5,297Campus
  • Computer Engineering- General
  • Computer Engineering- General
  • Computer Engineering- General