In practice, programmers are often referred to by the language they know or the type of environment they generally work in such as mainframe programmer, object-oriented programmer, or Internet or World Wide Web programmer. In many large organizations, programmers follow descriptions that have been prepared by software engineers or systems analysts. These descriptions list the input required, the steps the computer must follow to process data, and the desired arrangement of the output. Many programmers are involved in updating, repairing, modifying and expanding existing programs. They do this by inserting comments in the coded instructions so others can understand the program.
CASE tools generate whole sections of code automatically, rather than line by line.
This also yields more reliable and consistent programs and increases programmers' productivity by eliminating some of the routine steps. Programmers test a program by running it to ensure the instructions are correct and it produces the desired information. Programmers working in a mainframe environment may still prepare instructions for a computer operator who will run the program. Much of this type of programming is in the preparation of packaged software, which comprises one of the most rapidly growing segments of the computer services industry. When hiring programmers, employers look for people with the necessary programming skills who can think logically and pay close attention to detail.