img
img
09 августа 2022
10 августа 2022
7 мин
627

Насколько программисту необходима математика для успешной работы

Математика не всегда нужна в работе, но пригодится для развития личностных качеств.

img

Математика прокачивает личностные качества: развивает память, мышление, улучшает концентрацию и интуицию. Поэтому ее стоит изучать не столько ради кода, сколько для развития.

Концентрация. Программисты не только пишут, но и отлаживают его — проверяют на ошибки. Порой это занимает часы, а то и дни. Отвлекаться нельзя — легко пропустить баг.

Хорошо тренируют концентрацию математические задачи. Приходится держать в уме цифры, формулы, переменные. А еще возвращаться в начало уравнения и делать промежуточные расчеты. Стоит отвлечься — и вылезет ошибка. 

Терпение и настойчивость. Нужны при поиске ошибок в программе. Иногда приходится тестировать код раз за разом. Если уже через пару часов работы хочется всё бросить — скорее всего, с терпением беда. Его надо тренировать.

В математике решение тоже не всегда приходит с первого раза. А бывает, решаешь-решаешь, а в конце — тупик: всё неверно. Надо перечеркнуть и начать с начала. Но чем больше практики, тем проще относишься к таким ситуациям.

Оперативная память. По-другому — умение держать в голове много разной информации. 

Разработчик редко пишет программу целиком. Обычно сначала один кусочек кода, потом другой, а затем собирает их вместе. Когда работает над вторым, важно не забыть, что писал в первом. Иначе легко ошибиться: начнется сборка программы, и что-то не будет работать. 

В математике оперативную память используют везде. Например, когда делают промежуточные расчеты, держат в голове разные формулы, продумывают решение следующей части уравнения.

Интуиция. Люди, которые постоянно решают математические задачи, учатся находить закономерности. В дальнейшем, даже если попадется новая задача, чутье подскажет, как ее решить.

В IT интуиция нужна, когда ищешь решение задачи. Например, чтобы разработать алгоритм сортировки данных. Если чутье развито, не придется тратить часы, чтобы опробовать все возможные варианты.

Какую математику нужно знать программисту и для каких задач

Математика — это не один большой раздел науки, а несколько. Какие-то простые, их используются все — например, когда складывают или вычитают. Другие — сложные и нужные только узким спецам.

♟ Логика. Базовые знания логики — так называемую булеву алгебру — используют почти все программисты. Но это несложный раздел математики, изучить его можно самостоятельно.

Глубокие знания нужны айтишникам, которые работают с искусственным интеллектом, например с поисковиками. Они пишут программы, которые обрабатывают информацию, а потом делают из нее вывод. Например, какие страницы показать в браузере, когда человек ищет рецепт или расписание автобуса. Всё это работает на математической логике.

Еще продвинутые разделы нужны спецам, которые работают с базами данных — хранилищами информации. Чтобы вытащить конкретные данные, их надо отсортировать. Это делают через язык запросов SQL. 

Узнайте, как решать бизнес-задачи с помощью SQL, на курсе Skypro. За два месяца научитесь извлекать информацию из баз данных и глубже анализировать поведение пользователей, проводить аналитические исследования и находить инсайты. Поймете, как улучшить сайт или приложение через грамотную работу с базами данных. 

На час теории — пять часов практики. С начала курса будете решать задачи в популярном интерпретаторе Jupyter Notebook. Это настоящая среда разработки, которую вы сможете использовать и для своей работы.

📈 Математический анализ и дискретная математика. Матанализ используют дата-сайентисты — те, кто работает с большими данными. А еще спецы, которые занимаются машинным обучением, анализируют массивы данных, делают прогнозы.

Дискретная математика нужна, чтобы писать базы данных и создавать поисковые системы. Еще — для логистики и построения маршрутов.

📏 Линейная алгебра. Раздел математики о векторах, векторных пространствах, координатах и расчетах. В программировании линейную алгебру используют дата-сайентисты при разработке алгоритмов машинного обучения и искусственного интеллекта. А еще разработчики игр, чтобы перемещать в игровом пространстве персонажей, менять положение камеры, кнопок и мыши. 

