What Is a Computer Programmer?

A medievalist by training, Melissa Sartore, Ph.D., teaches history, publishes on outlawry in medieval England, and writes for several online outlets, notably Ranker.com. She also provides her own sarcastic take on historical events and popular cultur.

Updated August 20, 2024

Reviewed by Darnell Kenebrew

Click to Read Full Biography

Darnell Kenebrew is a data analytics engineer at Meta and an executive captain for COOP Careers — a nonprofit for overcoming underemployment. A first-generation college graduate, Kenebrew earned a bachelor's in computer science, kicking off his.

Our Integrity Network

ComputerScience.org is committed to delivering content that is objective and actionable. To that end, we have built a network of industry professionals across higher education to review our content and ensure we are providing the most helpful information to our readers.

Drawing on their firsthand industry expertise, our Integrity Network members serve as an additional step in our editing process, helping us confirm our content is accurate and up to date. These contributors:

Integrity Network members typically work full time in their industry profession and review content for ComputerScience.org as a side project. All Integrity Network members are paid members of the Red Ventures Education Integrity Network.

Computer programmers play a key role in the tech industry. Explore this profession and discover how you can thrive in a computer programming career.

Credit: Laurence Dutton / E+ / Getty Images

ComputerScience.org is an advertising-supported site. Featured or trusted partner programs and all school search, finder, or match results are for schools that compensate us. This compensation does not influence our school rankings, resource guides, or other editorially-independent information published on this site.

Are you ready to discover your college program?

Credit: Laurence Dutton / E+ / Getty Images

Computer programmers use programming languages to write, test, and maintain code. These essential tech professionals are some of the best coders in the world that create programs and software that millions of people use every day.

Computer programmers work independently as part of larger software teams. Together with software developers and engineers, programmers create the instructions computers use to execute tasks. A programmer's job also includes finding bugs, eliminating errors, and troubleshooting issues. These professionals need a detail-oriented and creative outlook, along with skills in several programming languages.

As people and organizations rely more on technology, computer programmers can find work across industries. Use our guide to explore this dynamic profession, including key skills, job outlook, and career paths for computer programmers.

History of Computer Programmers

Computer programming was once the domain of professional scientists and technology experts. Today, the field is open to people of all ages and backgrounds.

The origins of programming languages and computers trace back to the early 19th century. Computing pioneers like Charles Babbage and Ada Lovelace paved the way for mid-20th-century developers such as John Von Neumann, Grace Hopper, and John W. Backus.

Machine language, compiler languages, and source codes preceded modern computer programming. The computer programming profession grew alongside emerging programming languages like C in 1972, C++ in 1983, and Python in 1991.

Later languages like Java, C#, Swift, and JavaScript fueled software and application development at major companies like Microsoft and Apple. In this environment, computer programmers enjoyed growing opportunities.

What Does a Computer Programmer Do?

Computer programmers use programming languages to write, revise, test, and update code. This code allows computers, software, and applications to carry out tasks.

Because technology pervades diverse sectors, computer programmers also work across industries. After the tech industry, finance, insurance, and manufacturing entities hire the most computer programmers.

Computer programmers often work alone, spending long hours in front of their screens. These professionals also collaborate with software developers and engineers. Writing, testing, and debugging code can take many attempts. Still, computer programmers persevere, and many enjoy a good challenge.

Find out more about key skills that influence success as a computer programmer below.

Key Soft Skills for Computer Programmers

Soft skills often come naturally, allowing computer programmers to effectively and efficiently communicate with colleagues and solve problems. Computer programmers benefit from written and verbal communication skills, creativity and curiosity, and the ability to work both independently and in teams.

Key Hard Skills for Computer Programmers

Computer programmers develop hard skills to thrive in their positions. Programming languages are necessary skills for computer programmers. These professionals often benefit from knowing several languages. Languages vary in use and relevance. With increased proficiency, programmers may expand their career prospects.

A Day in the Life of a Computer Programmer

Computer programmers help ensure efficient and effective software and operating system function. These professionals often work with programming languages, writing and editing code. Computer programmers also carry out system, software, and user acceptance testing. They structure tests, correcting errors and troubleshooting problems as they arise.

Other computer programming responsibilities include upgrading systems, overseeing technical staff, and preparing reports for managers and supervisors.

Learn more about a typical day for a computer programmer

What Does a Computer Programmer Do?

Computer programmers bring ideas to fruition by writing code, scripts, and programs for mobile and desktop platforms. They coordinate with software designers, web developers, and fellow information technology professionals to develop computer games, write logic directions for appliances, and create translations for machines and applications to carry out human instructions.

