Всем привет!
В процессе обучения и ответов на вопросы (в том числе и в личке), отметил для себя тот факт, что многие неправильно подходят к самой сути процесса обучения, а именно к решению задач.
Я вот сегодня создал две довольно не сложные задачки (раз и два). Напомню, я недавно писал про возможность в задачах указывать "Нужна помощь", чтобы сообщить, что любой может взяться за решение этой задачи, а так же указывать уровни требуемых технологий, чтобы было понятно и без описания какие примерно знания понадобятся. И вот я специально оставляю простенькие задачки, чтобы каждый при желании мог поиграться с практической задачей и проверить свой уровень.
Так вот, я отметил следующий факт: люди, жалуются что им не понятно как это делается и просят записать полное видео о создании проекта с нуля и до конца, так как типа не понимают общих принципов и в целом что и как происходит. Так вот, я считаю такой путь ошибочным. Во-первых, все проекты разные. Даже на одной заготовке все равно в итоге часто делаются проекты, сильно отличающиеся друг от друга. Во-вторых, всего в целом понимать и не обязательно. Важно понимать частности. Повторюсь, ориентир идет на командную работу. Каждый в отдельности должен освоить какое-то свое направление, чтобы потом видеть "Это мои задачи, а это не мои задачи". И быть специалистом в своем профиле. А не так, что у нас все фулстеки, но практически никто не может выполнить проект от начала до конца, да еще и частные задачи решить не может. Крубо говоря, на одном проекте достаточно одного фулстека-тимлида, всем остальным не обязательно быть.
Так вот, как мне видится, с этими задачами должен быть иной подход в обучении, а именно: для начала хотя бы научитесь понимать то, что уже сделано, что работает. Вот стоит задача "Улучшить то-то". Вот сначала изучите как работает то, что надо улучшать. Ведь задача на улучшение, а не создание с нуля. И в таких случаях я всегда руководствуюсь принципом "Не поломаешь - не поймешь". Скачайте проект на локал, запустите его yarn dev. По умолчанию он будет обращаться к АПИ этого сайта. То есть у вас будет клон сайта, просто сама база данных напрямую не будет доступна, но сайт будет работать. И играйтесь с кодом. Пытайтесь понять что за что отвечает.
Вот эти задачки простые, там в целом понимать много не надо. При этом, если что-то не понятно (и формулировки начинают осознанные формироваться, типа "Я вот тут это меняю, ожидаю такой-то результат, а получаю вот это"), вот тогда и задавайте эти сформировавшиеся вопросы здесь. Получите ответ. Вероятно, что-то поймете новое. И так каждый день.
Я тоже многое осваивал именно так (правда вопросы обычно не задавал, пытался ковырять сам, но это все очень долго тогда).
В общем, именно практика решает. Больше практики, и главное - с реальными задачами и реальными данными. Когда видишь результат - тогда проще и понятней. И в целом не важно какой код вы пишите. Важно понимаете ли вы то, что хотите сделать и получается ли сделать то, что хотите сделать. А там уже принцип "Работает? - Не лезь". Не бойтесь программировать, любите программировать.