📊 Комбинаторика и статистика. Комбинаторика вычисляет количество возможных комбинаций, которые приведут к достижению цели. Ее используют спецы, которые занимаются маршрутизацией в сетях, разрабатывают искусственные нейронные сети и интеллект. 

Статистика — это математика, в которой данные собирают, а потом исследуют. Ее используют разработчики программ и приложений, дата-сайентисты и аналитики данных, когда проводят исследования и пытаются найти закономерности. 

🌐 Теория алгоритмов. Этот раздел математики изучает общие свойства и закономерности. Программисты используют алгоритмы, когда ищут ошибку в коде, сортируют данные. Такие задачи появляются у всех специалистов — от веб-разработчиков до дата-сайентистов. 

В первом случае — чтобы обратиться к базам данных. Посчитать, сколько стоит заказ с учетом скидки, а затем показать финальную стоимость покупки. Во втором — чтобы написать программу распознавания лиц или номеров машин.

Криптография. Она помогает шифровать данные. В IT используют не саму криптографию, а криптографические алгоритмы. С ними работают спецы, которые защищают данные от атак, иначе говоря — занимаются кибербезопасностью. Через криптографические алгоритмы программисты создают специальные протоколы и мешают мошенникам перехватить данные.

«Если говорить про направления в программировании, то для фронтендера математика нужна. Как минимум для верстки. Для бэкендера тоже — где-то в меньшей степени, где-то в большей.
Например, в веб-разработке математика помогает работать с ресурсами системы: распределять нагрузку, выстраивать аналитику. В геймдев-разработке математика очень нужна для описания алгоритмов искусственного интеллекта, для работы с графикой, окружением.
Думаю, что потребность в математике определяется больше спецификой команды и ее задачами, нежели чем-то еще, но она есть практически везде»

Мнение практикующего разработчика

Кому вовсе не обязательна математика

В IT работают не только те, кто пишет код. Есть и те, кто участвует в разработке IT-продуктов, но обходится без математики.

💼 Руководитель проектов. Организует команду так, чтобы работа над проектом двигалась и всё завершалось в срок. 

Сильные качества — умение находить подход к людям и принимать решения в сложных ситуациях. Например, когда дедлайн близко, а главный разработчик свалился с температурой. 

Математика руководителю проекта особо не нужна, разве что общие школьные навыки. Допустим, чтобы посчитать, сколько процентов задачи выполнено.

🥤 Менеджер по продукту. Исследует рынок, спрос, конкурентов, чтобы продукт не затерялся среди аналогов и нашел покупателей. Когда продукт вышел и уже продается, менеджер следит за результатами. Если нужно, вносит изменения в функции, дизайн и так далее.

Главные скилы продуктолога — умение строить гипотезы и принимать решения на основе данных, находить контакт с командой. А вот углубленную математику знать не надо, хватит и школьных знаний.

🛒 Маркетолог. Привлекает внимание потенциальных покупателей и превращает их в реальных. Специалист должен хорошо понимать, как люди выбирают продукт, на что обращают внимание. Еще анализировать конкурентов — видеть их недостатки и преимущества.

Среди сильных скилов — умение планировать, строить стратегии, разбираться в рекламных инструментах и метриках. Математику маркетолог использует, но базовую, на уровне школы, — например, чтобы посчитать, сколько стоит клик, или спланировать бюджет.

📝Технический писатель. Составляет инженерную документацию, инструкции, технические задания. 

Среди главных скиллов — умение собрать различную информацию, проанализировать ее, осмыслить и написать текст понятным языком. Математика ему в этом совсем не нужна, даже школьная базовая.

«Всё зависит от того, что именно вам нужно. Если фронтенд, то вообще можно не думать о математике. В вопросах бэкендового уровня, особенно в базах данных, нужна. Если же делаете сайты, например, на WP, то есть простые коммерческие продукты — там математика уровня начальной школы.

