Learn more about what you can do with a degree in software engineering. Find information on software engineering careers, job outlook, salary, and recommended schools. View popular schools that prepare students for careers as software engineers.
Through the process of making computers more user friendly, programs were invented allowing the individual to do all manner of tasks. These programs are called software, and they are designed and developed by software engineers. There are as many different types of software today as there are personal computers. Computer software includes games, operating systems, word processing, Internet browsers, business applications and more. Software engineers are the ones who apply computer science and mathematics to develop new programs. Through the process of design and testing, software engineers spend hours writing algorithms (detailed computer instructions) that tell the computer how to perform.
A Bachelor’s degree in software engineering, information systems, computer science or mathematics is the preferred education level for this career. Many employers are also seeking candidates with extensive experience in computer programming. The ever-changing nature of computer technology will also force an experienced software engineer to continue his or her education long into a career, through advanced graduate degrees, continuing education courses and professional development seminars and professional publications. At their core, successful software engineers must have mastery over problem-solving and analytical skills. They must also have a certain level of creativity that allows them to develop completely new programs out of an emerging need.
Software engineers can be divided into two main categories. Computer applications software engineers are those individuals who design, construct and oversee general or specialized computer programs. They generally work in one of several computer languages, most commonly C, C++, Java or Python. Frequently, these engineers work on computer systems for businesses. Computer systems software engineers are the individuals responsible for the building and maintenance of a company’s computer systems. They analyze the various software needs of a company and suggest solutions for making those needs (billing or payroll, for example) more efficient. Computer systems software engineers are also, in general, responsible for a company’s intranet (the network that links a company’s computers) as well as computer security systems, such as firewalls. More and more, these engineers work for companies that design and install computer systems for other companies. As computer systems continue to advance, many software engineers have discovered that their job no longer requires them to be in an office 40 hours a week. Telecommuting and self-employment are modern features of this career that allow for greater flexibility.
Software engineers earn considerable salaries, commensurate with the education level and technical expertise required in the field. The median annual wage for computer application software engineers, as of 2008, was $85,430. This ranged from a low of under $53,000 for the bottom ten percent to a high of over $128,000 for the top ten percent. Most individuals in the industry had salaries between $67,790 and $104,870. The highest paying jobs for computer applications software engineers were in the computer equipment and supplies industry, which saw annual salaries in the range of $93,740.
Computer systems software engineers had similar salaries. In 2008, the average median income for this profession was $92,430. Most individuals earned between $73,200 and $113,960. The lowest 10 percent in the profession still earned in the neighborhood of $57,000 annually, while the top of the profession saw annual incomes above $135,000. The highest paying jobs for computer systems software engineers could be found in the scientific research industry, with an average annual salary of $102,090.
The employment prospect for software engineers over the coming decade is expected to be much better than average. The need for software engineers is projected to see 32 percent growth, as nearly 300,000 jobs in the industry are expected to open in the coming years. The explosion of the Internet will see the need for a large number of Internet and intranet applications. Further, growth in mobile technology (e.g. smart phones, handhelds, etc.) will require specific business applications that will require the services of an increasing number of software engineers. New technology will see the need to integrate new programs with existing systems. The expansion of the Internet and mobile technology will also require increasing needs in cybersecurity, as companies and individuals seek to better protect the information that they send across the World Wide Web. Because software engineering requires creativity as well as long-term commitment to development, outsourcing of the industry is not expected to be problematic.