Эрик у нас такой один. Он закончил веб-факультет Яндекс.Практикума, а потом стал наставником на факультете тестирования. Мы поговорили с ним о том, какие были сложности во время учёбы, и что нового он заметил с перспективы наставника.
Чем я занимался до того, как стал веб-разработчиком
Я работаю в Яндексе 3,5 года, а в целом мой опыт в тестировании — 4,5 года. Сейчас продолжаю заниматься тестированием, строю процессы, работаю релиз-менеджером мобильных приложений в направлении недвижимости. Пишу автотесты на бэкенд, на веб, сейчас на iOS, а раньше на Android.
Где-то год назад, когда практикум был ещё в бета-тесте, мне много спамила реклама веб-разработки. Думал, что это, наверное, как всегда, очередной ужас без смысла. Знания ради знаний. Надо сказать, что я прошел много курсов, прямо очень много. У меня даже есть ачивка на прошлой работе, что я прошел больше курсов, чем любой сотрудник за всю свою карьеру в этой компании. Но у меня было такое впечатление, что вроде и получил знания, а что с ними делать — непонятно.
Как-то зимой или осенью я пошел на курс «Публичные выступления» в нашей компании. Там парень рассказывал, что он делал Практикум. Мне показалось, что это здорово, и я пошел посмотреть, что там есть. Посмотрел. Зашел в тренажер и понял, что это очень клево. Я прошел базовый курс и пошел дальше.
Почему я выбрал именно веб-разработку
Мне никогда не нравилась веб-разработка, ещё с универа. Вообще. У меня было отторжение. Все было очень плохо, просто максимальное количество боли. В моем мире не было нормального образования в этой истории. Я совался на ютубчик, еще что-то. Делал много попыток посмотреть веб, но было как-то занудно, очень непонятно. Я просто не знал, как подобраться. В общем, решил попробовать курсы Яндекс.Практикума.
У меня была еще такая мотивация. Я хотел порекомендовать Практикум супруге и друзьям. Каждый приходил ко мне и говорил: «Вот, хочу поменять свою жизнь, а я не знаю, что делать. На заводе работаю…», — если утрировать. А ключевая история этого паренька, который рассказывал мне про Практикум, такая: мы меняем жизнь, у нас тракторист становится разработчиком, начинают анализировать данные бабушка, дедушка. Ну реально круто! И я пошел проверять. Иначе как я могу советовать?
Как я успевал совмещать курсы и основную работу
Когда-то давно я работал сменами по 12 часов и больше ничего по жизни не успевал. Потом я поступил в универ. Я это всегда откладывал на потом, на потом. Пока не осознал, что откладывать нет смысла. Думал, пойду на заочку, все будет изи, дадут диплом. В итоге пришлось каждый вечер ходить на занятия. Как раз тогда я решил сменить деятельность, пойти в тестирование. Я все вывозил, но однажды мне стало так плохо, что я минут на десять перестал видеть и слышать на паре по английскому. Поэтому я выкинул все лишнее, отдохнул. И эта база мне помогла, когда я попал в Яндекс, где подробнее начал изучать тайм-менеджмент.
Когда я начал учиться в Практикуме, я уже был сильно загружен. Я учился в универе, работал в Яндексе, был студентом веба и работал в Практикуме. Вот четыре моих основных занятия. Кстати, очень круто мне помогло то, что ездить никуда не надо.
Нагрузка была, но больше веселая, не тяготила. Иногда на фоне, например, включал сериал, просто не могу сидеть в тишине. К слову, веб — очень интенсивный курс. Но даже когда я стал наставником на тестировании, я все равно успевал все делать.
Что было самым сложным в учебе на курсе
Несмотря на тайм-менеджмент, в самом начале было сложно организоваться. Первые месяц-два было непросто идти по плану, иногда не получалось попадать на вебинары. Часто не пересматривал их и в записи, потому что не мог себя усадить. Потом я это все пофиксил. Тут мне, кстати, помогла школа наставников.
Мне показался неприятным вход в Java Script. Не оттого, что он плохо написан, а просто он не такой, как все. Если человек никогда не изучал языки программирования — он клевый. А проблема в том, что я изучал. Как-то сижу и вижу, что не работает. Я понимаю, что на других языках так решить можно, но в этом случае почему-то не решается. Это отнимало много времени. Я чуть не поседел с Java Script. Но потом все взлетело, оказалось, это вообще классный язык.
Как я поддерживал свою мотивацию во время учебы
Девять месяцев учёбы — это долго, нужно себя мотивировать. У любого со временем теряется задор, энергия. Ты перестаешь понимать, зачем тебе все это, «пустыня безысходности», короче.
Я очень-очень хотел стать наставником на тестировании, когда еще направления даже не было. В этой роли я понял: те знания, которые я получил на вебе, могу сразу нести студентам. Нет ничего лучше, чем сделать демо для начинающих. Я могу на пальцах объяснять: веб, он такой, давайте тестировать кросс-браузерность. Теперь я отлично знаю веб. Могу всё в нём рассказать, всё им пояснить.
На вебе я познакомился с NoSQL, хотя до этого никогда использовал. В итоге изучил его так хорошо, что смог показать его студентам на вебинаре. И еще плюс: я научился миксовать подходы нашего факультета и веба.
В период обучения на веб-факультете я понял, что могу написать по пути диплом для универа. Почему нет? Взял и написал документацию для диплома. В универе, выяснилось, не надо было писать код. Но я сказал, что уже оплатил Яндекс.Облако, так что придется посмотреть на мой код!
Каким был учебный проект
Это было самым сложным, на мой взгляд. Были моменты, которые не работали. Я не смог бы смотреть в глаза своим студентам, если бы не сдал диплом сразу и пошёл в академ. Но вообще я думаю, что академ — это нормально. Диплом нужно писать с целью получить знания. И если для знания нужно уйти в академ, это ок.
На выпускном проекте нужно вспомнить, что было на первом спринте. Моменты типа «изучите сами», JS — в общем, на последнем этапе всё это нужно соединить. Соединяю и вижу, одна штука не работает. Студенты обменивались ссылками на какие-то решения. Понимаю, что сделал все, как надо, но никак не работает! На Java Script дали неделю, а я над этой задачей уже второй день сидел. Локально все взлетело, но выгружаю на виртуальную машину — не работает, хоть ты тресни. В итоге решил способом, который, как я понял, никто не использовал.
Было очень нервно из-за части с Java Script. Эту часть начал делать в субботу. И с понедельника до воскресенья сидел каждый день до пяти утра. Сдать работу надо было в воскресенье до 12. И вот я с 12 до 5 утра все фиксил, фиксил. Ожидал, что все развалится. Но отправил — и получил 97 баллов. При этом за бэкенд я был уверен, так как быстро его сделал, в балл за него получился на грани фола — 83. А JS — 97! В общем, понедельник был самый радостный день.
Большая доля математики в программировании — это миф
Кстати, количество математики — это частый страх. Меня это тоже пугало, хотя я хорошо знаю математику. Сначала думал о Data Science, о сложной математике. Но на деле в большинстве случаев математика вообще не нужна. Если взять классический веб, то почти вся математика при создании адаптивного сайта — отнять два отступа с края.
Даже ребята с Data Science говорят: «Мы знаем математику, но мы же не пишем алгоритмы. Просто знаем, какие надо использовать». А их и не надо писать, они уже написаны людьми, которые посвятили этому всю жизнь.
Конечно, знать математику на каком-то уровне хорошо. Иногда может быть неуютно среди людей, которые знают, что такое логарифмическая сложность. Но, чтобы стать веб-разработчиком, можно не думать о математике.
Даже если бы я учил математику только в школе десять лет назад, этого было бы достаточно.
Это миф, что математика и программирование идут вместе. Раньше, конечно. Сейчас же, когда мы говорим про интерфейсы — то делаем именно их. Мы рисуем, красим кнопки, двигаем. Начинающие меняют стили шрифтов, делают суперпростые задачи. Никто не даст сразу писать логику, это делают матерые ребята. А потом, когда придет время, это можно будет выучить.
При этом, даже если брать алгоритмы, то все на базовом уровне. Знаешь примеры применений — просто переиспользуешь. Есть, кстати, классная книга «Грокаем алгоритмы». Ее можно почитать, и страх пропадет.
Первый страх — это математика, надо понять, что она не всегда нужна. Второй страх — это алгоритмы. Кажется, что это капец как сложно. Я даже помню в чатах на вебе какие-то легенды об алгоритмах складывали. Но в книге просто о них написано. Я после прочтения потом еще в сторис загадки задавал.
Как справляться со страхами
Стандартная история для студента — это боязнь нового. Я всегда стремлюсь приободрить и объяснить, как что работает. Стараюсь очень подробно рассказывать, ведь есть довольно сложные истории. А еще добавляю интерактив — показываю документацию, а потом скидываю демку.
Иногда говорят: «Я все, больше не могу». Я сам это испытывал. И могу сказать, что это нормально. Если ты не был на месте такого студента, ты не знаешь, каково это на самом деле. Я же точно знаю, что получится, ведь я сам пробовал.
У меня ещё есть хак. Я смотрел видео, которые меня мотивировали. В тот момент, до наставничества, когда я учился тестированию, всё думал, правильный ли я путь выбрал. Я очень хотел работать с автором курса и в итоге попал в его команду, хотя не ожидал, что это возможно.
Еще не важно, сколько вам лет. У меня студенты в 50 лет устраиваются на работу тестировщиками. Как-то я посоветовал знакомому сменить работу, а он мне сказал: «Мне 30 лет, я всё уже». Но надо пробовать. Всё реально.
Какие у меня в целом впечатления от курса
Я в диком восторге. У меня половина друзей устроилась на работу, закончив Практикум. Веб клевый, потому что он самый древний. На этом факультете тебе дают знания, в конце ты готов к работе. Появляется понимание, зачем тебе нужен Java Script, зачем ты это все делаешь. JS был для меня вообще диковинкой. Ты не просто решаешь задачу, например, посчитать что-то, ты сам верстаешь страницу. Видишь, что для чего нужно. Вырисовывается картина, чем занимается человек в данной специальности.
Мои советы для эффективной учебы
1. Пытаться понять самим, прежде чем спрашивать у коллег. Потратить час в Google, в тренажере. Если не понял — попытаться сделать задание по-разному. Если ты сам разобрался, это надолго отложится в голове. А если тебе подсказали — ничего не усвоишь.
2. Не бояться спрашивать. Я заметил, что на каждом факультете бывает ситуация: ребята сидят до конца, а потом в последний день задают кучу вопросов или вообще не спрашивают. У меня такой подход: когда ты спрашиваешь, то чувствуешь себя дураком, но ты дурак — секунду. А если ты не спросил, то всю жизнь дурак.
3. Системность. Я только на вебе понял, что если заниматься каждый день по чуть-чуть, пользы будет много больше, чем если заниматься один день много. Когда мы каждый день пишем, потом перестаем задумываться о базовых вещах типа циклов. Это становится легко.
4. Я понял на практике, что проще не копировать кусочки, а прямо перепечатывать. Мышечная память тоже позволяет не подглядывать.
5. Искать информацию. Встречается отношение: «Вот, я заплатил деньги, а вы меня гуглить отправляете!». Если сам нашел информацию, она становится ценнее, потому что ты понял, как ее найти. Все знать нереально. Ты просто забудешь. Я в универе билеты заучивал, и они все выветрились.
6. Ничего не бояться. Часто человек говорит: «Ну я не понимаю! Все, у меня не получится», — и пошел. Но усади себя, просто поделай что-то. Может быть, механику сразу не поймешь. Но потом будешь улучшать, и в итоге всё сработает. Есть же поговорка «Глаза боятся, а руки делают».
В программировании всё, абсолютно всё, уже случилось у индусов, и они описали это на Stack Overflow. Раньше была некая проблема в английском языке. Сейчас онлайн-переводчики настолько хорошо переводят, что даже знать язык необязательно.
Как учеба дается студенту-нетехнарю
У меня сейчас лучший студент направления — врач скорой помощи. Он на моих вебинарах сидит, а я все думаю, куда он едет. А он между вызовами перемещается! И он все домашки сделал, даже допзадания. Некоторые студенты спрашивают, зачем нужно ещё что-то дополнительное, они и с основными заданиями еле управляются. Он все очень четко делает, всем помогает, вообще молодец.
Кстати, гуманитарный склад ума — это такой миф. Я как личность не должен существовать, если этому верить. Мне все науки нравятся.
У Nike есть реклама: всё ты можешь, и я в это реально верю, все всё могут. Многие люди говорят, что это не их, но 99% даже не пробовали. Например, я выучился на бармена и понял — не моё. Получается, набираешь кучу, казалось бы, бесполезных навыков, зато знаешь, что точно твое, что нет, а что можно как-то применить.
Еще важный момент. Нужно понимать, что сейчас мир постоянно меняется. Мир наших родителей был стабильный, предсказуемый и понятный. Наш — наоборот. Раньше можно было получить специальность и работать по ней всю жизнь. А теперь всё могут просто автоматизировать.
Нужно всегда учиться, чтобы быть нужным, иначе сам виноват. Я всегда привожу пример с девочками с ресепшена из нашего бизнес-центра, которые выдавали пропуска. Сейчас их заменили автоматом. Он выдает пропуска быстрее. У него даже есть расписание, в какие часы он не работает. А там, где стояли девочки, сделали барбершоп.
Практикум и наставники учат еще и тому, как получать знания после окончания факультета. Например, в моей профессии года четыре назад всё было по-другому. А в веб-разработке, например, React — его вообще не было пять лет, а сейчас он везде нужен.