Ребята, у которых я учился, были круты в математике. Но они говорили, что им для 95% задач она не нужна. Но для 5% всё же важна»

Мнение практикующего разработчика

Полезная литература по математике

📚 По дискретной математике

Род Хаггарти «‎‎Дискретная математика для программистов‎»‎ 

Фёдор Новиков «‎Дискретная математика‎»‎

Иосиф Романовский «‎‎Дискретный анализ»

Фундаментальные знания — логика, множества, графы, отношения, базовые функции. Информация подана доступно, подойдет даже школьникам. Много практических примеров.

Изложены основные разделы дискретной математики. Есть справочник с указателем обозначений, предметным указателем, библиографическим списком с комментариями.

Основана на лекциях для студентов математико-механического факультета. Большое внимание уделяется дискретному анализу в современной информатике.

Род Хаггарти ‎‎Дискретная математика для программистов‎ Фёдор Новиков Дискретная математика‎ Иосиф Романовский ‎‎Дискретный анализ

📚 По математической логике

Игорь Лавров «Математическая логика»

Владимир Игошин «Математическая логика и теория алгоритмов»

Эллиот Мендельсон «Введение в математическую логику»

Содержит практически все теоремы в области математической логики, теории моделей и теории алгоритмов. Есть упражнения, чтобы было проще усвоить материал.

Подходит для изучения основ теории. Отдельно разобрано, как связана математическая логика с компьютерами, информатикой, системами искусственного интеллекта.

Полное изложение основных разделов математической логики и ее приложений. Много примеров и упражнений.

Игорь Лавров «Математическая логика» Владимир Игошин «Математическая логика и теория алгоритмов» Наум Кремер «Теория вероятностей и математическая статистика»

📚 По статистике

Михаил Лагутин «‎Наглядная математическая статистика‎»‎

Владимир Гмурман «Теория вероятностей и математическая статистика»

Наум Кремер «Теория вероятностей и математическая статистика»

Написана доступным языком, много вопросов и задач с ответами.

Полный университетский материал по теории вероятностей и математической статистике. В конце каждой главы есть задачи.

Учебный материал с руководством по решению задач. Много примеров и вопросов с ответами. 

Михаил Лагутин «‎Наглядная математическая статистика‎»‎ Владимир Гмурман «Теория вероятностей и математическая статистика» Наум Кремер «Теория вероятностей и математическая статистика»

Главное: нужна ли математика в программировании

  • Некоторые программисты, например веб-разработчики, обходятся базовой школьной математикой. Другим нужны узкоспециализированные разделы дискретной математики. Примеры таких профессий — дата-сайентист, специалист по машинному обучению, разработчик искусственного интеллекта и нейронных сетей.
  • В IT работают не только программисты, но и руководители проектов, менеджеры по продукту, маркетологи, технические писатели и многие другие. Они тоже создают и продают IT-продукты, но их задачи не связаны с кодом. Поэтому математикой они почти не пользуются.
  • Даже если математика не нужна в рабочих задачах, она пригодится, чтобы развить личностные качества. Например, концентрацию и оперативную память. Эти качества помогают и в работе, поэтому есть смысл заняться математикой как хобби.
