Software Engineer Job Description
Every business that generates its own computer programs or needs to personalize third-party software needs software engineers to write, edit, and test programs. There are many layers of computer software, and each requires a specialist in languages specific to that layer. Software engineering is a rapidly changing field: training in software is available at nearly all learning institutions, and most software engineers continue to learn on the job, as languages and development environments evolve.
Software engineers tend to specialize in a few areas of development, such as networks, operating systems, databases, or applications, and each area requires fluency in its own set of computer languages and development environments. A small percentage of software engineers work alone, but most collaborate with other specialists in development groups all working together to create complex projects.
|Education||Bachelor's degree in software, math, or science required|
|Job Skills||Analytical skills, group work, knowledge of intended audience, understanding of different roles|
|Median Salary (2018)*||$110,000 for systems software developers
$103,620 for applications software developers
|Job Growth (2016-2026)*||24% for all types of software developers|
Source: *U.S. Bureau of Labor Statistics
When determining how to become a software engineer, it may be helpful to know that most employers require software engineers to have at least a bachelor's degree in software, math, or science, as well as broad experience with computer systems and applications. Larger companies or organizations with unique or proprietary development platforms typically provide training for new employees.
Strong analytical skills and the ability to pay careful attention to detail are key to a successful career in software engineering. Also useful is the capacity to work well in groups and a willingness to understand the various roles played by fellow team members. Knowledge about the subject area in which they are working or the intended audience is valuable.
Employment and Salary Outlook
The U.S. Bureau of Labor Statistics (BLS) projects that jobs for software developers will grow by 24% from 2016 to 2026, making software engineering one of the fastest-growing sectors in the job market. As of May 2018, developers of systems software earn a median annual income of $110,000, while applications software developers earned a median of $103,620 per year.
Check out these other options for careers in software and computer development:
For those interested in working with software developers and writing code for applications and systems, becoming a computer programmer could be a good career move. Utilizing computer languages such as Java and C++, programmers construct working software products, run performance tests, and find ways to eliminate bugs in the programs.
Entering the profession requires a bachelor's degree in computer science or a related field. However, some employers may hire someone with significant programming knowledge and an associate degree in computer studies.
As reported by the BLS in 2018, the median yearly salary of computer programmers was $84,280. The BLS also projected a 7% decrease in available programming jobs between 2016 and 2026, with any potential openings occurring in the mobile and Internet technology industries.
Many web development positions may only require an associate's degree in web design or a similar field, but employers filling more complex web architecture jobs could require a bachelor's degree in programming or computer science. According to BLS predictions, web developers should experience 15% employment growth during the 2016-2026 decade. In 2018, the BLS estimated that 162,900 web developers worked in the U.S. and earned a median annual income of $69,430 in 2018.