Страницы

Поиск по вопросам

вторник, 2 апреля 2019 г.

Есть ли смысл заниматься олимпиадным программированием? [закрыт]

Работаю веб-разработчиком (junior). Недавно проходил курс, где попалась олимпиадная задача. Решить ее смог, но решение было далеко от идеала (сверил с решением автора). Ну и задачи подобного формата мне даются сложно.
Поможет ли мне олимпиадное программирование в развитии программистких скиллов, если выделю 6-7 часов в неделю?
Хипстерские советы типа "Лучше подключись к open source проекту на github" не актуальны.
Какую литературу можете посоветовать?


Ответ

Олимпиадное программирование даст вам хорошую эрудицию в алгоритмах и комбинаторике. В целом весьма полезные знания и умения. Задачи, требующие таких знаний, в реальной жизни бывают, но редко, зависит от наукоёмкости предметной области.
Сам по себе стиль в котором решаются олимпиадные задачи -- выполнить задачу хоть как, но уложиться в заданное время -- в обычном программировании чаще всего неприемлем: обычно тут нужно решить задачу с должным качеством, включая качество написанного кода, за приемлемое время. Причём важен навык оценки времени на разработку и способность уложиться в заявленное время. Понятность решения часто даже важнее производительности -- потому что если кроме вас в этом никто не разберётся, то всё равно перепишут "как проще".
Единственная ситуация в жизни, которая действительно похожа на олимпиадную -- это когда кто-то (чаще всего вы сами) накосячили на проде, и нужно срочно найти решение проблемы и пофиксить.
Успешным олимпиадникам на обычных проектах скучно -- мало мест где можно себя проявить, зато море рутины.

Комментариев нет:

Отправить комментарий