Software Engineer

How to Become a Software Engineer
Software Engineer Job Duties
Skills and Qualities Needed to Become a Software Engineer
Software Engineer Salary
Influential Professional Software Engineers
Leading Software Engineering Organizations
Top Cities for Software Engineer Jobs
Other Careers of Interest

How to become a Software Engineer

In addition to experience with a wide variety of computer systems and applications, most employment opportunities for software engineers require the applicant to have a bachelor's degree at the very least. The majority of software engineers currently working in the industry have degrees in computer science or specialized computer systems. Depending on the complexity of the position applied for, they may also be required to possess graduate degrees. In fact, of all the software engineers surveyed in 2006, more than 80% had bachelor degrees or higher.

Aspiring software engineers who are looking to enter the industry can greatly increase their chances of landing good employment positions by joining internships or co-op programs. These educational opportunities provide a wide range of knowledge in the discipline, as well as considerable levels of relevant experience. Some companies may also offer instructional programs for college graduates with little or no experience in the field.

What does a Software Engineer do?

The typical tasks of computer software engineers involve applying the principles of computer science and analysis of maths in order to design, develop, test and evaluate software for a wide variety of applications. Software engineers also have to constantly evaluate and improve on their skills, capabilities and knowledge in their field of specialization, along with other related areas, since the nature of the discipline means that it is ever changing.

Software engineers often work as part of a team that is tasked with designing and developing different types of software, ranging from computer games to office and business applications, operating systems, network software and compilers.

Oftentimes, software engineers are also involved in the analysis of the needs of their users and subsequently, the designing, testing and development of software that will address those needs. The process typically entails creating detailed sets of instructions for the computers that they are designed for. While the task of converting these instructions into a specific computer language usually falls upon computer programmers, software engineers are often required to perform such tasks themselves. Computer software engineers must therefore have a thorough familiarity with various operating systems in order to design software that will work with the systems they are intended for.

What skills or qualities do I need to become a Software Engineer?

Virtually all software engineering positions require the person to have considerable skills in problem solving, as well as the ability to analyze. Communication skills are also tremendously important, since a lot of the work is done in conjunction with other software engineers, personnel from other departments and even customers. The ability to multi task is also beneficial, since they are often called upon to handle different task at the same time, many of which will require concentration and strict attention.

Since the nature of technology is that it is always advancing, software engineers will need to keep up to date with the latest developments in the industry. To remain competitive in the field, they have to constantly adapt and add to their skills and knowledge. Depending on the particular setting in which they are working, software engineers also need to have a familiarity with the various aspects of the job, which may not be related to software engineering at all.

How much does a Software Engineer make?

The average salary of a software engineer was estimated at about $79,800 in 2006. Of this group, the middle half made anywhere from $62,800 to $98,500, with the lowest 10% making less than $49,300. The highest 10% of this group made more than $119,800. Software publishers are by far the largest employers of software engineers, with average salaries in the industry being somewhere around $84,600. Computer systems design businesses came in second, with average salaries pegged at $78,850. The management, scientific and technical industries had similar average salaries, as did company management, although both these sectors employed slightly fewer software engineers.

Who are some influential professionals in this field?

Some of the most notable and influential figures in the field of software engineering are John Backus, who was responsible for Fortran and BNF, as well as the first optimizing compiler; Vic Basili who developed the Experience factory; F.L. Bauer, who introduced the concept of Stack principle and the term Software Engineering; Kent Beck, who was primarily responsible for the development of refactoring, extreme programming, pair programming and test-driven development; Tim Berners-Lee, who played a significant role in the development of the world wide web; Barry Boehm, who has considerable accomplishments in software engineering economics and was responsible for COCOMO and the Spiral model and Grady Booch, who made his mark in the fields of object-oriented design and UML.

What are some leading organizations in this field?

One of the most respected institutions in the field of software engineering is The School of Software Engineering at Chongqing University. The school was founded in 2001 and is considered one of the best software engineering schools in the China. It has made a name for itself for excellence in the areas of research and instruction, as well as the high level of accomplishments of both its faculty and former students. The school currently has more than 30 members in its faculty, with instructors from various countries. There are10 technical and administrative staff members, over 600 undergraduate and 400 graduate students. Many of the members of the school's faculty have had training or previous work experience outside of China.

The ACCU or Association of C and C++ Users is a not-for-profit organization that is comprised of members from all over the world. The association primarily focuses on software development, with the goal of furthering the development of programming. While the association was originally established for C language practitioners, it has since expanded its scope to cover virtually all the major programming languages.

The Association for Computing Machinery or ACM was the world's first educational computing organization, having been established as early as 1947. The association currently has a membership of more than 83,000 and it is based in New York City.

What are the top cities for Software Engineering jobs?

In 2006, software engineers held more than 850,000 jobs. Of this figure, a large number were employed as computer applications software engineers, with computer systems software engineers taking up a smaller percentage. While software engineers can be found in virtually all areas of industry, the biggest employer, by far, is the computer systems design sector. Software engineers can also find plentiful employment opportunities in software publishing, government, computer and electronics manufacturing, the financial sector, insurance and various other businesses.

A large number of software engineers work as consultants, either on a contractual basis or as self-employed. More than 17,000 of all software engineers surveyed in 2006 were self-employed.

Among the cities that have a high number of employment opportunities for software engineers are New York, Houston, Chicago, Washington, Atlanta, Dallas, San Francisco, Los Angeles, San Diego and Boston. The following cities also have employment opportunities for software engineers, albeit to a lesser degree, Phoenix, Denver, Arlington, Redmond, Columbia, Austin and Minneapolis.

Other Careers of Interest

Chief Technology Officer
CTOs are chief executives and they oversee not only research and development, but also the general technological environment of a company. They...

Computer Programmer
Computer programmers write, test, and maintain the instructions computers use to function. They also create and test programs that allow problems...

Computer Software Engineer
Computer software engineers study the needs of computer users and then design software to meet those needs. They create a set of step by step instructions...

Database Administrator
Database administrators manage systems that help companies and corporations effectively and efficiently store, manage, and retrieve large volumes...

Information Technology Manager
Information Technology Managers are a key factor in implementing and maintaining computer systems and networks within a variety of organizations,...

LAN Administrator
The list of duties of a LAN Administrator is long and varied. LAN Administrators supervise all activities involved with maintaining an organization's...

MIS Director / Management Information System Director
An MIS director usually has diverse duties including managing people, vendor relationships, and business operations. They also research technology...

Network Administrator
Network administrators generally are at the highest levels of technical/network staff in an organization. Rarely is there involvement with direct...

Systems Administrator
The tasks of a systems administrator can be separated into three unique categories, those being: customer support, day-to-day administration and...

Technical Writer
Technical writers use their understanding of technology in their specific field of expertise to write information in simple terms so that everyone...

Web Developer
Though they frequently have knowledge of programming languages like C++ and Java, web developers are essentially proficient server-side language...

Web Programmer
A web programmer writes the code that will give end-users and internal clients the product or service they conceptualized and demanded. In plain...

As a webmaster, you'll be in charge of all the aspects of your website. You won't be specialized in one area of the website, but rather oversee...

Software Engineering Jobs

Browse by Location | Browse by Career



Career & College Resources


Creative Commons License