Отвлечённое:
Из опыта общения с программистами: пока в деталях абсолютно всё не разжуёшь что им нужно сделать, они вообще ничего сделать не способны. Сначала идею создают технологи, конструкторы и инженеры, а обученные обезьяны (оно вообще без намёка на оскорбления, но опыт такой) пишут код. Обезьяны дорогие, но найти их всё равно проще найти чем специалистов в узкой отрасли. Обезьяны хорошо умеют искать готовы решения по библиотекам, всё портить "оптимизируя" и меняя там где их не просили, не понимая почему всё должно быть так как должно быть и почему их собственные "гениальные" решения вредны и нефункциональны. Объяснять надо не менее четырёх раз.
Отставив намеки на оскорбления. Каждый должен заниматься своим делом - алгоритмы как таковые и подходы должны создавать профильные специалисты, реализовывать код, интерфейсы и глубинное всякое с данными - программисты. Но первые на деле первичны же.
Может есть и другие какие-нибудь могучие и великие программисты которые сами решают как в промышленности (сужу по тому что знаю) что можно улучшить, какой цифровой продукт может улучшить всякие процессы проектирования очень специфических задач, понимая при этом всю специфику, что там и зачем, понимаю как следует матфизику и просто хорошо разбираются в математике... но я таких в жизни встречал ровно двух. И то из них прям программист, а не "пишу код для себя, а так я физик" - один. Ах да, и даже он - прежде всего математик.