What Does A Computer Programmer Do (including Their Typical Day at Work)

Stan T.Career, Overview

Salary, Job Description, How To Become One, and Quiz

Computer Programmers

Computer Programmers create, modify, and test the code, forms, and script that allow computer applications to run. Work from specifications drawn up by software developers or other individuals. May assist software developers by analyzing user needs and designing software solutions. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

Salary
$95640
Becoming One
Hard
Education
Bachelor's degree
Job Satisfaction
Job Growth

Personality
Interest Match





Find a job you love and you will never work a day in your life.Confucius

What they do

Computer Programmers create, modify, and test the code, forms, and script that allow computer applications to run. Work from specifications drawn up by software developers or other individuals. May assist software developers by analyzing user needs and designing software solutions. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

  • 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.

Typical day

On a daily basis, Computer Programmers perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements. They perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.

A typical day for a Computer Programmer will also include:

  • Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
  • Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
  • Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
  • Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
  • Develop Web sites.

Other responsibilities

Besides their typical day, Computer Programmers also assign, coordinate, and review work and activities of programming personnel. They may also collaborate with computer manufacturers and other users to develop new programming methods.

On a weekly to monthly basis, Computer Programmers consult with and assist computer operators or system analysts to define and resolve problems in running computer programs. They might also train users on the use and function of computer programs.

In addition, they consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.

Although specific duties may vary, many of them prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.

To some Computer Programmers, it is also their responsibility to perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.

Featured Schools


What is the job like

Job satisfaction

High

Is this job meaningful

Low

70% said they were satisfied with their job and 46% said they found their job meaningful.


James Barron

I work as a programmer/developer for a software company.

My typical day

My day normally starts with a short meeting with my boss and the other programmers in the team. During this meeting, I will either discuss what I was doing the day before or take a new task/issue from the list and ask any questions I have.

I will then start creating a simple design of what I plan to create/build and start looking at what has already been implemented making notes as I go. I will then draft a series of simple tests to verify if what I am able to write meets the requirements. I then start actually coding, if this is a simple change, this may only take an hour or so, if it is something complex, this may take several days involving lots of reading of the available documentation.

My code editor – PhpStorm

During this time I may have meetings with clients to discuss future projects or meetings with marketing, sales, etc. Once I have finished creating the code and thoroughly tested it, I upload my code to Git for review. Occasionally the day might be focused on learning something new for an upcoming project but in my experience, this does not occur frequently.

After finishing work for the day, I normally start work on a side project that I use to keep my skill set up to date ensure if the technology stack my company uses becomes obsolete I am able to switch to something different very quickly.

Pros

The main benefit of my job is it is very flexible, I always work from home and my employer is happy for me to work whenever it suits me. The pay is also well above average. I am mentally challenged by my job everyday, I’ve worked previous jobs while studying that have been incredibly boring.

Workstation at home. My previous desks located in offices have been very similar, always with two or three screens which runs off a laptop.

Cons

The biggest negative is trying to keep up with technology, this is not a problem when you are younger, as it is easy to find the time and it’s exciting to pick up a new piece of technology or language. As you get older and have a family this becomes more and more difficult, requiring effort and planning to find the time. If you don’t keep up with the latest technologies finding work may be challenging as you get older. Another negative is that sitting at a desk for long periods puts a strain on you physically, I occasionally suffer from back, shoulder, and neck pain requiring chiropractor treatment.

Advice for aspiring Programmers

For students, the obvious work hard and get good qualifications is not enough, the best candidates that I have interviewed have always had side projects (some very successful) that they have worked on alongside their studies, this could be open source projects, websites they’ve built or games they’ve written. The more passionate about it they are, the better, as they will find it easier to talk about it during interviews and are more likely to stick with it. A good degree does make it easier for you to get your foot in the door, often HR departments/recruiters will discount anyone without a good degree.

