Программист - это человек, который может создать алгоритм решения задачи.
Кодер - это человек, который может писать программы на 1-2-3 языках. Знает паттерны, ООП и т.д.
Программист все же инженер, который создаёт решение задачи(абстрактное) и реализует его с помощью некоторого инструмента(язык программирования).
А понимание как это работает внутри компьютера повышает эффективность программиста.
В чем отличие олимпиадника-программиста и коммерческого программиста, аналогичная разница между кодером и программистом