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