Computer programmers may work independently, with teams, or both. They typically enjoy finding solutions to software design and development challenges. Computer programmers must remain conscientious, detail-oriented, and open to new ideas.

Computer programmers ensure the functionality of computer code and scripts by testing software, troubleshooting system errors, analyzing algorithms, and providing technical support. The following list provides more information about key job responsibilities for computer programmers.

Key Job Responsibilities

The Day to Day for a Computer Programmer

Computer programmers spend much of their days behind computers writing code, scripts, and programs. Their code may apply to new software or existing applications. Computer programmers make changes to code and scripts, find solutions, and provide technical support. Common computer programming languages include Python, Java, and C+.

Many computer programmers are self-employed. Others work in office settings at computer systems design companies, financial and insurance institutions, manufacturing businesses, and software publishing firms. Computer programmers may work remotely or participate in face-to-face activities but generally spend 40 hours a week on the job.

Computer programmers work closely with software and application designers, developers, and engineers. They meet with colleagues throughout a typical workday and may present their work to stakeholders to demonstrate progress.

Some duties for computer programmers may be redundant, and others can present frustrating problems. Computer programmers are problem-solvers who create and update programs for software developers and engineers. They must remain dedicated to presenting products that meet users' needs and goals.

Salary and Career Outlook for Computer Programmers

According to the Bureau of Labor Statistics (BLS), computer programmers earned a median annual salary of $93,000 as of 2021. Pay varies by location, position, and education, but increased experience and advanced credentials generally boost earning potential.

The BLS reports that the industries employing the most computer programmers include computer systems design, scientific research, and software publishing. Computer programmers earn the highest salaries in the petroleum and coal products manufacturing industry.

This data coincides with where the most computer programmers work. California, a state with a strong technology sector, employs the most computer programmers in the United States and ranks second in annual mean wage according to BLS data from 2021.

Data from Payscale provides insight into how experience level can influence computer programmers' salaries. Entry-level programmers earn an average of about $60,000 annually while midcareer computer programmers earn over $70,000 each year on average.



$93,000

Annual Median Salary, May 2021

Where Do Computer Programmers Work?

The states with the highest employment levels for computer programmers, according to the Bureau of Labor Statistics (BLS), are California, Texas, and New York. California's employment levels align with data about top metropolitan cities for computer programmers. San Jose, San Francisco, and San Diego are among the top six metropolitan areas for the profession in the country.

Metropolitan areas offer the highest levels of employment for computer programmers, largely driven by the strong presence of technology companies in major cities. The California Bay Area provides the most jobs for technology workers in the U.S.

Cost of living considerations can greatly influence where computer programmers look for jobs. Major metropolitan areas like the California Bay Area are some of the most costly places in the country to live. New York and California rank among the top three most expensive states in the country.

BLS reporting also indicates that the top non-metropolitan areas for computer programmers are Alaska, Montana, and Texas. Because the highest-paying industries for computer programmers are petroleum and coal product manufacturers and chemical manufacturers, this could make a non-urban setting more appealing to individuals in the role.

See how education affects salary for computer programmers

How to Become a Computer Programmer

Most computer programmers hold bachelor's degrees in information technology, computer science, computer engineering, or related fields. A bachelor's degree typically spans four years. Some computer programmers may find work with an associate degree, certificate, or diploma. These options usually take two years or less to complete.

Bootcamps provide another resource for aspiring programmers. These short programs can stand alone or supplement a bachelor's degree.

Certifications offered through professional organizations and technology companies can help programmers prove their knowledge and skills. Other factors in becoming a computer programmer include experience and personal interests.

Read a detailed description of the steps required to enter the computer programming field. Learn about computer programmers' daily duties and responsibilities. Discover in-depth information about degrees that prepare students to pursue computer programming careers. Take a closer look at curricula, requirements, and outcomes for bachelor's degrees in computer programming. Find out what students learn in a master's degree in computer programming. Explore bootcamps that focus on computer programming knowledge and skills.

Similar Specializations and Career Paths

Computer programmers can pursue positions as support specialists, software engineers, systems analysts, and network architects. Education and experience requirements vary by role.

Associate degrees allow programmers to pursue positions as web developers. A bachelor's may qualify these professionals to work as systems managers and administrators.

Master's degrees in computer-related disciplines may let professionals work as information technology researchers and achieve senior roles in business, government. Doctorates in the field can lead to jobs in academia.

The list below highlights more positions for people with computer programming skills.

Web developer