Computer Programmers

Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

SOC: 15-1251.00

Common Job Titles

  • Analyst Programmer
  • Computer Programmer
  • Programmer
  • Programmer Analyst

What You'll Need to Succeed

AI-generated

Key competencies for this occupation at a glance

  • KnowledgeCreate code and scripts that enable computer applications to run using programming languages such as Java, Python, C++, and SQL, working from specifications provided by software developers.
  • KnowledgeSynthesize cloud computing solutions and DevOps practices utilizing AWS, Azure, Docker, and Kubernetes to deploy and maintain scalable applications.
  • KnowledgeAnalyze software specifications and system requirements to determine optimal programming approaches and identify potential technical challenges.
  • KnowledgeEvaluate code quality and performance against established standards using quality control analysis and testing frameworks such as JUnit and Selenium.
  • KnowledgeApply algorithms and data structures to solve complex computational problems efficiently, leveraging mathematical and engineering knowledge.
  • Hands-onOperate integrated development environments and version control systems such as Visual Studio, Eclipse, Git, and GitHub to manage code repositories and collaborate with development teams.
  • KnowledgeDevelop database queries and stored procedures using SQL, Oracle PL/SQL, and NoSQL databases to store, locate, and retrieve specific documents and data.
  • KnowledgeInterpret technical documentation and system specifications to translate business requirements into functional program code, communicating effectively with stakeholders.
  • KnowledgeAssess software defects and debugging results using debugging tools and testing methodologies to ensure application reliability and functionality.
  • KnowledgeOrganize programming tasks and development priorities managing multiple assignments independently while meeting project deadlines and coordinating with team members.
  • MindsetEngage in continuous learning of emerging programming languages and technologies to maintain technical currency in rapidly evolving software development environments.
  • MindsetSupport collaborative development efforts and knowledge sharing when establishing interpersonal relationships with development teams and providing technical consultation.

Wage Data According to the Bureau of Labor Statistics

Annual wage data for Computer Programmers (2024)

Estimated Total Employment (U.S.)

109,870

Wage Distribution by Percentile

Line chart of annual wages by percentile. U.S. is the solid line. 10th percentile: U.S. $52,190. 25th percentile: U.S. $71,860. 50th percentile: U.S. $98,670. 75th percentile: U.S. $128,960. 90th percentile: U.S. $162,090. Use the left and right arrow keys to move between percentiles.

  • U.S.
MetricU.S.
10% of workers earn the following or less$52,190
10% of workers earn the following or more$162,090
Workers on average earn$103,640

+ indicates wage is at or above the BLS reporting cap ($239,200/year)

Skills & Requirements

Key competencies for this occupation, ranked by importance

  • Computers and Electronics4.9/5
  • Mathematics3.5/5
  • Engineering and Technology3.5/5
  • English Language3.4/5
  • Customer and Personal Service3.3/5
Skills & Requirements: Knowledge

Tools & Technology

Equipment and software commonly used in this occupation

In-Demand Technology

Frequently requested by employers in job postings

  • AJAX
  • Adobe Acrobat
  • Adobe Illustrator
  • Adobe Photoshop
  • Amazon DynamoDB
  • Amazon Elastic Compute Cloud EC2
  • Amazon Redshift
  • Amazon Simple Storage Service S3
  • Amazon Web Services AWS CloudFormation
  • Amazon Web Services AWS software
  • Ansible software
  • Apache Cassandra
  • Apache Hadoop
  • Apache Hive
  • Apache Kafka
  • Apache Maven
  • Apache Spark
  • Apache Subversion SVN
  • Apache Tomcat
  • Atlassian Confluence
  • Atlassian JIRA
  • Bash
  • Bentley MicroStation
  • C
  • C#
  • C++
  • Cascading style sheets CSS
  • Chef
  • Django
  • Docker
  • Drupal
  • ESRI ArcGIS software
  • Eclipse IDE
  • Elasticsearch
  • Epic Systems
  • Extensible markup language XML
  • Git
  • GitHub
  • Go
  • Google Analytics
  • Google Angular
  • Hibernate ORM
  • Hypertext markup language HTML
  • IBM DB2
  • IBM SPSS Statistics
  • JUnit
  • JavaScript
  • JavaScript Object Notation JSON
  • Linux
  • Microsoft .NET Framework
  • Microsoft ASP.NET
  • Microsoft Access
  • Microsoft Active Server Pages ASP
  • Microsoft Azure software
  • Microsoft Dynamics
  • Microsoft Excel
  • Microsoft Office software
  • Microsoft PowerPoint
  • Microsoft PowerShell
  • Microsoft Project
  • Microsoft SQL Server
  • Microsoft SQL Server Integration Services SSIS
  • Microsoft SQL Server Reporting Services SSRS
  • Microsoft SharePoint
  • Microsoft Visio
  • Microsoft Visual Basic
  • Microsoft Visual Basic for Applications VBA
  • Microsoft Visual Studio
  • Microsoft Windows
  • Microsoft Windows Server
  • Microsoft Word
  • MongoDB
  • MySQL
  • NoSQL
  • Node.js
  • Oracle Database
  • Oracle Java
  • Oracle PL/SQL
  • Oracle PeopleSoft
  • PHP
  • Perl
  • PostgreSQL
  • Puppet
  • Python
  • R
  • React
  • Red Hat Enterprise Linux
  • Red Hat OpenShift
  • Ruby
  • SAP software
  • SAS
  • Scala
  • Selenium
  • Shell script
  • Splunk Enterprise
  • Spring Boot
  • Spring Framework
  • Structured query language SQL
  • Swift
  • Tableau
  • Teradata Database
  • The MathWorks MATLAB
  • Transact-SQL
  • UNIX
  • UNIX Shell
  • jQuery

Technology Skills

  • A programming language APL
  • ABC Compiler
  • ABC: the AspectBench Compiler for AspectJ
  • AWK
  • Ada
  • Adobe ActionScript
  • Adobe ColdFusion
  • Adobe Dreamweaver
Tools & Technology: Technology Skills

Tools & Equipment

  • Computer servers
  • Desktop computers
  • Mainframe computers
  • Mainframe operating systems
  • Serial port cards