Лучше понимать это, как разработчик - человек, который занимается разработкой продукта, программист - специалист, пишущий программный код.
В маленьких проектах это, как правило, одно и тоже лицо, но в больших совмещается множество людей разных специализаций, и, зачастую, программирование в таком случае является лишь одной из способностей разработчика (потому что чем более диверсифицированы его знания, тем лучше он выполняет руководство всей группой).