A program is a sequence of instructions for a turing machine to complete an action or algorithm.
A programmer is one who is able to understand and therefore create programs from an abstract action description or algorithm.
More explicitly,
A program is a sequence of instructions for a state machine to perform:
- Data collection
- Data analysis
- Data storage and retrieval
- Data reporting
In some small part almost every program performs all of the above, and a typical programmer is able to understand the elements of a program that allow each of those missions for the machine.