A good test to see if you are suitable to be a programmer is, think of a puzzle that will take hours to solve and once it’s solved, leads you to another equally or more difficult puzzle, this continues until it is time for you to leave. If you get excited about the challenge of solving these puzzles, you will fit in well as a programmer, although you may find in reality, you spend more time in meetings discussing the puzzle than you would like.

James Barron
Programmer
OnlyExcel.com


Pros

Suitable for people who like to solve problems mentally.

Suitable for people who value achievements and are results-oriented.

This career is perfect for people who love to work indoors.

Very high salary (top 25% highest paid careers).

Normal working hours (40 hours per week).

Cons

Not suitable for people who like to start and carry out projects.

It is hard to get into this career. A considerable amount of work-related skill, knowledge, or experience is required for this career.

How much do they make

Average salary

$95640 per year

Average hourly wage

$46 per hour

Entry-level Computer Programmers with little to no experience can expect to make anywhere between $51,440 to $67,370 per year or $25 to $32 per hour.

Salary by experience Annual Hourly
Highest (Top 10%) $146,050 $70
Senior (Top 25%) $116,220 $56
Median $89,190 $43
Junior (Bottom 25%) $67,370 $32
No experience (Bottom 10%) $51,440 $25

This table shows the top 10 highest paying industries for Computer Programmers based on their average annual salary.

Salary by industry Annual Hourly
Software Publishers $129410 $62.21
Lessors of Nonfinancial Intangible Assets $123280 $59.27
Other Personal Services $119160 $57.29
Other Information Services $117840 $56.66
Spectator Sports $117160 $56.33
Travel Arrangement and Reservation Services $116090 $55.81
Scientific Research and Development Services $108850 $52.33
Oil and Gas Extraction $107920 $51.88
Securities, Commodity Contracts, and Other Financial Investments and Related Activities $106780 $51.33
Semiconductor and Other Electronic Component Manufacturing $106180 $51.05

View more salary by industries here.

Where can they work

Where can Computer Programmers work? Here is a table showing the top 10 largest employers of Computer Programmers including the average salary in that industry.

Employers Total Employed Annual Salary Hourly Wages
Computer Systems Design and Related Services 68020 $94830 $45.59
Software Publishers 10030 $129410 $62.21
Management of Companies and Enterprises 7900 $97520 $46.88
Colleges, Universities, and Professional Schools 7520 $79550 $38.24
Data Processing, Hosting, and Related Services 6210 $102350 $49.21
Management, Scientific, and Technical Consulting Services 5270 $93210 $44.81
State Government 5040 $81140 $39.01
Insurance Carriers 4150 $89990 $43.26
Credit Intermediation and Related Activities 4060 $96560 $46.42
Local Government 4000 $85450 $41.08

What is the work day like

Working hours

Less than 40 hours
22%

40 hours
24%

More than 40 hours
53%

Working schedule

96%

4%

0%

Email

How often do you use email in this job?

Once a week
0%

Every day
100%

Telephone

How often do you have telephone conversations in this job?

Once a week
7%

Every day
33%

Group discussions

How often do you have group discussions in this job?

Once a week
38%

Every day
60%

Public speaking

How often does this job require you to do public speaking?

Never
19%

Once a year
36%

Once a month
22%

Once a week
23%

Every day
0%

Level of competition

How much competitive pressure is in this job?

Not competitive at all
4%

Slightly competitive
2%

Moderately competitive
39%

Highly competitive
46%

Extremely competitive
9%

What is the work environment like

Office-style environment

Indoors in an environmentally controlled condition

Never
18%

Once a year or more
0%

Once a month or more
0%

Once a week or more
0%

Every day
81%

Warehouse-style environment

Indoors in a non-controlled environmental condition such as a warehouse

Never
97%

Once a year or more
3%

Once a month or more
0%

Once a week or more
0%

Every day
0%

Outdoors

Outdoors exposed to all weather conditions

Never
81%

Once a year or more
19%

Once a month or more
0%

Once a week or more
0%

