Очень часто эти понятия используются как синонимы. Но у этих понятий все-таки есть разница, и ее незнание иногда это может привести к непониманию. Программист - это человек, работающий с кодом. Тут все просто, он знает как писать код, знает хорошие практики. Возможно, знает несколько языков программирования. В общем хороший программист - это человек, который ответит на большую часть технических вопросов. Разработчик определение более широкое нежели программист. Если грубо, то разработчик - это программист на стероидах. Причем стероиды из смежных областей (предметная область бизнеса, менеджмент, тестирование, аналитика и тд). Хороший разработчик знает не только техническую часть, но еще и понимает как работает проект с точки зрения бизнеса, и понимает как технические изменения помогут бизнесу вырасти. Такие люди не только отвечают на вопрос "Как сделать", но еще и активно участвуют в обсуждении "Что сделать".
Но и на этом функции разработчика не ограничиваются. Если разработчи