Привет👋 В рамках менторинга я много общаюсь с разработчиками разных уровней и вижу ряд однотипных проблем с которыми они сталкиваются. Сегодня хочу поделиться своими мыслями по поводу частой проблемы у людей, которые начинают изучать какой-то язык программирования.
Суть проблемы - когда человек изучает курс или смотрит обучающее видео, ему все кажется понятным, но когда он пытается реализовать какую-то задачу, он часто впадает в ступор, не знает с чего начать и начинает искать проблему в себе.
На самом же деле проблема в подходе, ниже я приведу несколько несложных советов, которые помогут двигаться вперед:
1️⃣ Сделай подготовку для будущего проекта, начни писать какой-то код. Например, если это Android приложение - начни с того чтобы создать проект, добавить на UI несколько элементов, запустить, убедиться что проект собрался и изменения отобразились на экране. Для консольной програмки это может быть функция main, в которой можно вывести какие-то строки, попробовать реализовать с ними циклы и условия.
2️⃣ Не нужно пытаться сделать правильно сразу, начни с черновика. Всегда хочется начать делать идеально, но лучше сделать неидеально, чем совсем никак. Пусть у тебя будет полотно кода, пусть вся работа будет делаться не очень эффективно, в одном раздутом классе или функции - для первого этапа это не важно. Важно что ты напишешь этот код сам и код сделает что-то полезное, а ты увидишь результат своей работы. Дальше его можно итеративно улучшать.
3️⃣ Не пытайся сразу написать программу целиком, декомпозируй ее на части. На примере Android-приложения - перед тобой стоит задача реализовать Android приложение, подумай из каких частей оно состоит, например, это может быть UI, походы за данными в сеть, работа с базой данных. Сделай каждую из этих частей отдельно, убедись что она работает, после чего можно их скомбинировать в один результат.
4️⃣ Старайся не писать очень много кода не проверяя его работу - потом будет сложно найти ошибки. Этот кейс встречается часто у людей, которые уже почувствовали некую уверенность - человек начинает писать сразу много кода, не проверяя его выполнения, как итог легко словить ошибку и потратить много времени чтобы понять в какой части она возникла. Чем меньше написано кода, тем легче понять что пошло не так, в случае ошибки.
5️⃣ Во время изучения курса или видео - недостаточно только смотреть видео и пытаться его понять, нужно писать код. Всегда нужно делать больше практики, писать код руками (не копипастить его из статьи) - так информация усвоится гораздо лучше и больше вероятность ,что она не вылетит из головы. В идеале даже при обучении нужно решать какую-то задачу, не просто переписывать код из статьи или видео, таким образом вы будете приучать себя к самостоятельному решению.
6️⃣ Last but not least - психологический момент - не надо думать что у тебя не получается потому что ты тупой. Скорее всего ты просто уткнулся в какую-то проблему и тебе нужен небольшой толчок вперед, чтобы двигаться дальше.
Расскажу небольшую историю. Недавно мне написал человек, который две недели не мог завести ksp, столкнулся с проблемами со сборкой проекта и настолько отчаялся, что в итоге даже переставил винду😱. Мы решили проблему за 20 минут небольшой донастройкой грэдла и поднятием версий библиотек. В итоге сэкономили ему еще N времени и нервов, но если бы пришел раньше, сэкономили бы еще больше. Всегда хорошо когда есть к кому прийти, если у вас произойдет какой-то затык с Android - заходите🤝