Вообще, это достойно какой-то отдельной темы для флуда, наверное.
Различия между разработчиками (как «мини-архитектор») и программистами (как «мастер leetcode’а»).
Первые фокусируются на программных компонентах, которые уже готовы, на их интеграции друг с другом и багах, связанных с этим. Вторые что-то там пишут с нуля.
На собеседованиях часто задают вопросы по алгоритмам (поэтому каждый разработчик получается немного программистом путём естественного отбора, это обычно приводит к фразам у разработчиков«рекрутинг сломан»).
В реальной жизни на практике особенно не в технологических компаниях решаются задачи, связанные не с созданием новых алгоритмов, а с состыковкой разных блоков друг с другом. Разрабатывать с нуля что-то нужно, но у многих это 1-2 задачи в год.
Цена ошибки тоже разная: кривая реализация сложного алгоритма - это в конечном итоге неэффективное использование CPU и повышение стоимости владения системой; кривой выбор компонентов грозит отказу от использования системой, всё гораздо фатальнее в случае ошибки, накосячить с медленными алгоритмами дешевле чем накосячить с неправильно выбранными компонентами.
Смена ЯП для программистов достаточно простая - они знают базовые алгоритмы и типы данных и всегда реализуют (пусть не самым красивым для этого ЯП образом) решение задачи. Для разработчиков смена ЯП - это потеря опыта эксплуатации, опыта решения багов. Django тут, возможно, не лучший пример (система не является крайне сложной), но в случае с более сложными системами опыт и понимание поведения системы в разных ситуациях важнее понимания ЯП, на котором она написана.
В общем, считаю, что разработка и программирование - это разное. Но даже среди разработчиков и программистов много тех, кто путается с этим или не видит границу.