Этот вопрос регулярно всплывает среди начинающих и даже опытных специалистов. С одной стороны, множество повседневных задач в программировании не требует сложных вычислений. С другой — математика лежит в основе алгоритмов, структур данных, криптографии, машинного обучения и многих других областей. Но даже за пределами формул и теорем она формирует мышление: учит анализировать, систематизировать и подходить к решению задач логично.
Мы опросили наших коллег, и узнали их мнение о математике для работы в IT.
Как QA-инженер могу сказать, что можно обойтись без математики, но вот без критического мышления нельзя. Считаю это одним из самых важных скиллов в QA.
Критическое мышление позволяет смотреть на бизнес-логику с разных углов, найти важную проблему в требованиях или в реализации.
Порой, конечно, думаешь, когда уже пригодится математика, а потом внезапно прилетает фича с формулами и расчетами. Функционал связанный с финансами требует особого внимания в тестировании расчетов.
Все зависит от конкретных задач. Иногда, даже обладая хорошими знаниями в математике или геометрии, применить их на практике не удаётся — например, когда специалист работает над проектом-админкой, состоящим из форм и таблиц.
На вопрос можно взглянуть и с другой стороны. Всем нам известно понятие «изобрести велосипед» — когда разработчик создаёт функциональность, которая уже была реализована ранее и доступна в готовом виде. Поэтому, чтобы не писать самостоятельно функции для вычислений по тем или иным формулам, чаще всего используют готовые open source библиотеки — они уже реализованы, протестированы и многократно использовались. Но как только задача выходит за пределы типовых решений, рассчитывать остаётся только на собственные знания: именно специалист должен определить, что ему нужно, откуда это взять и как проверить результат.
Математика требуется не всегда, но знание её точно не будет лишним.
В общем смысле IT – это сфера, связанная с осуществлением базовых операций с информацией (сбор, обработка, хранение, передача). Практически все IT-проекты и задачи направлены на реализацию и/или оптимизацию этих операций c каким-то множеством информации. Что дает в этом плане математика или можно ли без нее? Однозначно можно сказать, что без знаний математики работать в IT очень трудно.
Математика дает силу в решении задач, понимание цели проектов, возможность достижения положительных результатов. Информация – это данные, которые идеально описываются математическими моделями и подчиняются законам математики. Если говорить про влияние математики на различные IT профессии, то можно выделить следующее:
- Бизнес-аналитик собирает требования. Хорошее знание теории множеств, теории вероятности и статистики позволяет ему добиться полноты описания требований и исключит белые пятна в ТЗ.
- Системный аналитик прорабатывает системные решения. Тут хорошо выручает знание алгоритмов и умение строить математические модели для моделирования будущего поведения системы.
- Разработчик просто обязан знать все про алгоритмы, протоколы, сортировки. Работа с массивами, целыми, плавающими и иррациональными числами – будни его работы.
- QA-инженер не только проводит тестирование, но и дает оценку его результатов. Справиться с этим помогают математический анализ и статистика, временные и числовые ряды.
- Дизайнер не просто рисует макеты, он разрабатывает UX/UI. Разработать для пользователя эффективный инструмент помогает знание особенностей восприятия человеком цифровых сигналов. Гармоничный интерфейс всегда построен на базе таких фундаментальных математических азов, как "Золотое сечение", пропорции, орнаменты, симметрии.
- Менеджеры различного уровня – основная задача подготовка планов, определение приоритетов и очередности выполнения задач. Тут и умение работы с графами, и сетевые модели, и оценка рисков на основе теории вероятности и статистического анализа.
Самое главное влияние математика оказывает на способность мышления, умение систематизировать информацию и кратко, лаконично, но в достаточном объеме доносить ее до потребителя.
Математика в IT однозначно нужна — как минимум потому, что это самая логичная из наук: она развивает абстрактное мышление и помогает в понимании алгоритмов. Если ты занимаешься простыми CRUD-приложениями, как правило, этого уровня уже достаточно.
Но если ты работаешь в таких областях, как статистика, криптография, искусственный интеллект и многие другие, потребуются уже более специализированные знания. Здесь необходимо целенаправленно углубляться в предмет, изучать его и развивать соответствующие навыки.
В моей работе математика в первую очередь важна с точки зрения оптимизации алгоритмов и развития логического мышления.
Безусловно, знания математики необходимы — и не только специалисту в IT, но и любому человеку в целом. Математика формирует ум, развивает способность к мышлению и анализу. Вопрос можно сформулировать иначе: пригодятся ли математические знания в реальной жизни? Очевидно, что транспонирование матриц вряд ли понадобится в повседневной практике, но, как уже было сказано, дело не в конкретных задачах.
Важно то, какое влияние оказывает математика: человек со временем может забыть, как решается та или иная формула, но благодаря математическому подходу он будет мыслить более системно и находить верное направление для решения проблемы.
Подписывайтесь на нас в Telegram