На современном рынке эти слова взаимозаменяемы. Иногда говорят "разработчик" вместо "программист", подчёркивая расширенный спектр ответственности специалиста, но чёткой границы между понятиями нет.
"Разработчик" (англ. "developer") — это человек, занимающийся разработкой. Под "разработкой" в контексте IT обычно имеется в виду разработка ПО. Программирование является частью процесса разработки ПО, наряду с проектированием, системным анализом, согласованием требований и т.п. Разработка не всегда значит программирование — например, когда речь идёт о low-code решениях или о разработке архитектуры.
"Программист" — это человек, занимающийся программированием. В узком смысле — тот, кто непосредственно пишет программу, то есть кодирует решение поставленной задачи на языке программирования. Поскольку программист занимается разработкой, то он также является разработчиком. Называя его "программист", мы можем подчеркнуть специфику деятельности (программирование). Это название также является более старым — в том же СССР не было "разработчиков", а "программисты" были.