Every day
0%

Outdoors – Under Cover

Outdoors but under cover (e.g. structure with roof but no walls)

Never
82%

Once a year or more
18%

Once a month or more
0%

Once a week or more
0%

Every day
0%

How to become one

Difficulty to become one

Hard
You will need a considerable amount of work-related skill, knowledge, or experience. Careers in this difficulty category usually require a Bachelor’s degree and several years of work-related experience, on-the-job training, and/or vocational training. Similar careers include Database Administrators, Chemists, Art Directors, and Accountants.

Required level of education

What level of education do you need to perform the job?

Less than a High School Diploma
0%

High School Diploma or equivalent
0%

Post-Secondary Certificate
0%

Some College Courses
3%

Associate’s Degree or similar
9%

Bachelor’s Degree
88%

Post-Baccalaureate Certificate
0%

Master’s Degree
0%

Post-Master’s Certificate
0%

First Professional Degree
0%

Doctoral Degree
0%

Post-Doctoral Training
0%

Relevant majors

Management Information Systems

A program that generally prepares individuals to provide and manage data systems and related facilities for processing and retrieving internal business information; select systems and train personnel; and respond to external data requests. Includes instruction in cost and accounting information systems, management control systems, personnel information systems, data storage and security, business systems networking, report preparation, computer facilities and equipment operation and maintenance, operator supervision and training, and management information systems policy and planning.

Medical Office Computer Specialist/Assistant

A program that prepares individuals to apply computer programming, troubleshooting, and information technology skills to the installation, maintenance, and upgrade of standard, customized, or proprietary medical software and associated hardware. Includes instruction in computer programming, systems analysis, networking, telecommunications, medical records and informatics software applications, information technology, systems administration, computer security, and applicable regulations and certifications or licenses.


Data Visualization

A program that prepares individuals to organize and derive meaning from data by using visual presentation tools and techniques. Includes instruction in cognitive science, computer programming, data management, data visualization theory, graphic design, infographics, perceptual psychology, statistics, and visual design.

Data Analytics

A program that prepares individuals to apply data science to generate insights from data and identify and predict trends. Includes instruction in computer databases, computer programming, inference, machine learning, optimization, probability and stochastic models, statistics, strategy, uncertainty quantification, and visual analytics.

Computational Science

A program that focuses on the study of scientific computing and its application. Includes instruction in scientific visualization, multi-scale analysis, grid generation, data analysis, applied mathematics, numerical algorithms, high performance parallel computing, and numerical modeling and simulation with applications in science, engineering and other disciplines in which computation plays an integral role.


Computer Software Technology

A program that prepares individuals to apply basic engineering principles and technical skills to support engineers in developing, implementing, and evaluating computer software and program applications. Includes instruction in computer programming, programming languages, databases, user interfaces, networking and warehousing, encryption and security, software testing and evaluation, and customization.

Modeling, Virtual Environments and Simulation

A program focusing on the principles of applied visual simulation technology and the application of quantitative analyses to human-computer interaction. Includes instruction in object-oriented programming, artificial intelligence, computer communications and networks, computer graphics, virtual worlds and simulation systems, probability, statistics, stochastic modeling, data analysis, human-performance evaluation, and human-behavior modeling.

Cloud Computing

A program that prepares individuals to design and implement enterprise software systems that rely on distributed computing and service-oriented architecture, including databases, web services, cloud computing, and mobile apps. Includes instruction in data management, distributed and cloud computing, enterprise software architecture, enterprise and cloud security, mobile systems and applications, server administration, and web development.


Computer Graphics

A program that focuses on the software, hardware, and mathematical tools used to represent, display, and manipulate topological, two-, and three-dimensional objects on a computer screen and that prepares individuals to function as computer graphics specialists. Includes instruction in graphics software and systems; digital multimedia; graphic design; graphics devices, processors, and standards; attributes and transformations; projections; surface identification and rendering; color theory and application; and applicable geometry and algorithms.

