Достаточно большая часть задач повседневных задач, которые встают перед программистами решается без применения математики. Набросать страницу, создать небольшое CRUD-приложение (приложение где происходят базовые действия над сущностями: создание, изменение, удаление), поработать с БД или очередями. Всё это можно делать буквально по документации, не вдаваясь в то, что происходит внутри. Обычно говорят про принцип Парето: 80% работы делается за 20% усилий.
Но задачи могут быть и сложнее, хоть и не встречаться каждый день. Например, найти и разобраться в неэффективном алгоритме сортировке, попробовать найти подходящее решение задачи коммивояжера в конкретном случае, понимать как связаны объединения таблиц с теорией множеств или разобраться в сложном условии (и упростить его) с помощью булевой алгебры. Все эти, достаточно базовые, знания в математике могут пригодиться и никогда не будут лишними:
https://ru.hexlet.io/blog/posts/mathПродвинутый программист должен выходить знаниями за рамки текущих задач, потому что бизнесу обычно нужно срочно (ещё вчера) и времени на раскачку, когда придёт новая задача, не будет.
Можно сказать, что продвинутому (хорошему) программисту нужно в первую очередь понимать основы, то есть иметь фундаментальные знания. Эти знания никогда не устареют, могут пригодиться в любой момент и на них должны строится все следующие уровни понимания происходящего. Базовые знания теории множеств, дискретной математики, графов, логики, лямбда-исчисления, конечных автоматов помогут разобраться в какой-то новой задаче, погрузится в неё и узнать новое. Намного важнее знать принципы, а не конкретные инструменты:
https://ru.hexlet.io/pages/principles