Ну начнем с того, что computer science - это очень широкое понятие, которое включает в себя множество различных областей, как теоретических так и практических. Вопрос "нужен ли программисту computer science?" из той же оперы, что и "нужна ли программисту математика?", кому-то и арифметики хватает (а это тоже математика как не странно), а кому-то нужен углубленный бэкграунд в мат.анализе, тер.вере и мат.статистике. Так же и с computer science, кому-то хватит базового понимания, почему 0.1 + 0.2 != 0.3
, а кому-то нужен углубленный бэкграунд в алгоритмы, в теорию типов и в слабые модели памяти. Все сугубо индивидуально и сильно зависит от сферы, для которой ведется разработка.
Многим совсем не обязательно знать как реализуются те или иные алгоритмы или структуры данных, вполне можно пользоваться готовыми. Но вот иметь представление, какие вообще бывают алгоритмы и структуры данных, какая у них алгоритмическая сложность - это полезно всем, просто чтобы знать что гуглить и какие вообще есть возможности решить ту или иную задачу. Так же полезно уметь считать ту самую алгоритмическую сложность из составных частей произвольного алгоритма и понимать чем отличается нотация O-большое от нотации Ω-большое. Какая от этого практическая польза? Для самого программиста - это возможность решать задачи проще и быстрее, выдавая при этом более оптимальные решения. Для бизнеса - это деньги, от банального "ускорив некое действие в N раз мы повысили конверсию в M раз", до насущного "сократив потребление ресурсов на N в прошлом месяце мы заплатили за облако на M млн. рублей меньше в этом месяце при той же нагрузке".
Та же архитектура, всем не обязательно уметь строить огромные решения с запасом прочности на десятки лет. Но понимать базовые принципы и паттерны, какие у них плюсы и минусы, где и что применять - полезно. К сожалению здесь все плохо в большинстве своем, порой доходит до того что стоимость поддержки небольшого проекта вырастает в 300-500 раз всего лишь за год поддержки. Для бизнеса это опять таки деньги, и если бизнес не планирует через год-другой либо продаться либо свернуться, как делают многие стартапы, то бизнес будет это оптимизировать. А на программистах такая оптимизация скажется на прямую, те кто умеет писать код на года будет получать выше рынка, иногда значительно. Хотя и те кто вообще в архитектуре не шарит без работы не останутся, так как работодателей с принципом "продали и забыли" просто банально больше.