Computer Programmer
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.
Annual openings
134
BLS median wage
$104,610
Typical education
Bachelor's degree, though this is often waived with the right work experience.
10-year growth
+7%
Career requirements
What does this career require?
The education, credentials, and on-the-job competencies Colorado employers expect for this role.
Typical education
Bachelor's degree, though this is often waived with the right work experience.
Credential requirement
Getting certified can usually help you get a job – however, it’s important to understand which certifications employers want to see on your resume. You can do this by looking at current job postings to see what certifications employers are requiring.
Work experience
One to three years as a Junior Computer Programmer or significant experience in a related occupation.
Experience detail
Experience in the appropriate application development environment/toolset is preferred. A portfolio of software previously created is also valued.
Work-based learning
Programmers come from a variety of different backgrounds, including directly from education and training programs that focus on coding and development skills. Employers agree that the strongest candidates bring a combination of technical skills and an understanding of broader business functions of IT, including customer-facing sides of the business. For example, some employers describe hiring developers from IT service roles such as IT Support, Help Desk, or other customer-facing roles that involve implementation of IT. In addition, several businesses identified quality assurance as a pathway into development and integration. Database administrators or data analysts can also successfully move into development roles.
Remote work
Some companies (information technology companies for example) and jobs (such as call center support) offer the opportunity for staff to work remotely, including from rural locations. To see if a job offers this opportunity, please review job postings from job banks such as ZipRecruiter, Indeed or ConnectingColorado, and look for key words such as "location independent", "remote", "virtual", "telecommute", "flex" or for companies posting the same job in many locations.
Employer competency information
- While specific roles vary across companies, employers agree that there are a set of common required competencies for developers. These include: An understanding of how to program and test software including being able to program in one or more languages. Look at job postings in your region to identify the hot programming language such as Java, JavaScript or C#. An ability to integrate different data sources and the ability to use data storage and retrieval mechanisms such as SQL An understanding of the software development life cycle Critical thinking An ability to work independently and devise solutions, problem solving Employers noted that while there are many developers in the workforce, it is uncommon to find those who embody what they described as the “developer mentality”. These are typically very logical people who see all parts of a problem and create smaller, sub-goals to solve a problem. These people tend to enjoy detail-oriented tasks.
Is this work a fit?
What the work actually feels like
How people in this career tend to spend their time, the interests it draws on, and a look at a typical day.
Work style
- With kids/peopleOccasionally
- On a computerOccasionally
- Outdoors / on-siteOccasionally
- With your handsOccasionally
Interests it draws on
- Technology
- Software Development
Automation exposure
Low exposure
Tasks here lean on judgement and people skills that are hard to automate.
A typical day
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
Also includes
Specializations that share this occupation’s labor-market data.
- Junior Computer Programmer
- Senior Computer Programmer