Computer Science

A program that focuses on computer theory, computing problems and solutions, and the design of computer systems and user interfaces from a scientific perspective. Includes instruction in the principles of computational science, computer development and programming, and applications to a variety of end-use situations.


Computer Programming, Specific Platforms

A program that prepares individuals to design, develop, and implement software-based solutions for specific business and consumer platforms including industrial, game, mobile, tactile, and web platforms. Includes instruction in computer programming, computer hardware, data structures, database theory, maintenance, operating systems, project management, software development, and systems analysis.

Computer Game Programming

A program that prepares individuals to apply the knowledge and skills of design and computer programming to the development of computer games. Includes training in character and story development, computer programming, computer graphics, game design, game physics, human-computer interaction, human-centered design, and usability.

Computer Programming, Specific Applications

A program that prepares individuals to apply the knowledge and skills of general computer programming to the solution of specific operational problems and customization requirements presented by individual software users and organizational users. Includes training in specific types of software and its installation and maintenance.


Relevant work experience

How much related work experience do you need to get hired for the job?

None
3%

1 month
0%

1 to 3 months
0%

3 to 6 months
0%

6 months to 1 year
37%

1 to 2 years
3%

2 to 4 years
7%

4 to 6 years
13%

6 to 8 years
28%

8 to 10 years
8%

Over 10 years
0%

On The Job Training

How much on the job training do you need to perform the job?

None or short demonstration
2%

1 month
11%

1 to 3 months
10%

3 to 6 months
30%

6 months to 1 year
36%

1 to 2 years
3%

2 to 4 years
2%

4 to 10 years
6%

Over 10 years
0%

Should you become one

Best personality type for this career

The Thinker

People with this personality likes to work with ideas that require an extensive amount of thinking. They prefer work that requires them to solve problems mentally.

The Builder
48%

People with The Builder personality type likes practical and hands-on work. They prefer working with plants, animals, and real-world materials like wood, tools, and machinery.


The Thinker
100%

People with The Thinker personality likes to work with ideas that require an extensive amount of thinking. They prefer work that requires them to solve problems mentally.


The Artist
43%

People with The Artist personality likes to work with designs and patterns. They prefer activities that require self-expression and prefer work that can be done without following a clear set of rules.


The Helper
29%

People with The Helper personality type likes to work with people and in teams. They prefer work that allows them to build relationships with others.


The Leader
29%

People with The Leader personality likes to start and work on projects. They also like leading people and making many decisions.


The Organizer
81%

People with The Organizer personality type likes to follow set procedures and routines. They prefer working with data and details more than with ideas.


You can read more about these career personality types here.

People who are suitable for this job tend to like working with ideas and require an extensive amount of thinking. They like searching for facts and figuring out problems mentally.

They also like following set procedures and routines. They like working with data and details more than with ideas.

Take this quiz to see if this is the right career for you.

Work Values

Which values are the most important to a person’s satisfaction for this job?

Achievement
81%

You are someone who is results oriented. You prefer work that allows you to utilize your skills and abilities while at the same time giving you a sense of accomplishment.

Working Conditions
79%

You are someone who values job security, steady employment, and good working conditions. You also prefer work that keeps you busy all the time with something different to do every day.

Recognition
62%

You are someone who values job advancement and leadership roles. You prefer work that receives recognition for the work you do and jobs that are looked up to by others in the company and your community.

Relationships
33%

You are someone who likes to provide a service to others. You prefer a work environment where you can work with your co-workers in a friendly non-competitive environment.

Support
71%

You are someone who values a company that stands behind their employees. You prefer a work environment where everyone is treated fairly and is being supported by the company.

Independence
71%

You are someone who likes to work on your own and make your own decisions. You prefer work that requires little supervision and are allowed to try out your own ideas.

FAQ


Don’t know which career to pursue?

Take the career quiz to find careers that match your personality type.

Take The Career Quiz