- Develop new projects - Correct errors by making appropriate changes and then rechecking the program to ensure that the desired results are produced. - Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct. - Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program. - Write, update, and maintain computer programs or software packages to handle specific jobs, such as CRM, storing or retrieving data, or controlling other equipment. - Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes. - Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.