Наступил декабрь, и программисты всего мира бросились решать Advent of code. Кто не знает, это цикл задач на алгоритмы. Каждый день появляется новая задача, а их сложность постепенно нарастает. Задачи обсуждают в интернете, сравнивают решения, спорят… словом, этакий сериал для программистов.

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

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

Далее, предположим, у вас и вправду зачесались руки что-то покодить. Неужели нет ничего под рукой? Написать библиотеку, какой-нибудь плагин, документацию? Это гораздо полезней, потому что послужит людям. А какая польза в решении задачи с волшебными камнями? Это одноразовый код, страшный и понятный только автору. Он пойдет на помойку.

Хуже всего тот шум, что производит Advent of Code каждый декабрь. Напоминает бегунов в парке или веганов: они не могут бегать и веганить молча, нужно всем об этом рассказать. Блоги, твиттеры и другие площадки наводняются унылыми постами на тему “AoС day 5 in Rust”. Для меня это красный флаг: если вижу, что автор будет тридцать дней кормить меня “интересными задачками”, отписываюсь без раздумий.

Advent of Code — это турнир, в котором вам никогда не выиграть. Как правило, все одиннадцать месяцев мы делаем рутину: читаем базу, Кафку и перекладываем данные туда-сюда. Дай бог раз в квартал обходим дерево. Но ни с того ни с сего в двенадцатый месяц надеемся преуспеть в решении нетривиальных задач. С какой стати? Это как новичку пойти в спортзал и каждый день заниматься по два часа. Чем это кончится? Организм не вынесет внезапной нагрузки, плюс добавьте духовное поражение. Так почему вы уверены, что быстренько решите этот бред с гномами и эльфами?

Advent of Code построил специфическую тусовку. Ее завсегдатаи решают подобные задачи за три минуты. Вступить с ними в соревнование — гарантировано обречь себя на проигрыш. Это чужая среда, чужая повестка, и обычному, заурядному программисту (как мне, например) там делать нечего.

Сказанное выше не значит, что я против Advent of Code. Ради бога, решайте, если вам нравится. Важно понимать: AoC не сделает вас лучше, если вы им занимаетесь. Ровно так же вы не станете хуже, если вам наплевать. Вы можете быть отличным программистом даже без репозитория advent_of_code_2021 на Гитхабе. А новогодний шум легко и перетерпеть.