«Петя Пяточкин прошел два курса на FreeCodeCamp, после которых устроился на должность фронтэнд-разработчика». Подобные объявления на YouTube, в соцсетях и в «Яндексе» появляются регулярно.
В пабликах и на форумах полно историй о людях, которые учились месяц, полгода или год на онлайн-курсах, получили сертификат и устроились на работу на должность программиста. Можно только пожелать удачи этим людям.
Многие считают, что благодаря онлайн-курсам любой человек может стать разработчиком. Благодаря объявлениям они видят прямую дорогу: оплатил курсы, послушал вебинары, сделал несколько заданий, – стал фронтэндером. Автор заметки тоже попал в эту ловушку.
Реальность отличается от красивых картинок из объявлений.
Автор посвятил около года обучению фронтэнд-разработке. И вот какие выводы он сделал.
Время – самый ценный ресурс
Чтобы стать фронтэнд-разработчиком, нужно многое изучить. Это работает так: человек только научился верстать на флексах, а тут появились гриды. Пока он осваивает гриды, появляется еще десяток тем, с которыми нужно разбираться. Веб-разработка постоянно развивается, поэтому приготовьтесь спокойно воспринимать длинные списки новых тем в своем таск-менеджере.
Здесь вот какая проблема: в рекламе и в соцсетях есть много историй о людях, которые выучили HTML, CSS и JavaScript за пару недель или за пару месяцев. Любой человек в такой ситуации задается вопросом: «Я что-то делаю не так или просто тупой?»
Это провокация, вы не тупой.
Есть такая байка: чтобы стать если не мастером, то хотя бы крепким ремесленником, нужно посвятить выбранному делу 10 000 часов. Вряд ли кто-то проверял точность этой легенды. Но суть ее верна: чтобы освоить дело, нужно практиковаться, работать, пахать. Фронтэнд-разработка ничем не отличается от гончарного дела: чтобы освоить профессию и стать мастером, нужно работать головой и руками.
Изучение разработки – путь длиною в жизнь
Промежуточный вывод: каждому нужно какое-то время, чтобы научиться новому. Примите как аксиому: изучение веб-разработки – забег на длинную дистанцию, а не спринт.
Ошибки – это нормально
Каждый, кто изучает HTML, CSS, JavaScript и другие языки, будет ошибаться. Это нормально. Главное, чтобы из-за ошибок новичок не разочаровался в разработке и не бросил учебу.
Автор изучает фронтэнд-разработку около года и все равно ошибается. В начале пути из-за ошибок автор чувствовал себя неудачником. Он тоже хотел бросить разработку. Потом автор стал исправлять ошибки. С каждой исправленной ошибкой росла самооценка.
Ошибки – часть пути разработчика. Каждая ошибка – урок, который делает разработчика лучше. Принимайте ошибки с благодарностью.
Нельзя раз и навсегда выучить разработку
Учить программирование придется всю жизнь. Фронтэнд не ограничивается десятком HTML-тегов и парой JS-функций, которые вы изучили на первых уроках из онлайн-курса.
Чтобы работать, нужно знать препроцессоры, фреймворки, библиотеки. Вы не сделаете и шага без Sass, jQuery, Bootstrap. Новые фреймворки появляются без преувеличения каждый день. И это только вершина айсберга.
Программирование постоянно меняется. Это можно воспринимать как наказание или подарок судьбы. С одной стороны, вам придется сидеть за монитором и учить новые технологии, пока друзья будут играть в волейбол или ловить рыбу. С другой стороны, новые технологии облегчают жизнь.
Например, если вы освоили Sass, вряд ли захотите работать на чистом CSS. Это как с личным авто и общественным транспортом: стоит раз сесть за руль, чтобы ни за что на свете не согласиться ездить на троллейбусе.
Практика решает
Дабы стать классным плотником, хирургом или веб-разработчиком, нужно постоянно практиковаться. Вы можете не открывать Sublime Text день или неделю. Ключевые знания и умения за это время не забудутся. А что, если не открывать редактор месяц или больше? Вы уверены, что наработанные умения сохранятся?
Практика делает веб-разработчика лучше. Отсутствие практики ведет к деградации.
Гоша и Яша – лучшие друзья разработчика
Это о Google и «Яндекс». В них можно найти ответы на 99 % вопросов, связанных с разработкой.
Это способы реализации алгоритмов, решения проблем с кодом, советы опытных коллег. Поэтому не бойтесь гуглить: это не читерство.
Есть только одно табу: никогда не копируйте чужой код, если не понимаете его. Так вы не будете развиваться. Можно ли воровать чужой код, если отлично понимаете его? На этот вопрос нужно отвечать самостоятельно.
Планируйте обучение под свои предпочтения
Чтобы изучить азы, достаточно пройти курсы или прослушать бесплатные вебинары на YouTube. Но не ограничивайтесь одним ресурсом. Более того, не ограничивайтесь только онлайн-курсами.
Автор прошел два интенсива по JavaScript на FreeCodeCamp, но не освоил материал. Это не значит, что FreeCodeCamp – плохой ресурс. Просто автору не подошел использованный там подход. Зато он легко обучился фронтэнд-разработке, в том числе изучил основы JavaScript, по бесплатным урокам на YouTube.
Так же может получиться у вас: если не подходит курс JS от FreeCodeCamp, смотрите уроки на YouTube или учитесь самостоятельно по Learn JavaScript. В интернете полно платных и бесплатных образовательных ресурсов. Какие-то из них точно подойдут вам.
Вместо заключения: обучение фронтэнд-разработке – это навсегда
У всех разные способности, жизненные обстоятельства, возможности. Поэтому не расстраивайтесь, если кто-то изучил HTML и CSS за неделю, а вы бьетесь над азами верстки больше месяца. Просто идите по этому пути и помните: его длина – целая жизнь.
Пишите в комментариях, как начинали учиться вы. Возможно, ваш опыт поддержит начинающих разработчиков.