Привет, Хабр! Сразу хочу сказать, что в первую очередь задачи я решал для себя. Хочу поделиться моим опытом взаимодействия с этой платформой и насколько мне это помогло. Каждый по прочтению этой статьи решит для себя сам, стоит начинать или же нет. А началось мое знакомство в далеком январе 2022 года. За все время я решил почти 200-ти задач и имею 4kyu. Мне кажется главное, что стоит понять, что сайт делится на две категории — базовый и продвинутый. Большинство задач на 6, 7, 8 kyu — базовые. Всё, что меньше — продвинутый.

Разделил сайт я не случайно. Важно понимать, что до продвинутого уровня без набитых шишек — не пройти. Будь ты сеньор, который веками пишет код, или начинающий программист. Они построены не столько на логическое мышление и знание языка программирования, сколько на алгоритмы и математику. Не все, но большинство задач которые я встречал были именно такими. И при общение с коллегами иногда спрашивал какого уровня задачи они решают, если пользуются данной платформой. Не буду врать, встречал и тех кто довольно далеко продвинулся. Но большинство опытные как мне казалось, в своем деле разработчики не могли решить и задачу с 6kyu.

А в чем проблема? В первую очередь, в довольно продвинутых фреймворках (напр., Django, Spring) все необходимые алгоритмы уже реализованы «под капотом». И тебе приходится работать не на уровне, как создать мотор для машины, а скорее как его поставить. Из‑за этого люди, которые не стремятся попасть в крупные компании. В целом очень поверхностно знакомы с этим. От чего сложность решения задач растет.

Важную часть с тем, что если у вас что‑то будет не получаться мы разобрали. Надеюсь это сохранит вам нервы, и вы не станете сомневаться в своих технических знаниях. Ибо возможно, так глубоко заходить в алгоритмы вам и не понадобится. Поэтому я хочу разобрать именно свой опыт. Помогла мне данная платформа, или трата времени в пустую.

Новичкам

Начнем с базовых на мой взгляд вещей. Мне кажется, что любой программист должен потратить время и решать задачи 7, 8 kyu. Особенно на раннем этапе обучения. Ибо там в большинстве задачи — легкие. Связанные с синтаксисом языка, его особенностями. К тому же вы после решения задачи, можете посмотреть, как ее решили другие люди. Что тоже прибавляет знаний. На начальных этапах с помощью этого я познакомился с некоторыми особенностями своего языка. Но важно понимать, фанатизм к хорошей практике не приведет. Некоторые короткие решения — более сложные на прочтения и понимания кода. Если в этом случае, кажется что практика рабочая. То в довольно большом проекте, такая практика может стать проблемой при чтение.

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

Среднему

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

Мой личный опыт

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

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

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

Only registered users can participate in poll. Log in, please.
Насколько для вас полезен codewars?
10.87%Очень сильно полезен10
44.57%В какой-то период был полезен41
17.39%Бесполезный16
27.17%Затрудняюсь ответить25
92 users voted. 16 users abstained.