Computer Software Engineer Careers: Job Description & Salary Info

About this article
What are the pros and cons of being a computer software engineer? Get real job description and salary information to see if becoming a software engineer is right for you.
View available schools

Pros and Cons of Being a Computer Software Engineer

Computer software engineers are vital in the development and maintenance of new software and systems. Weigh the pros and cons to decide if you want to pursue a career in computer software engineering.

Pros of Being a Computer Software Engineer
Favorable job growth (projected increase of 22% from 2012-2022)*
High earnings (median salary was about $103,000 as of 2014)*
Opportunity to specialize in types of software*
Job allows for a degree of creativity*

Cons of Being a Computer Software Engineer
Bachelor's degree is the minimum education requirement*
Experience in programming may be needed*
May require long hours (25% worked more than 40 hours weekly in 2010)*
Industry-specific knowledge may also be required*

Source: *U.S. Bureau of Labor Statistics (BLS)

Career Information

Job Description and Duties

Computer software engineers, also known as software developers, employ principles of computer science, application engineering and mathematics to develop and evaluate software. These specialized engineers usually work on a team with other developers, programmers and information technology project managers.

These engineers must be highly creative, but they also need to have strong analytical skills. They work with clients or users to figure out what programs need improvement or whether new software must be created to address users' needs. Along with designing software, they may explain how to create the software to programmers. In some workplaces, software engineers need to be able to program the software themselves.

Software engineers can work in applications or systems development. System software developers develop operating systems or computer interfaces. Application software developers usually make programs that are used on computers and via the Internet, like games and word processors.

Salary Information and Career Outlook

Salaries for software engineers vary by specialty. The BLS reports that systems software developers earned a median salary of about $103,000 as of May 2014, with the top ten percent of these specialists earning about $150,000 or more per year. In the same year, software developers who specialized in applications made a median salary of about $95,000, with the top ten percent earning a median salary of more than $149,000 per year.

The BLS also projected that overall employment of software developers would grow 22% for the years 2012-2022. This much-faster-than-average growth may be due to the need to improve or create applications and systems that can be used in businesses, healthcare industries, cell phones, mobile technology and computers.

What Are the Requirements?

The majority of employers hire software engineers with at least a bachelor's degree. Computer science and software engineering are some examples of degree programs for software engineers, but computer science is the most common major. You also need to know how to use the most recent programming languages. You may also need familiarity with technology particular to the field in which you work. For example, if you work in healthcare software development, you may need to be familiar with programs and technology used by doctors and other medical staff. Other useful skills and qualities include:

  • Attention to detail
  • Strong communication skills
  • Enjoy working with computers and programs
  • Ability to analyze and solve problems
  • Ability to think of new products or enhancements for technology
  • Like to work with others

Job Postings from Real Employers

Most employers require applicants to have a bachelor's degree, years of experience and superb communications skills. While specific technical requirements vary for each employer, two common requirements are experiences in Java and .Net frameworks. Here are some specific job postings that were on CareerBuilder.com in April 2012:

  • A financial services company in Texas looked for a systems developer/systems administrator who had at least four years of experience in developing C# web applications. Additional requirements include experience in HTML, SQL Server databases, businesses and project management.
  • A technology and analytical services company in Georgia sought a software applications developer who knew how to use Java and particularly J2EE frameworks. The employer also preferred a candidate who could use Eclipse, Maven, JMX and Websphere.
  • An automotive services company located in Illinois requested a software developer who could provide coding and testing. The employer required applicants to be proficient in ASP.NET/VB.NET, HTML, XML and SQL Server 2005. The applicants also would develop or program web applications.
  • An IT services firm based in Wisconsin needed an application developer with experience in designing and developing N-Tier applications. Applicants must know how to use Java, .Net frameworks and Visual Studio 2005 or 2008.

How Can I Stand Out?

Earn a Graduate Degree

While most software engineers can enter the career with a bachelor's degree, you can gain advanced knowledge in software development by earning a master's degree. In fact, advanced positions may only be available to applicants who hold master's degrees. Many schools offer graduate degrees in software engineering, though you may also pursue a degree in computer science or another related field.

Get Certified

Certification is not required for employment; however, many IT professionals who program software obtain certification in specific programming languages or software products through software companies or vendors. For example, you could pursue Java certification or Microsoft SQL server certification to demonstrate your proficiency to employers.

Alternative Careers

Computer Support Specialists

If you want a career in computers that doesn't require software development, consider a career in computer support. These professionals can work in technical support or customer service. While the technical support specialists typically receive a bachelor's degree in a field related to computers, help-desk technicians may only need work experience with computers. These workers have a multitude of job duties, like troubleshooting networks, helping users solve technical problems or maintaining networks.

According to the BLS, jobs for computer support specialists were projected to grow 18% from 2010-2020. The BLS also states that these workers earned a median annual salary of about $48,000 as of May 2011.

Network and Computer Systems Administrators

If you want a less customer-service-based career in information technology, network and computer systems administration may be right for you. These workers help maintain data networks and computer systems for companies and other organizations. They may install and upgrade software and hardware, troubleshoot technical issues and protect information from viruses or hackers. While most administrators have bachelor's degrees, you may enter the career with an associate's degree or certificate and applicable work experience.

According to the BLS, these workers are expected to experience employment growth of 28% from 2010-2020. In May 2011, network and computer systems administrators made a median annual wages of about $71,000.

Popular Schools

  • Online Programs Available
    1. Purdue Global

    Program Options

    Master's
      • MS in IT - Secure Software Development and Quality Assurance
      • MS in Cybersecurity Management - Secure Software Development and Quality Assurance
    Bachelor's
      • BS in Analytics - Software Development Using C#
      • BS in Analytics - Software Development Using Java
      • BS in Analytics - Software Development Using Python
      • BS in Analytics - Software Development Using Web Languages
      • BS in Cybersecurity - Software Development Using C#
      • BS in Cybersecurity - Software Development Using Java
  • Online Programs Available
    2. Grand Canyon University

    Program Options

    Master's
      • M.S in Software Development
      • M.S in Software Engineering
    Bachelor's
      • B.S. in Software Development
  • Online Programs Available
    3. Liberty University

    Program Options

    Master's
      • MS: Information Technology: Software Design & Management
      • MS: Engineering Management: Leadership
  • Campus and Online Programs
    4. Full Sail University

    Program Options

    Bachelor's
      • Bachelor of Science - Software Development
  • Online Programs Available
    5. National University

    Program Options

    Doctorate
      • PhD-TIM - Engineering Management
  • Boston, MA

    Boston University

  • Campus Locations:
    7. Universal Technical Institute

    Program Options

    Certificate
      • Wind Power Technician

Featured Schools

Purdue Global

  • MS in IT - Secure Software Development and Quality Assurance
  • MS in Cybersecurity Management - Secure Software Development and Quality Assurance
  • BS in Analytics - Software Development Using C#
  • BS in Analytics - Software Development Using Java

Which subject are you interested in?

Grand Canyon University

  • M.S in Software Development
  • M.S in Software Engineering
  • B.S. in Software Development

What is your highest level of education?

Liberty University

  • MS: Information Technology: Software Design & Management
  • MS: Engineering Management: Leadership

What is your highest level of education?

Full Sail University

  • Bachelor of Science - Software Development

What is your highest level of education?

National University

  • PhD-TIM - Engineering Management

What is your highest level of education?

Universal Technical Institute

  • Wind Power Technician

What is your highest level of education completed?