Обычно, понятие "кодер" используется в крупных проектах. Когда есть четкий алгоритм, который можно разбить на независимые куски и, которые, можно доверить разным людям. Когда знаешь, что сумма таких кодов будет работать.
Программист делает, обычно, относительно небольшой проект, совмещая в себе и аналитика и программиста. Причем "алгоритм" технического задания заключается в "сделай мне пи...то". В результате он переделывает все n-цать раз, матерея все больше
А для мелких проектов понятно, что "кодер" и "прогграммер" тождественны...