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 ProgrammerComputer ProgrammerProgrammerProgrammer 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

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
Tools & Technology

Equipment and software commonly used in this occupation

In-Demand Technology

Frequently requested by employers in job postings

AJAXAdobe AcrobatAdobe IllustratorAdobe PhotoshopAmazon DynamoDBAmazon Elastic Compute Cloud EC2Amazon RedshiftAmazon Simple Storage Service S3Amazon Web Services AWS CloudFormationAmazon Web Services AWS softwareAnsible softwareApache CassandraApache HadoopApache HiveApache KafkaApache MavenApache SparkApache Subversion SVNApache TomcatAtlassian ConfluenceAtlassian JIRABashBentley MicroStationCC#C++Cascading style sheets CSSChefDjangoDockerDrupalESRI ArcGIS softwareEclipse IDEElasticsearchEpic SystemsExtensible markup language XMLGitGitHubGoGoogle AnalyticsGoogle AngularHibernate ORMHypertext markup language HTMLIBM DB2IBM SPSS StatisticsJUnitJavaScriptJavaScript Object Notation JSONLinuxMicrosoft .NET FrameworkMicrosoft ASP.NETMicrosoft AccessMicrosoft Active Server Pages ASPMicrosoft Azure softwareMicrosoft DynamicsMicrosoft ExcelMicrosoft Office softwareMicrosoft PowerPointMicrosoft PowerShellMicrosoft ProjectMicrosoft SQL ServerMicrosoft SQL Server Integration Services SSISMicrosoft SQL Server Reporting Services SSRSMicrosoft SharePointMicrosoft VisioMicrosoft Visual BasicMicrosoft Visual Basic for Applications VBAMicrosoft Visual StudioMicrosoft WindowsMicrosoft Windows ServerMicrosoft WordMongoDBMySQLNoSQLNode.jsOracle DatabaseOracle JavaOracle PL/SQLOracle PeopleSoftPHPPerlPostgreSQLPuppetPythonRReactRed Hat Enterprise LinuxRed Hat OpenShiftRubySAP softwareSASScalaSeleniumShell scriptSplunk EnterpriseSpring BootSpring FrameworkStructured query language SQLSwiftTableauTeradata DatabaseThe MathWorks MATLABTransact-SQLUNIXUNIX ShelljQuery

Technology Skills

A programming language APLABC CompilerABC: the AspectBench Compiler for AspectJAWKAdaAdobe ActionScriptAdobe ColdFusionAdobe Dreamweaver

Tools & Equipment

Computer serversDesktop computersMainframe computersMainframe operating systemsSerial port cards