Pros and Cons of a Software Engineer Career
As a software engineer, you'll have the opportunity to specialize in either computer applications or computer software. Read on to learn some of the pros and cons of this career.
Pros of a Career as a Software Engineer |
---|
Jobs are on the rise (22% increase expected between 2012-2022)* |
Option to specialize in systems software or computer applications* |
Flexibility (telecommuting jobs are common)* |
Most jobs are full-time |
Cons of a Career as a Software Engineer |
---|
Outsourcing of software engineering jobs is a concern* |
May need a master's degree |
Overtime work* |
Long hours in front of computers can be strenuous* |
Source: *U.S. Bureau of Labor Statistics
Essential Career information
Job Duties
You'll use your knowledge of technology and mathematics to create, design and evaluate computer software and applications. You'll work with many types of software, including word processing applications, compilers, databases and computer games. You would also create complex sets of instructions, known as algorithms, which direct computers to function. You may be called upon to program computers using languages such as C++, Java or other commonly used programming languages.
Employment Projections and Salary
The U.S. Bureau of Labor Statistics projects rapid growth in the field of software engineering between 2012 and 2022. Software engineers who specialize in systems software may see an increase of 20% in that decade. For software developers who specialize in applications software, there may be an increase of 23%.
In 2014, there were 686,470 application software engineers working in the U.S. That year, the median salary for these professionals was around $95,000. Also in that year, there were approximately 382,000 system software engineers working in the U.S. Those individuals earned a median salary of approximately $102,000.
What Are the Requirements?
Education Requirements
A software engineer must, at a minimum, have a bachelor's degree, although some employers may require a master's degree. Common bachelor's degree programs that may fit the requirements include computer science, information technology and computer information systems. In these degree programs, students learn the essentials of programming, database usage and differences in operating systems.
You may have the option to specialize in information security or information and knowledge systems. Coursework may include cryptography, data mining and text analysis. In a software engineering degree program, you'll take courses in data structures, algorithm design and functional programming. You may also take courses in computer graphics, database applications and object-oriented design.
What Are Employers Looking For?
Companies expect software engineers to have strong analytical, technical and problem-solving skills. They should also have strong communication and time management skills. Below are examples of job postings listed in March 2012:
- A New Jersey company seeks a software engineer with five years experience in software design. This individual should have experience with programs such as Siteminder, Websphere and Load Runner. Travel may be required.
- A company with offices in Massachusetts, New York, California and seven overseas countries seeks a software engineering trainee. This individual should have a bachelor's degree in computer science, information technology or information systems. Travel may be required and applicants must be able to work with others in team situations.
- A Pennsylvania company seeks a software engineer with 3-7 years experience, knowledge of C and C++ programming languages and object-oriented coding. This person should be a self-starter, able to work alone and in teams.
- An Indiana company seeks a software engineer with a bachelor's degree and a minimum of two years experience. Job duties include creating software and systems from every stage of development, from concept to evaluation of the finished product. This individual will be responsible for estimating project-completion time based on the needs of database users.
How to Beat the Competition
With technology changing so rapidly, there are a couple of ways that you might stand out from the crowd. You could earn professional certifications or pursue graduate study.
Earn Professional Certifications
The Association for Computing Management offers the Certified Software Quality Engineer credential, which requires a test based on the Body of Knowledge outlined by an organization known as ASQ. The exam covers topics such as quality management goals and methodologies to determine costs and improve processes. The test also covers resource and requirement management, software verification and project management.
The IEEE Computer Society offers one credential for entry-level software engineers. The Certified Software Development Associate credential requires successful completion of a 4-part test that covers 15 areas of knowledge. The credential is open to candidates of all levels of experience and education; however, the IEEE recommends the credential for those with bachelor's degrees in software or computer engineering.
Earn a Graduate Degree
Some employers prefer applicants with master's degrees in computer science, software engineering or a related field. These degree program sare available traditional classroom formats and in online formats. As a graduate student in software engineering, you'll take courses that examine topics such as software engineering techniques, software testing and software architecture.
Alternative Career Paths
If you enjoy working with computers but find yourself more interested in helping businesses use their computers more efficiently, a career as a computer system analyst may be what you're looking for. The BLS notes that a bachelor's degree is a common requirement. In 2011, there were 488,000 systems analysts working in the U.S., and the field is expected to grow 22% between 2010 and 2020. The median wage was around $79,000 in 2011.
Another option to explore is a position as a network and computer systems administrator. These professionals should have a bachelor's degree for entry-level employment, although an associate's degree or certificate may be sufficient. They are responsible for installation and maintenance of local and wide-area networks and data communication systems. In 2011, there were 342,000 network and computer system administrators working nationwide. Over the next decade, the field is expected to grow 28%. The median salary for these professionals was around $71,000 in 2011.