establish a detailed program specification through discussion with clients
clarify the actions the program is intended to perform
write the program - to do this you'll break down program specification into its simplest elements and translate this logic into a programming language
work as part of a team - which may be established purely for a particular project to write a specific section of the program
test sample data-sets to check that output from the program works as intended
install the program into production, once testing is complete
devise possible solutions to anticipated problems
react to problems and correct the program as necessary
evaluate and increase the program's effectiveness
adapt the program to new requirements, as necessary
conduct user acceptance testing, to ensure the program can be used easily, quickly and accurately
write detailed documentation for the operation of the program by users and computer operators
consult manuals, periodicals and technical reports to learn new ways to develop programs and maintain existing skills and knowledge
update, repair, modify and develop existing software and generic applications.