Программа - это набор инструкций для вычислительного устройства. Программист формализует некоторую задачу до уровня, при котором эту задачу сможет решать вычислительное устройство, и затем записывает данную формализацию в виде соотв. команд. Как сказано выше, первый этап гораздо сложнее второго.
Можешь сравнить это с решением математической задачи или задачи по физике. Сначала нужно задачу понять, найти и правильно записать соотв. формулы для ее решения - это первый этап. Ну а по готовым формулам уже кто угодно на калькуляторе все посчитает - это этап второй.