Before a programmer begins work on a project, a computer system analyst usually defines what needs to be done and outlines the steps the programmer has to take. Application programmers write programs or software for specific jobs such as accounting and inventory control. Systems programmers write programs for software that controls the operation of an entire computer system.
Projects given to computer programmers vary in length from a few hours of work to years.
The more complex projects may involve a whole team of programmers with a senior programmer or systems analyst acting as the group leader. An increasing number of companies are hiring programmers on a contract basis to work on a particular project rather than maintaining programmers on the company payroll. Programmers generally work a normal 40-hour week, but it is not necessarily a typical 9 to 5 job. Programmers may work on shifts, work on weekends, work at home, or work long hours to meet deadlines. Each employer's programming needs are different, therefore educational requirements for programmers will vary.