Я работал тренером по борьбе, а стал фронтенд-разработчиком
Этот текст написан в Сообществе, в нем сохранены авторский стиль и орфография
Здравствуйте.
Ещё пару лет назад, для собственного удовольствия в свободное время периодически ваял одностраничные лендинги на таблицах. Других технологий создания сайтов (Vue, React, flex 'ы b и т.д.) на тот момент не знал, и не понимал — в чем разница между понятиями «фронтенд» и «бэкэнд».
Часть 1: первые шаги
В какой-то момент в Сети начал искать ИТ-школу, чтоб получить больше знаний по верстке сайтов. А, так как это случилось еще до того как рекламы разных IT-школ стала звучать из каждого утюга, то даже и не знал о запредельных зарплатах в этой сфере. И до сих пор смотрю на разработку как на любимое хобби, а не как источник высоких доходов. Хотя и не отказался бы заработать своим трудом несколько миллионов, и построить на эти деньги свои спортклуб самбо для бесплатных тренировок и сборов для детей.
Так вот. На одном из интенсивов по веб-программированию оставляю свои данные, и мне тут же перезванивает продажник из GB-школы. Я, разогретый клиент, поддался предложению поступить именно в эту школу.
Покупку обучения оформили по телефону в Т-Банке тут же за пять минут. Причем кредит был оформлен так хитро, что в моем ЛК банковского приложения он был не кредитом, а каким-то хитрым банковским продуктом.
С усердием взялся за первые уроки. Освоив первые азы Git 'a, попадаю на модуль «Основы программирования», где на первом уроке мы только-только знакомимся с переменными JavaScript. Но с 4-го урока — мне, откровенному новичку, — нужно уже написать, условно говоря, мини-игру GTA5.
К слову, помимо преподавания, я веду вечерами тренировки по борьбе. Представьте, вы — родитель. Впервые приводите ребёнка ко мне на тренировки, он даже подтягиваться не умеет. И вдруг, спустя месяц, я его везу на турнир. Мало того, — выставляю его, новичка, с бойцом на 10 кг тяжелее. Нет, а что? — ведь он, по крайней мере, уже умеешь правильно хотя бы падать. А как он упадет, и что себе поломает, кроме психики и самоуверенности — это уже его проблемы.
Примерно так же выглядело и с моим начальным обучением JavaScript 'а. Это уж потом, спустя три — четыре месяца, по 5…6 часов труда над кодом в день, мог написать игру «Крестики-нолики», игру с карточками «Меморис» или «Морской бой» и даже решать задачи на codewars и leetcode.
Свои домашние работы я сдавал своим же одногруппникам. Их знания JS 'a были рандомными, кто-то уже был в теме, а кто-то такой ноль как я. Оценки за выполненное задание ставились в соответствии с субъективными представлениями проверяющего о правильности кода. Более подготовленные ребята, если комментировали мои ошибки в домшке, то мне не было даже понятно — о чем они вообще пишут.
Часть 2: учусь верстать
Далее начался модуль «Начальная верстка». Методички были уже морально устаревшими, хотя чему там — в верстке — устаревать? Мало того, они были составлены так, что преподаватели признавали, что обучение будет отличаться от написанного там.
Ингода по сарафанному радио передавалось из уст в уста — как преподаватель лучший в данному предмете и к нему пытались попасть все. У меня на потоке было два лучших преподавателя по верстке. Некоторые студенты брали специально паузы в учебе, чтоб потом снова возобновить учебу и попасть в поток, на котором вёл именно этот преподаватель.
Из-за работы и тренировок, учеба мне давалась несколько трудновато. Постоянно сдавал домашки в последние дни установленного срока. Не успевал осваивать новый материал, т.к. лекции и последующие практические занятия были объединены в один блок: надо было понять лекцию и тут же делать лабораторную работу. А новый материал необходимо было детально изучить и проработать практически, чтоб правильно и с пониманием проходить следующие уроки. То есть имело место накопление образовательного долга — через пару дней надо понимать новый материал, а ты еще предыдущий не усвоил.
Ладно, модуль начальной верстки прошел. Мне помогали, я помогал. Тебе повезет, если групповой ТГ-чат потока будет активным, который тащат на себе группа из 3….5 наиболее инициативных ребят. Но бывают и молчаливые чаты, где никто никому не помогает, а специального технического помощника нет (желательно бы около 3…5 человек из числа студентов старших курсов).
Помощь была в основном по организационным вопросам; технически — мы помогали себе сами, желательно без токсичного фидбэка. Куратор были в основном для эффекта присутствия. Им доставались и благодарности за помощь по учебному процессу, а так же приходилось от кого-нибудь из моих сокурсников выслушивать гневные тирады по качеству обучения, возврату денег.
Далее был модуль "Продвинутая верстка": мы писали интернет-магазин. У препода с легкостью получалось сверстать очередной блок кода из HTML+CSS. Мне стало еще сложнее: в чем виню только себя. На тот момент мои познания в вёрстке оставались в зачаточном уровне, и не подразумевали перехода на этот этап без дополнительного обучения. Решения моих задач почти всегда приходилось искать в Сети. Иногда просто без понимания что к чему — копипастил код, чтоб соблюсти dead-line домашней работы. Ведь сдать д/з за пределами утсановленных сроков возможно, но технически сложно.
Но тем не менее, старался стараться. Мне нравилось, и я верстал глубоко за полночь, не смотря на то, что через 4…5 часов надо вставать на утреннюю тренировку. Ждал выходных, праздничных дней, отпуска — чтоб успеть побольше попрактиковаться как можно больше в HTML-CSS, самостоятельно начал осваивать базовый JS, bootstrap и препроцессоры.
Часто тупил-тупил-тупил. Очень часто. Почти всегда. Думал, что это не моё, но через час снова обнаруживал себя пишущего в VS Code очередную нетленку. Когда не получалось, пересматривал несколько учебных недлительных (!) видео на одну тему. Дополнительно вел конспект, шлифовал его после повторных просмотров. Пытался делать за лектором, потом писал по памяти. И добивал повторным переписыванием по памяти, но добавляя к этому собственные усложняющие задания.
По окончании "Продвинутой верстки" понял, что так и не умею нормально верстать, хотя своими силами был сделан интернет-магазин с более –менее работающими скриптами на JS. Пришлось брать паузу на 3 летних месяца, чтоб самостоятельно разобраться и самостоятельно сверстать свой спортивный сайт. За это время мне несколько раз звонили из Службы заботы о студентах GB и интересовались — скоро ли я снова приступлю к занятиям. Да — скоро.
Часть 3: JS — моя боль
Далее был модуль «Начальный JS». Сегодня бы все 8 уроков смог пройти за пару дней, но тогда — все знания казались неимоверно сложными.
На каждом очередном вебинаре в режиме он-лайн с преподавателем, мои одногруппники задавали какие-то свои вопросы по коду, где у них возникала сложность. Но время по общим вопросам было ограничено, и не все успевали и понимали обсуждаемые моменты. Далее шла основная часть по кодингу и выдача домашки. На этом общение с преподом обрывалось до следующего вебинара и ты со своими вопросами оставался сам с собой наедине: хочешь сам додумывай, ищи в Сети, ТГ-чат потока в этом случае был уже не помощник от слова совсем.
Где-то с урока 4 сложность домашних заданий взлетала до небес. Чтоб хоть как-то уложиться в сроки сдачи домашней работы — тупо списывал код с GitHab 'а. Почти на каждом следующем вебинаре преподаватель рассматривал способ решения предыдущей домашней работы, я этим пользовался и на скорую руку копировал код в свою домашку и сдавал. Преподу из IT-школы, скорее всего, — всё равно, у него на проверке таких безликих работ пруд пруди, но мне — это было важно.
Мой синдром отличника в смеси с педагогическим образованием, подсказывал мне, что все это профанация и постыдная туфта. И снова, чтоб детальнее разобраться — что же я всё-таки изучил, — опять беру учебную паузу в обучении. В спокойной обстановке прохожу ранее пройденный в спешке материал. Самостоятельно все домашние работы переделывал с нуля. Добивался, чтоб мой код работал. Ну да, решения получались где-то длиннее или не эффективными по производительности и нагрузке. Но всё, что сделал сам — оно работало.
Часть 4: трэш внутри IT-школы
Пока я самостоятельно разбирался с повторным изучением всего, что я уже ранее изучил — парадигма обучения в GB вдруг изменилась: тогдашний новый топ-менеджемент решил, что студенты этой IT-школы знать программирование, и желательно не один язык, а несколько. Так начался треш-ток и шоковая терапия.
Неожиданно для многих в обучении появилась пауза в виде никому не нужного добровольно-вынужденного летнего bootcamp ' a по изучению сразу десятка IT-специализаций. На этот момент во многих группах активное обучение постепенно снижало обороты — все на буткемп!
В моём понимании bootcamp — это углубленное изучение, узкоспециализированная тусовка по выбранной специализации (к примеру, фронтенд). Но в этот буткмеп было запихано сразу несколько профессий, вебинары по которым шли сплошным потоком с утра до вечера. В них было все что можно, кроме специализации по веб-разработке.
Многие студенты просто забивали на буткемп, в котором не было тем по их профессии, и занимались самостоятельным изучением. А цель бутекмепа состояла в том, чтоб новичкам показать IT со всех сторон. Для студентов не было никакой практической пользы. В СМИ из каждого утюга пошла агрессивная реклама, приглашались медийные личности для шоу по привлечению новых студентов. Наполняемость школы новыми учащимися резко пошла в гору, причем и стоимость была не маленькой.
Для ребят, которые на тот момент отучились там от месяца до года образовались проблемы с дальнейшим обучением. Проблемы и чёрный треш вот в чем.
Во-первых, старая учебная программа переставала действовать, в школе началась перестройка образовательного процесса. В ретроспективе становится ясным на тот момент не было нового учебного плана, обоснованного и утвержденного. Была какая-то просто схема на сайте про этапы обучения. И ни слова — что, сколько, как будем изучать.
Во-вторых, преподавательский состав был почти полностью расформирован, что даже из действующих студентов брали на эту должность. Уметь обучать и просто хотеть обучать — это, с точки зрения педагогического ремесла, разные вещи. Идеальное сочетание для учителя: свободное время + пед.образование со знанием теории и методики преподавания + экспертиза в данном предмете (и смежных с ним) на уровне выше среднего.
При отсутствии в свободном доступе календарно-тематических планов и прочих методическо-образовательных документов, новые студенты по факту начинали учиться ни на чём.
В-третьих, в эфир шла реклама с привлечением мединых личностей. А топ-менеджмент в эфире говорил ни о чем, лишь упирая на то, что в IT большие зарплаты, приходите к нам учиться. Но внутри уже копились проблемы, лучшие учителя сбегали, образовательный вектор постоянно менялся как роза ветров.
И пока я самообучался, игнорируя бессмысленный бутекемп, разбирая ранее изученный материал — направление фронтенд-разработки, на которое изначально и поступал, — исчезло. Новое направление в IT-образовании школы стало подразумевать не специализацию фронтенд, а профессию "Разработчик" со специализацией "программист".
В связи с этим был вынужден начать свое обучение заново — будто бы отучившись до условного 4-го класса, меня перевели обратно в 1-ый. Ладно, я согласился, а надо было уже бежать оттуда.
Часть 5: опять заново обучаюсь
И вот, вновь набранный поток фронтенд-разработчиков, первый месяц стали изучать Алгоритмику. Потом нам впихивали пару месяцев… C++ под соусом, что ООП очень важно в нашей работе. Каждую неделю мы через личный кабинет приглашались на "Встречи с тайным гостем", с учеными-биологами, математиками, астрофизиками, с выпускниками.
Мы жаждали новых знаний по HTML, CSS, основам JavaScript или препроцессорам и фреймворкам с библиотеками! Но нам впаривали интервью про…биологию, космос, и как очередной профессор добился высот на математическом поприще. Ни одного практического занятия или лекции по верстке, веб-разработке или JS, PHP, и прости господи, — JQuery.
После C++, наверное должны бы уже были начаться обучения по направлению фронтенд-разработка? Не-а, говорят они, в соответствии с новой учебной программой (которую до того момента никто всё еще так и не видел) — вы должны знать основы… Python! Мы стали изучать Python. А для дополнительного усиления познаний в этом языке, параллельно решал на Udemi конкурсные задачи по Питону.
Наш поток фронтенд-разработчиков так и ни разу не трогал — даже HTML. На тот момент если спроси кого-то из начинающих фронтендеров из нашего потока "Чем отличается тег <div> от тега <p>? ", он бы даже не понял вопроса. На минутку, — шел уже третий месяц обучения. В других школах — ребята на этом этапе уже могли делать мало-мальски работоспособные лендинги с минимальной бизнес-логикой на борту.
Как я потом об этом узнал — там с первых дней тебе в мозг загружались умения верстать. Любой минимально старательный студент там был вынужден практиковаться именно в написании сайтов с первого дня обучения. Никаких "левых" языков программирования и встреч с "тайными гостями", про жизнь и успешный успех которых можно при желании найти на видеохостингах и или аудиоподкастах.
Но мы продолжали верить главному методисту GB. Он, имеющий учёное звание, точно знает в каком векторе надо развивать начинающих фронтенд-разработчиков. Похоже, он равнял всех под один образец — под себя. Что знает он — то и должны знать все остальные: ООП, Java и математическое моделирование. Ни слова о фронтенде.
Хотя у некоторых стали закрадываться смутные сомнения, что с ни просто взяли кэш и кормят сказками об успешном успехе именно в их школе. Более принципиальные стали требовать обратно деньги через суды "за некачественное обучение " и выигрывали иски к этой конторе. Другие, веря, что все еще впереди — временно переключались в режим самообразования: проходили бесплатные уроки про роликам с YouTube, качали ми делились с обманутыми одногрупниками более тематическими курсами из других школ. Я придерживался пути самообразования. Сделал общий ТГ-чат для студентов школы, где мы делились знаниями для самообразования в выбранной сфере.
Часть 6: клоуны ушли — проблемы остались
В марте два клоуна из топ-менеджемента покидают школу, оставив от когда-то налаженного механизма IT-образования лишь воспоминания. Им надо воздать должное — они привлекли в ряды студентов невероятное количество людей, просто проводя раз в неделю IT-шоу, просто болтая в эфир ни о чем или привлекая в эфиры популярных медийных топ-ведущих.
В марте модуль по Python закончился. Наш поток уже почти пять месяцев, изучает фронтенд, но сайты писать так и ни разу даже не пытались. "Ну все, — ждём мы, — пора бы и фронтенду начаться! " НЕТ.
Только –только на просторах Интернета стали появляться файлы с обновленной образовательной программой по нашему направлению. И там, — вы не поверите, та-да-м-м-м! — три месяца изучения Java. То есть, фронтендеры, помимоуже изученных и успешно забытых двух языков программирования, — должны знать… Java! Нам всё еще браться за базовые основы HTML, CSS без знания C++, Python и Java! Просто по секрету знаю, что разработчик этого учебного плана — лютый приверженец Java-программирования, это как шоры — других языков нет. У меня сработал выключатель — на этом этапе я перестал был лояльным к этой школе, хотя ждал и верил до последнего.
Спустя месяц перешел в другую школу, которой руководит классный человек в кепке со стильным козырьком.
Третий раз я начал учиться с нуля. Хотя на этом нуле уже имею некоторую базу знаний по HTML+CSS+JS+Vue+React, в основном за счет ежедневного самообразования. Жил по режиму, который мне вбивали в сборных по молодости, с небольшими дополнениями: Утром — тренировка, немного кода, День — работа, Вечер — тренировка, немного кода, Ночь — спать.
На новой образовательной платформе с первых дней в тебя впихивают твой обожаемый фронтенд. Поддержка организована так, что каждый твой вопрос понимают; сразу несколько человек в режиме он-лайн и готовы ответить. Вьювер не даст отработать домашку спустя рукава. Тебя не оближут лживыми обещаниями, что якобы ты молодец, всего в меру. Один их сайтов, который надо было сверстать один-в-один по макету в одной из домашних работ, я даже переписывал с нуля пару раз. Тебе помогут, но ни кто не сделает за тебя. Такая там Спарта. С точки зрения педагогики есть три состояния: знание — умение-навык. Так в этой школе ты приходишь за знанием, но выходишь весь взмыленный, но с навыком.
Искренне рад, что мне снова сложно, что снова пишу код.
Код — тренировки — фронтенд!