img
Подпишитесь на рассылку, чтобы Не упустить что-нибудь новое
Просто и понятно о том, как получить новую профессию


    Дадим нужные знания и поможем получить работу!
    Регистрируйтесь на курс и учитесь у экспертов-практиков.
    Профессия
    от 2 месяцев
    Освойте навыки с нуля

    Программирование, аналитика и другие направления

    от 2 228 ₽/мес
    Ещё по теме
    Как использовать модуль Requests в Python

    Рассказываем о том, как работают библиотеки Requests и как устроены HTTP-запросы.

    13 сентября 2022
    13 мин
    Как проверить HTML-код на ошибки

    Рассказываем, как валидатор помогает избавиться от ошибок, которые мешают пользователям, браузерам и поисковикам.

    Сколько зарабатывают в IT-сфере

    На доход влияют опыт, город и направление.

    10 августа 2022
    6 мин
    Плюсы и минусы IT-профессий

    Разбираем преимущества и недостатки профессий веб-дизайнера, тестировщика и других.

    07 августа 2022
    7 мин
    Как стать тестировщиком

    Оптимальный вариант — выучиться онлайн: пройти курс с теорией и практикой.

    React.js: что это, для чего нужен и как освоить начинающим

    React подходит для приложений, которые нужно масштабировать и поддерживать.

    20 июля 2022
    10 мин
    Обзор лучших эмуляторов Android для Windows

    BlueStacks, NoxPlayer, Andy, MEmu Play, Genymotion, GameLoop.

    20 июля 2022
    6 мин
    Тест: как выбрать профессию в IT-сфере

    Определяем, кто вы: веб-дизайнер, тестировщик, аналитик или разработчик.

    18 июля 2022
    6 мин
    Тенденции развития IT-сферы в России в 2022 году

    Главные тренды — импортозамещение и облачные технологии.

    17 июля 2022
    5 мин
    Лучшие книги про Python

    «Начинаем программировать на Python», «Python. К вершинам мастерства» и другие.

    11 июля 2022
    7 мин
    5 признаков того, что вам подойдет профессия веб-разработчика

    Вы умеете анализировать, любите учиться новому и можете признавать свои ошибки.

    11 июля 2022
    3 мин
    Карта по вселенной разработчиков

    Чем занимаются backend-, frontend- и fullstack-разработчики.

    11 июля 2022
    2 мин
    Словарь тестировщика

    Разбираем, что такое баг, дебаг, валидация и другие термины.

    11 июля 2022
    2 мин
    Какие бывают виды тестирования

    Классификации: по запуску кода на исполнение, по доступу к коду и архитектуре и другие.

    08 июля 2022
    6 мин
    Как использовать функции в Python

    Любая функция начинается с инструкции def, названия и набора аргументов в скобках.

    07 июля 2022
    9 мин
    Что такое Agile

    Agile — это группа гибких методов, чтобы улучшать продукт.

    20 июня 2022
    4 мин
    5 причин освоить Python

    Это универсальный и перспективный язык, который подходит новичкам.

    Как отбирают кандидатов в IT-компаниях

    IT-рекрутер обращает внимание на то, как вы мыслите и рассуждаете.

    5 причин научиться программировать на Java

    Этот язык постоянно развивается, но остается стабильным, на нём кодят уже 27 лет.

    Как работать со словарями в Python

    Словарь создают с помощью ключевого слова dict, синтаксиса языка.

    Каково быть тестировщиком: 4 истории о боли и радости

    Рассказы тестировщиков: какие ошибки они замечают в обычной жизни.

    Что такое Node.js и зачем ее изучать

    Node.js — платформа с открытым исходным кодом для работы с JavaScript.

    09 июня 2022
    5 мин
    Что такое массивы в Java и как с ними работать

    Массив — это набор однотипных элементов, упорядоченных по номерам.

    Как написать тест-кейс

    Создавайте простые тест-кейсы и учитывайте интересы пользователя.

    06 июня 2022
    6 мин
    Мифы о программистах

    Есть стереотипы, что программисты — это мужчины, всемогущие хакеры и интроверты.

    17 мая 2022
    2 мин
    Код: что ты такое

    Код определяет внешний вид и внутреннюю логику программ, сайтов.

    17 мая 2022
    2 мин
    7 англоязычных подкастов для тех, кто хочет прокачаться в IT

    Про Python, frontend-разработку, мягкие навыки, работу над проектами.

    17 мая 2022
    3 мин
    6 ютуб-каналов для разработчиков

    Ответы на вопросы новичков, интервью успешных спецов, полезные советы.

    17 мая 2022
    2 мин
    Женщины в IT

    Достижения и цитаты шести героинь, которые не побоялись попробовать себя в IT.

    17 мая 2022
    2 мин
    Почему IT — сфера будущего

    Информационные технологии помогают бизнесу зарабатывать и упрощают жизнь.

    IT-компания — это не только Google

    Рассказываем про «Тинькофф», «Билайн» и другие компании.

    16 мая 2022
    2 мин
    Как составить и оформить баг-репорт

    Указывайте в отчете только одну ошибку, прикладывайте скрины, сообщения и коды.

    04 мая 2022
    6 мин
    Как работать со списками в Python

    Учимся добавлять и изменять элементы, объединять и копировать списки.

    02 мая 2022
    5 мин
    Цикл for в Java: что это, как с ним работать

    Конструкция, чтобы много раз выполнять один и тот же участок кода.

    Как работать с модулем JSON в Python

    JSON часто применяют, когда разрабатывают API и веб-приложения.

    25 апреля 2022
    9 мин
    Как IT-специалисту из России найти работу за рубежом в 2022 году

    Есть сервисы, платформы и телеграм-каналы с вакансиями по всему миру.

    21 апреля 2022
    6 мин
    Что такое HTML: основные теги

    С помощью HTML структурируют страницу на сайте, добавляют картинки, таблицы, списки.

    Как работает цикл for в Python

    Цикл for используют, когда количество повторов известно заранее.

    Комьюнити для разработчика

    Есть комьюнити на платформах, под эгидой компаний или самоорганизующиеся.

    07 апреля 2022
    6 мин
    Гайд: как определить, какое направление в IT тебе подходит

    Обязанности и зарплата аналитика, Python- и Java-разработчиков и не только.

    Правильное питание на удаленке. Почему это важно?

    Правильное питание — это не о жестких диетах и полном отказе от любимых продуктов.

    01 апреля 2022
    7 мин
    Как я нашла время на учебу, когда времени не было совсем

    Благодаря методу «круга-пирога» увидите свое время и возьмете его под контроль.

    9 причин, почему не получается внедрять полезные привычки

    Ищите мотивацию, хвалите себя, визуализируйте план и результат.

    Как больше успевать: зачем есть по одной лягушке в день и как справиться со слоном

    Лягушки — небольшие, но неприятные дела, слоны — долговременные задачи.

    Как поставить цель и не бросить на полпути

    Когда ставите цель, отталкивайтесь от проблемы и конкретизируйте решение.

    Кто такой менеджер проектов, чем занимается и как им стать

    Этот специалист контролирует все этапы проекта и приводит его к успеху.

    30 марта 2022
    8 мин
    Как не угробить здоровье на удаленке

    Советы всем удаленщикам — больше двигаться, делать зарядку, разминку для глаз.

    30 марта 2022
    9 мин
    Junior, Middle, Senior в разработке — кто есть кто и как перейти на уровень выше

    Junior зарабатывает от 40 000 ₽, Middle от 100 000 ₽, а Senior от 250 000 ₽ и выше.

    29 марта 2022
    12 мин
    Как банковская служащая в 32 года с нуля перешла в IT и в 40 открыла свою компанию по разработке онлайн-игр

    Совет от героини: сделайте первый шаг, дальше будет проще; учитесь и идите вперед.

    Пять приложений, чтобы не отвлекаться от учебы и работы

    Фишки и стоимость Forest, WaterDo, SleepTown, Alarmy, Pomodoro Timer Lite.

    29 марта 2022
    5 мин
    Язык SQL: что это такое и зачем он нужен

    SQL используют в банках, торговле, перевозках: везде, где много информации.

    29 марта 2022
    7 мин
    Как освоить c нуля IT-профессию и перейти на новую работу без опыта

    Сначала поставьте цель: выберите сферу и определите, кем видите себя через 10 лет.

    Словарь IT-сленга

    Термины разработки, Scrum, неформального общения, организационных процессов.

    29 марта 2022
    13 мин
    Подборка: 33 книги и подкаста для начинающих программистов

    Узнаете о работе программиста и поймете, как писать хороший код.

    28 марта 2022
    10 мин
    Хакнуть мозг: как современные знания помогают мозгу развиваться и учиться

    Мозг меняется всю жизнь. Мы можем на него влиять: изучать новое, развивать навыки.

    28 марта 2022
    8 мин
    Что такое CSS и как с ним работать

    С помощью CSS задают цвет, размеры, анимацию, адаптируют сайт под устройства.

    16 марта 2022
    9 мин
    css
    Как создать телеграм-бота на Python

    Python — самый популярный язык программирования в феврале 2022 года.

    16 марта 2022
    9 мин
    Какие профессии в IT подойдут гуманитарию

    Гуманитарию подойдут профессии тестировщика, веб-дизайнера и не только.

    15 марта 2022
    9 мин
    Frontend или backend: чем отличаются и какой вид разработки выбрать

    Фронтендер создает интерфейс продукта, бэкендер работает с серверной частью.

    15 марта 2022
    7 мин
    Кто такой Java-разработчик, чем занимается и как им стать

    Обязанности Java-разработчика — писать код, тестировать и улучшать его.

    15 марта 2022
    7 мин
    Что такое IT-сфера и почему она сейчас так популярна

    IT-отрасль привлекает удаленкой, карьерным ростом, высоким доходом.

    04 марта 2022
    7 мин
    it
    Как установить Python на компьютер и начать на нём писать

    Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

    Postman: как пользоваться программой для тестирования API

    Бесплатный сервис позволяет писать тесты, поддерживает разные типы API.

    04 марта 2022
    6 мин
    api
    Google Colab: что это такое и как с ним работать

    Colab используют, чтобы создавать код на Python прямо в браузере.

    04 марта 2022
    4 мин
    Как перейти в разработчики из другой профессии

    Освоить новую профессию реально с нуля в любом возрасте, главное — мотивация.

    03 марта 2022
    8 мин
    Как помочь ребенку выбрать профессию

    Не выбирайте по принципу «чем проще, тем лучше» и уважайте желания ребенка.

    03 марта 2022
    7 мин
    Нужно ли высшее образование программисту: сравниваем все «за и «против»

    Важнее опыт и проекты в портфолио, но иногда высшее образование все-таки нужно.

    02 марта 2022
    5 мин
    Стоит ли переходить на удаленку: плюсы и минусы

    Сегодня удаленка доступна для разных сфер: ИТ, маркетинг, сервис, продажи.

    02 марта 2022
    6 мин
    Какой язык программирования выбрать новичку

    Выбирайте по уровню спроса у работодателей и направлению в программировании.

    24 февраля 2022
    7 мин
    Фильмы про программистов: лучшие фильмы и сериалы про компьютерных гениев

    20 фильмов и сериалов для тех, кому интересен мир информационных технологий.

    24 февраля 2022
    7 мин
    Фронтенд-разработчик: кто это такой и как им стать с нуля

    Frontend-разработчик создает внешнюю — пользовательскую часть веб-ресурса.

    24 февраля 2022
    8 мин
    Backend-разработчик: кто это такой и чем он занимается

    Backend-разработчик отвечает за внутреннюю — серверную сторону веб-ресурса.

    24 февраля 2022
    9 мин
    Что такое спринты в программировании и как их выполнять

    Спринты используют в долгих проектах и сложных продуктах.

    Как начать изучать Python

    Преимущества Python — понятный синтаксис и читаемость, готовые библиотеки.

    24 февраля 2022
    9 мин
    Jupyter Notebook: что это такое и как им пользоваться

    Jupyter-ноутбуки применяют для визуализации данных в big data и data science.

    24 февраля 2022
    7 мин
    Как развить soft skills

    Soft skills помогают развивать компетенции, осваивать новые тенденции в работе.

    24 февраля 2022
    11 мин
    Как начать изучать Java

    На Java разрабатывают всё: от приложений и ПО до технологий Big Data.

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить