Как не сдаться в процессе изучения чего-то нового.
Всем привет. У меня давно возникла идея поделиться своими мыслями, так как в свое время подобные истории помогли мне пересмотреть свое отношение к себе, к разработке и процессу обучения. Это такой черновой вариант, в котором важен посыл, а не слог.
Начну с очевидного: рано или поздно вам станет слишком сложно. Процесс обучения кажется приятным до первых сложностей. Однажды вы сядете с утра с очередной задачей и выйдете из-за стола вечером так и не решив ее, не сможете нагуглить ответ на вопрос или провалитесь в изучение материала, для понимания которого нужно изучить другой материал, для понимания которого нужно изучить другой материал, для понимания... ну вы поняли :)
Возможно не сразу, но с течением времени, терпения и мотивации перестанет хватать. Вам покажется, что вы теряете интерес, что к разработке — или к чему угодно другому — у вас то ли душа не лежит, то ли нет способностей.
Как не сдаться и продолжать обучение?
Напоминайте себе, что никто не рождается со знаниями и способностями. Да, кому-то что-то дается легче, чем остальным. Кто-то с детства интересовался математикой, алгоритмами и программированием, и сейчас решает задачи на порядок быстрее вас, так как вы всю жизнь любили историю и социологию, а в разработку перешли лишь полгода назад. Однако это не означает, что вы не сможете освоить то, что хотите освоить. Научиться можно всему. Важно лишь правильно к подойти к процессу обучения.
Используйте разные ресурсы. Для начала — всегда используйте больше одного ресурса, это помогает усвоить больше знаний. То, что пропустит или недоступно объяснит автор одного видео/книги/курса, упомянет и объяснит автор другого контента. Плюс желательно найти «своего автора». Поясню: в начале изучения JS я купила курс по его основам у автора контента, чьи бесплатные уроки мне понравились и помогли больше всего. Через месяц мне хотелось все бросить, казалось, что я не понимаю очевидных вещей, а программирование — это все-таки тоска зеленая, и я напрасно трачу время. Я бросила первый курс и начала изучать тот, который посоветовали мне коллеги — не все было гладко, но я лучше усваивала материал, а автор курса доступно объяснял все темы, регулярно обновлял устаревшую информацию и не забывал закидывать мотивационные речи в конце уроков.
Комбинируйте разные задачи и формы обучения. Это касается всего обучения в целом, но в особенности это важно, если вы обучаетесь самостоятельно и чувствуете, что «увязли» в какой-то теме. Зазевались, смотря пятую лекцию по программированию за день? На силе воли и мотивации можно продержаться день, неделю, а то и месяцы, но однажды их может стать недостаточно. Попробуйте свои силы на платформах-тренажерах вроде Codewars, Leetcode или Code Battle. Такое переключение помогает поддерживать мотивацию, интерес и веру в себя, ведь лучше отвлечься и решить задачку по программированию, чем в третий раз перематывать видео-урок до момента, который вы буквально прозевали от тоски.
Будьте последовательны. Не пытайтесь стать лучшим в изучаемой области в одночасье. Начинайте с легких задач, плавно переходите к более сложным. Такие платформы как Codewars и Leetcode предоставляют возможность фильтровать задачи по уровням сложности. Переходя от простых задач к более сложным вы будете наращивать знания и уверенность в себе, как в программисте. Ведь маленькие победы — это тоже победы. Ну и изучите платформу перед тем, как начнете решать задачки — интерфейс и некорректная фильтрация уровня сложности могут отпугнуть вас по началу.
Вливайтесь в сообщество. Большинство джунов либо не трудоустроены, либо работают на той позиции, с которой хотят уйти. Если у вас нет возможности устроиться стажером на желаемую должность или оплатить курс — поищите бесплатные курсы, пусть даже недельные, смотрите разборы с задач с собеседований на YouTube, интервью других разработчиков. Часто участники или подписчики в комментариях упоминают множество полезных ресурсов, как платных, так и бесплатных, дают актуальные советы новичкам и рассказывают про свой опыт. Подпишитесь на других разработчиков в социальных сетях — словом, окружите себя теми, с кем в последствии вы будете работать. Половину полезной информации я узнала таким образом.
Здесь я позволю себе небольшое лирическое отступление, которое при желании вы можете смело пропустить. Мне бы хотелось посоветовать прочитать книгу «Гибкое сознание» Кэрол Дуэк. В ней автор пишет о двух возможных установках: установке на данность и установке на рост. Установка на данность свойственна тем людям, которые считают, что родились с уже предопределенными талантами и умственными способностями и что изменить их они не в силах, сложности и проигрыши сильно ударяют по таким людям.
В свою очередь люди с установкой на рост не ограничивают себя рамками своих текущих умений и знаний, верят, что все качества можно развить, и все наши умения от рождения — лишь отправная точка. Неудачи и сложности лишь подогревают их интерес и мотивируют двигаться вперед. Если не хотите читать всю книгу — почитайте хотя бы выжимки из нее. Я уверена, что после прочтения вам будет несколько проще справляться с неудачами.
Также попробуйте использовать различные техники для поддержания мотивации — для меня, например, хорошо работает метод "don't break the chain" («не разорви цепь») — если вы хотите делать что-то регулярно, нарисуйте/распечатайте или скачайте себе календарь и отмечайте дни, когда делаете упражнения/придерживаетесь диеты/изучаете новый язык. Скорее всего, подсознательно вы не захотите разрывать цепь.
Leetcode, например, (как и Хекслет), использует отметки в календаре и "max streak" — это максимальное количество решенных вами задач на ежедневной основе без прерываний.
Читайте также: Как решить задачу, если непонятно, с чего начать: советы от Хекслета