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.
Advanced
KnowledgeSynthesize cloud computing solutions and DevOps practices utilizing AWS, Azure, Docker, and Kubernetes to deploy and maintain scalable applications.
Advanced
KnowledgeAnalyze software specifications and system requirements to determine optimal programming approaches and identify potential technical challenges.
Proficient
KnowledgeEvaluate code quality and performance against established standards using quality control analysis and testing frameworks such as JUnit and Selenium.
Proficient
KnowledgeApply algorithms and data structures to solve complex computational problems efficiently, leveraging mathematical and engineering knowledge.
Proficient
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.
Proficient
KnowledgeDevelop database queries and stored procedures using SQL, Oracle PL/SQL, and NoSQL databases to store, locate, and retrieve specific documents and data.
Proficient
KnowledgeInterpret technical documentation and system specifications to translate business requirements into functional program code, communicating effectively with stakeholders.
Proficient
KnowledgeAssess software defects and debugging results using debugging tools and testing methodologies to ensure application reliability and functionality.
Proficient
KnowledgeOrganize programming tasks and development priorities managing multiple assignments independently while meeting project deadlines and coordinating with team members.
Developing
MindsetEngage in continuous learning of emerging programming languages and technologies to maintain technical currency in rapidly evolving software development environments.
Developing
MindsetSupport collaborative development efforts and knowledge sharing when establishing interpersonal relationships with development teams and providing technical consultation.
Developing
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.
Metric
U.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