Computer Programming and Analysis: Salary and Career Facts
Research what it takes to become a computer programmer. Learn about the education and training requirements, job responsibilities, and salary information to find out if this is the career for you.
What Is a Computer Programmer?
As a computer programmer, you will create software and program applications. A computer programmer will be deeply familiar with programming languages like C++ and Java. Programmers will know a variety of computer code and be able to work with existing programs to update or repair them. When computer programs act up, programmers do an analysis and check for faulty lines of code and rewrite them. Their main function, though, is to write and test code to make sure they function properly so a computer's applications or software programs work well together. The following table presents an overview of this career:
|Degree Required||Bachelor's degree|
|Education Field of Study||Computer science, software engineering or a related field|
|Key Responsibilities||Work with programming languages, maintain client-server databases, develop workflow charts, manage operational problems|
|Job Growth (2018-2028)||-8%*|
|Median Salary (2018)||$84,280*|
Source: *U.S. Bureau of Labor Statistics
What Are the Job Duties of a Computer Programmer?
In this position, you might use programming languages like C++ and Python to convert software plans into a set of tasks a computer can follow. If you're working on a large-scale project, you could use a computer-assisted software engineering (CASE) application - an automated program that creates code without help from a programmer. You could also use programming environments - applications that combine essential tasks, such as code generation and debugging. Additional job duties might include:
- Maintaining client-server databases
- Developing workflow charts
- Analyzing data storage procedures
- Collaborating with other programmers
- Managing operational problems
Do I Need a Degree?
According to the U.S. Bureau of Labor Statistics (BLS), you may be qualified to work as a computer programmer by earning a bachelor's degree in computer science, software engineering or mathematics (www.bls.gov). Most bachelor's programs take approximately four years to complete and can be found in campus-based and online formats.
In a computer science bachelor's program, you'll study topics like computer hardware, programming languages and operating systems. You might take advanced mathematics courses, including linear algebra, discrete mathematics or algorithms. Bachelor's programs in mathematics include topics like differential equations, complex variable applications, differential geometry, modern algebra and number theory.
Software engineering bachelor's programs could teach you how to design programs that run laptops, cell phones and video games. Areas of study might include operating systems design, software engineering processes, software architecture and human-computer interaction. Like bachelor's programs in computer science, software engineering programs may incorporate significant mathematical training.
How's the Job Outlook for This Profession?
Employment opportunities for computer programmers were expected to decrease 7% between 2018 and 2028, as reported by the BLS, which is a decline due to the fact that most programming can be done from anywhere, including home. Many of these jobs are now going overseas where workers will do the jobs for much less. The median annual salary for computer programmers was $84,280 as of May 2018.
What Are Some Related Alternative Careers?
With a bachelor's degree, you can find a lot of related careers in the computer field. You could become a computer hardware engineer working to plan and design computer products such as processors, circuit boards, and wireless memory devices. You may be more interested in work as a computer systems analyst, who is responsible for assessing a company's computer system and designing improvements. You would be vital at keeping a network up to date and efficient.
Alternately, your interests may lean more toward becoming a software developer. These developers apply their creativity to developing computer programs or applications on a handheld phone that make life a little easier. Some developers work on device or network systems instead.