@EzikBro

Какие области IT сильно связаны с алгоритмикой и математикой?

Добрый день.
Я учусь на первом курсе по направлению "Фундаментальная информатика и информационные технологии", параллельно с учебой занимаюсь спортивным программированием.
Мне кажется, что сейчас уже надо более четко определить для себя общую область работы после окончания универа.

Очевидно, я хочу заниматься тем, что мне нравится и что у меня достаточно хорошо получается - решением алгоритмических задач (под алгоритмическими я подразумеваю что-то вроде написания конкретной функции, которая должна вернуть конкретный результат, решая конкретную задачу, например велосипедная реализация поиска id в БД). Тогда на каких специальностях и где вообще требуются специалисты подобного рода? Или сейчас это какая-то умирающая/обособленная область, где никому не нужны специалисты-новички?

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

И это правда, что сейчас data science инженеры больше занимаются исследованиями, чем решением бизнес проблем? Если да, то как долго еще сохранится такое положение дел?
  • Вопрос задан
  • 1220 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
Когда я в универе был олимпиадником (АСМ) тоже думал - главное - быстро и круто алгоритмы писать, это настоящее программирование, а не вот эти ваши формочки клепать.
На деле, как вам уже сказали, олимпиадные скиллы хороши ровно в одной области - выигрывании на олимпиадах.
И основное умение получаемое там - суметь очень быстро написать код который пройдет по жестко заданным тестам. В реальной жизни, к сожалению, это называется "малоподдерживаемый говнокод который проще выкинуть".
Потому что "пройти тесты" - это только малая часть хорошего кода и правильной архитектуры и алгоритмов.
Там есть время подумать и написать хорошо, придумать алгоритм лучше, проверить разные варианты и так далее. Это все умеет любой хороший профессионал.

Проведу аналогию - есть спортсмен который отлично научился в бассейне быстро плавать по прямой. Он один из лучших и вообще молодец. Знает до деталей как двигать руками, как загребать воду максимально эффективно, какую шапочку использовать для уменьшения трения и так далее. И тут задался вопросом - а где я, такой молодец, могу работать? Ответ - в том же бассейне, тем же спортсменом. Потому что за пределами бассейна, оказывается, надо еще 100500 совсем других умений. Даже спасатель на пляже из него выйдет хреновый, потому что мало быстро доплыть до человека, его сначала увидеть, а потом еще и спасти надо. Профессиональные спасатели может и плавают медленнее чем он, зато знают куда смотреть, как понять что человек тонет, как к нему плыть как вытаскивать, откачивать и так далее. И при этом плавают-то не намного хуже. Наш спортсмен из бассейна ничего этого не знает и не умеет.

В программировании все точно так же. Нет такой профессии "решатель алгоритмических задач" (за пределами спортивного программирования). Любой профессионал в первую очередь должен будет знать огромную всяких знаний из своей области и уметь кучу умений, и уже во вторую очередь - среди прочих навыков так же уметь решать алгоритмические задачи.

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

Понятно что области разные, но вы думаете о том что будет через 5-10 лет, а этого никто не знает. Когда я выпускался с универа, программирование было уделом очкариков не от мира сего и какая-то тухлая тема, даже в нии программисты это был больше фарс и я пошел потому что просто нравилось, совершенно без всяких перспектив а оно вон как все повернулось - сейчас работа мечта.

Так что выбирайте по области которая нравится. Пробуйте одно, другое. Информации - море, думаете про дата саенс - полгода проживите так будто туда собрались, читайте статьи, общайтесь в сообществах, участвуйте в вебинарах - конференциях, подпишитесь/задружите с теми кто там работает. Через полгода поймете точно - оно или нет. Поменять всегда успеете, у вас 5-6 таких заходов во время учемы, можно не спрашивать на тостере а просто попробовать всё. Возможно к тому времени как вы доучитесь в универе, появится пачка новых профессий которые вам отлично подойдут.

Удачи в общем и не грузите себе мозги раньше времени зазря.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@majstar_Zubr
C++, C#, gamedev
Разработка низкоуровневых библиотек, драйверов и интегрированных решений для высоких нагрузок.
Такая деятельность финансируется из бюджета либо корпораций, либо каких-то фондов, либо просто donations (на текущий момент).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы