Войти в IT в 27 лет. Что получилось за 4 года

4 года назад я решила уйти из маркетинга и начать работать фронтенд-разработчиком. Расскажу о том, как искала первую работу, как жила на 30 тысяч в Москве, как обучалась, как устроилась фронтом в Prequel и что сделала бы иначе, окажись в той же ситуации. Также всем желающим могу рассказать, как выровнять блок по вертикали))

Если подумываешь о переходе в разработку или хочешь поностальгировать по своим славным джуниорским временам, то велкам)


Как все начиналось

В далеком 2007 году я заканчивала экономический факультет Тверского университета, у нас был курс информатики на семестр, где 3–4 занятия были посвящены html и css. Преподаватель объяснила основы табличной верстки, без адаптива, на уровне «Цвет текста можно поменять вот так, а картинку вставить вот так». Далее в голодные студенческие годы я начала заниматься фотографией и для поиска клиентов сделала свой первый сайт на Joomla. Отсутствие способностей к дизайну, несколько лекций по табличной верстке и случайно купленная книжка с маркетинговым названием «Как сделать сайт, продвинуть его и начать зарабатывать» дали свой ужасающий по стилю, но вполне работающий результат.

Вычитанные в этой книге советы по SEO сработали, удалось продвинуться по некоторым средне- и низкочастотным запросам, например, «деловая фотосессия», помогло еще и то, что я жила в городе на 400 тысяч человек с умеренной конкуренцией в фотографии. Однако после универа и переезда в Москву заниматься фотографией стало сложнее — отработать полную неделю в Москве, а на выходных встать в 5 утра на съемку свадьбы было тяжеловато физически. В одну из суббот, отсняв армянскую свадьбу на 200 человек, я осознала, что с фото пора завязывать.

Дальше была попытка работать по специальности, однако я снова пришла к SEO и 2,5 года отработала в агентстве SEO-шником, но со временем меня перестало устраивать, что в оптимизации сложно отследить точное влияние своих действий на результат. Одновременно вокруг росло количество курсов, обещающих, что ты станешь Senior Java Developer за 2 недели (нет) и друзей-программистов, обещающих 150к уже через полгода (нет, нет, нет).

Я самоуверенно решила, что верстку и так знаю, купила книгу по JavaScript и начала читать и делать упражнения. Дополнительно посмотрела пару уроков на Youtube «Как сделать сайт за 2 часа», повторила за авторами, получила несколько лендингов. Через пару месяцев отправилась на поиски работы, сайтики с видео-уроков представила как свое портфолио, но не скрывала, что сделаны по обучающим видосам.

Поиск работы без опыта

bc9f13317f40b4de2fa2634ccd742c03.jpg

На тот момент я уже жила в Москве, 2018 год, вакансий на джуниор фронтов на хедхантере было достаточно, и я вышла на охоту. На собеседования меня звали охотно, благо я указала в резюме и верстку, и Бутстрап, и начальное знание JS.

Трех собеседований с отказами мне хватило для того, чтобы понять, что верстку все-таки придется освоить нормально. Мне задавали вопросы по флексам, по адаптиву, просили написать обработчик на кнопку, открывающий модалку, и я откровенно плавала. Для самооценки приятного было мало, однако мои интервьюеры были очень деликатными ребятами, и подробно объясняли мне ответы на свои вопросы.

Я снизила планку, и начала ходить на собеседования на верстальщика, на одном из них меня посадили за комп, сказали сверстать форму, сделать ее отправку на почту и нарисовать баннер. Компании нужен был и верстальщик, и php-разработчик, и дизайнер. Я предупредила, что ни к дизайну, ни к php отношения не имею, но мне сказали «Нарисуй и напиши хоть что-нибудь». Как ни странно, туда меня и взяли на 30 тысяч.

Там был жесткий график, выговоры за опоздание с обеда на 3–4 минуты, не было гита, верстать было почему-то принято не в редакторе кода, а сразу админке, но мне было не с чем сравнить, я приходила в восторг, когда видела свой код на проде (это было несложно, потому что работали мы сразу на проде, тестовых стендов не было). Но мне категорически не хватало 30 тысяч. После короткого испытательного я попросила прибавку, руководство ответило, что повышение возможно, если я смогу повысить продажи, и я снова отправилась на хедхантер спустя три месяца работы.

3d9b8d29b24fbc31ca2616d2f40efe16.png

На удивление работу я нашла с первого или второго собеседования. Скорее всего, сказалось то, что для начинающего даже три месяца опыта — это срок, за который происходит значительный для уровня новичка скачок, много успеваешь попробовать и узнать. Также сказались мои невысокие хотелки по зп — 40 на испытательном и 50 после него вполне вписывались в мои желания, а гибкий график с началом дня с 9 до 11 и бесплатные обеды от компании вообще были сказкой) так я устроилась верстальщиком в агентство.

Из приколов на одном собеседовании в ходе нетехнических вопросов про мое дальнейшее видение карьеры меня резко спросили, сколько будет три разделить на восемь. В такие моменты чувствуешь, как у тебя в голове образуется звенящая пустота на полминуты)) Так же были задачки типа написать метод, вычисляющий квадратный корень, без использования встроенных методов и прочие синтетические вещи.

Огромный плюс в том, что 95% собеседований можно было проходить удаленно, не теряя времени на дорогу. Если дело шло к офферу, я спрашивала, можно ли приехать посмотреть офис. Один раз это оказалось очень не зря, я уже была готова принять оффер, но офис компании оказался двумя комнатами в коворкинге без окон и без возможности иметь постоянное рабочее место.

Набор опыта

751cdb3a3822ac5ed7b0db0de0f7718e.png

В агентстве, куда я устроилась, велась разработка на Битриксе, нам приходили макеты, мы верстали и отдавали программистам натягивать верстку на Битрикс и писать логику. Первые полгода каждый день был открытием, особенно когда требовалось править баги в чужой верстке. Подключить и настроить слайдер, вставить Яндекс карту не фреймом — все было в новинку. 

Из плюсов агентства — успеваешь набраться опыта даже за короткий срок. Я отработала там полтора года, и чего только не было — и клиент, желающий сайт под IE9, и дизайнер клиента, обожающий PixelPerfect, и баги от тестировщика в формате «Если истерично кликать мышкой более 10 раз по этой кнопке, то модалка закроется на 11-м клике, плавающий баг, но надо исправить» (реальный баг). Такого разнообразия, как агентстве, не было нигде — с утра надо оценить, как долго будешь делать анимацию svg на 6 тысяч элементов на скролл, далее срочно идешь разбираться с задачей «Клиент хотел изменить шрифт, у него пропала корзина в мобилке, продажи стоят», а после обеда наконец приступаешь к основной задаче на день. Однако работа на 85–90% состояла из верстки, а JS оставался на уровне кастомизации готовых библиотек и простого кода на JQuery. Мне нравилась верстка, но хотелось попробовать и что-то более сложное.

Я выбрала курсы, классический курс по JS на 2 месяца с еженедельными лекциями и работой с наставником. Результатом курса должен был стать сайт-приложение с планером путешествий на чистом JS. Первые 3 лекции зашли на ура, но дальше объем кода вырос, я стала наталкиваться на свою же плохую архитектуру, костылить, путаться и тд. Наставник отвечал на вопросы подробно, но в основном общими фразами, скорее всего, ему не очень хотелось каждую неделю заново погружаться в тот хаос, который пытался написать каждый из его студентов и вспоминать, у кого что лежит в переменной list, и в переменной block))

Дальше стали появляться продуктовые вопросы к приложению –, а как мы должны обработать ситуацию, если пользователь изменил даты в середине поездки и прочие вопросы, на которые ни у преподавателей, ни у наставников ответов не было. Оказалось, что это приложение взято в курс впервые, еще на прошлом курсе был другой проект, и пока острые углы еще не сглажены ни технически, ни продуктово.

В общем, я окончательно закопалась в коде и продуктовых вопросах, и бросила этот курс где-то на 60%, тем более, что к тому времени у меня стало появляться все больше проектов на фрилансе, которым я занималась по вечерам после основной работы.

Фриланс

af52ae6f36089e26d73400878fbbff85.png

Мой первый заказ на фрилансе случился, когда я едва знала верстку, требовалось сверстать 5 форм на 5–6 полей каждая. Заказчик сам работал фронтом, искал кого-нибудь в помощь. По деньгам он попросил меня оценить задачу самостоятельно. В ответ на мое скромное »2 тысячи» сказал «Ну и цены у вас, давайте за косарь». Для меня это было «Ооооо, мой первый фриланс!», конечно, я согласилась. 

Далее я 5 дней шарашила эти формочки. Оказалось, что «валидация форм» — это не только прописать атрибут required в верстке, а уж когда я столкнулась с тем, что плейсхолдер должен не исчезать при вводе, а уменьшаться и плавно отъезжать вверх, оставаясь подсказкой — это была задачка века. Потом выяснилось, что нужно запретить пользователям вводить буквы в поле телефона. Неожиданно, правда?)) 

Сейчас все это кажется смешным, но в те 5 дней я чувствовала себя разработчиком последнего суперджета — мне казалось, учесть все невозможно. Заказчик — спасибо ему человеческое — где-то помогал и подсказывал, потом прислал подробный список правок с комментариями в том числе и по организации кода. Оплатил. Помню, я тогда даже несколько раз переходила на их сайт и проверяла, есть ли там мои формочки. Первый косарь потратила на бешбармак, ездила в отпуск в Киргизию. 

Дальше я набрала опыта, посидела на сайтах фрилансеров. Получать заказы без опыта и рейтинга помогало первое сообщение формата «Добрый день, могу сделать заказ в такие-то сроки, также обратила внимание, что слайдер на главной странице у вас не работает в Internet Explorer, могу пофиксить это и заодно убрать проблему в адаптиве у карточки товаров». Конверсия в заказы была небольшая, но была. После 2–3 выполненных работ для одного заказчика иногда уходила с биржи на личное общение, заказчик не хотел тратить деньги на комиссию бирже. Мне повезло, ни разу не кидали с деньгами. Обычно договаривалась примерно на 1200–1400 за верстку страницы на 4–5 блоков без хедера и футера.

Далее меня стали активно рекомендовать знакомые и у меня появились постоянные заказы сначала на верстку, а потом и на разработку на фрилансе. Оплачивались не очень значительно, но их было много, а мне было в кайф — после работы я приходила домой и могла до полуночи или до часу ночи заниматься фрилансом. Если это была простая верстка, я занималась ей под сериальчик, если компоненты и логика на Vue — то под сериальчик уже не получалось, зато это были дополнительные стимулы для развития. 

Основную работу и фриланс я совмещала, наверное, года 2–2,5. На данный момент я не беру заказов на фриланс, фокусируюсь на работе в Prequel и небольшом самостоятельном обучении.

Обучение

b8b6c7e35185fc608a8004aa226f9ed1.png


Мои способы в порядке уменьшения полезности:

  1. Коммерческая разработка. Для меня нет ничего более эффективного, чем боевой опыт в реальной команде и желательно оффлайн. Никакие курсы и пет-проекты не дадут понимания, как все работает на самом деле, как взаимодействовать с несколькими фронтами на одном проекте, как синхронизироваться с бекендом и т.д. Единственный недостаток — сложность с поиском работы без опыта. Ну и нервно бывает, особенно первое время) Однажды я сменила работу в первый день большого карантина 2020 года, и несколько первых месяцев работала только онлайн. Так мне было гораздо сложнее вливаться в проекты. Сейчас стараюсь выбирать гибридный график.

  2. Видео на ютубе. Неожиданно, но для меня смотреть видео формата «Как сделать лендинг за 2,5 часа» или «Пишем за 4 часа приложение на Vue3» оказались довольно эффективными при условии, что я не просто смотрела, но и повторяла за автором. Когда на 15-ой минуте трехчасового видео у автора все отлично работает, а у меня падает сборка, это неприятно и очень полезно — ищешь ошибки, сравниваешь свой код с кодом автора, гуглишь. Основная польза — узнаешь про технологии, про которые сам бы не догадался погуглить.

  3. Курсы. Несмотря на мой не самый удачный опыт обучения на курсах, я очень рекомендую этот способ, как один из самых системных. Если человек на начальных этапах обучения, то адекватные курсы — топ. Там дадут ту самую систематизацию, которую очень сложно наработать отрывочными знаниями из статей и отдельных видосов. По продолжительности, 2–3 месяца с занятиями в пару раз в неделю, мне кажется, оптимально. 6–9 месяцев многовато для новичка, можно 10 раз перегореть. Также я пробовала преподавать на курсах, была наставником на 9-недельном курсе по основам верстки, провела несколько курсов, у меня было 9 студентов. Этот опыт оказался очень ценным, позволил столкнуться с проблемами, с которыми я никогда сама бы не столкнулась. Однажды мне нужно было помочь своей студентке решить конфликты в гите, она умудрилась создать эти конфликты в svg-картинках, работая одна в своем репозитории. Сложность была не в решении конфликтов, а в том, что это нужно было объяснить человеку, который познакомился с гитом 2 дня назад. Ушла из наставников после третьего курса из-за очень низкой оплаты — 600 рублей в час, при этом оплачивалось только 5 часов. Все остальное взаимодействие со студентом велось бесплатно, либо можно было отказать студенту в помощи. А 5 часов на 9 недель это очень мало, первое время я помогала бесплатно, но потом решила завязать с курсами, а жаль, преподавать мне очень нравилось.

  4. Онлайн-тренажеры. В целом, могут посоперничать с курсами по эффективности, но бьют в разные цели. Если курсы работают на системность, то тренажеры наоборот позволяют получить и потренировать точечные знания. Для меня оптимальны тренажеры, где дается страничка теории и далее упражнение на нее. Сталкивалась как с максимальным разжевыванием и упражнениями формата «напишите метод, возвращающий палиндром строки», так и с упражнениями на 2 часа на одну задачу, причем и то, и то на одном и том же ресурсе. Но и то, и то полезно.

  5. Книги. Если делать упражнения из книг, то эффект будет, однако язык развивается очень быстро, и информация может быть слегка устаревшей.

  6. Конференции. Для такого интроверта как я понятия «нетворкинг» не существует, ну и для обучения конференции не слишком эффективны — часть докладов состоит на 95% из воды и фраз «Мы повысили конверсию в 500 раз, но как мы этого добились рассказать не можем — NDA». Однако ходить на оффлайн конференции интересно, иногда попадаются классные доклады, вкусный кофе, ну и нельзя недооценивать возможность небрежно упомянуть о прошедшей конфе на очередном созвоне с коллегами. Иногда конференции в Москве проводятся в офисах крупных компаний, и присутствующие получают возможность увидеть офис Яндекса, Озона, Газпромбанка и т.д. В общем, конференции очень рекомендую, несмотря на низкий обучающий эффект. Жаль, что сейчас они в большинстве переехали в онлайн.

С конференциями у меня был опыт  с другой стороны — однажды руководитель предложил мне самой выступить от лица компании на конференции. Ездила в другой город, выступала перед студентами, и для меня это был очень приятный, волнующий и интересный опыт. Такое я бы повторила и в будущем.

7312a867c840de9b03bcd8fbcb16df5b.png1674f46d6e64774a108e4390ddbf474a.png

За пределами списка напишу про обучающие игры типа CodeCombat, потому что это отдельная история) игрок движется по карте, решая небольшие задачки, в которых персонажу нужно сортировать массив орков, убивая в первую очередь самого сильного, фильтровать песчаных яков и т.д. Для обучения может быть эффективно только для новичков, но поиграться забавно, если у вас есть лишнее время. Будьте готовы к соответствующим вопросам от начальства, если кто-то увидит открытый  CodeCombat на вашем рабочем компьютере)

В целом, чего я только не пробовала для обучения, иногда оно начинало буксовать без видимых причин. Для текущих работ и фрилансов знаний хватало, новое вроде бы было интересно, я пыталась вникать, но развитие шло медленно.

Стереотипы

387241badb75d57fce5bc77f70c5d3ae.png

С каким-то притеснением по половому признаку я не сталкивалась практически никогда, максимум шутки и вопросы на собеседованиях «А как вы относитесь к мату и шуткам 18+?», на который сложно сдержаться и не ответить в тон)

Насчет отношения именно к фронту как к сфере деятельности видела где-то в комментах:

  • Да фронты только и делают, что формочки верстают

  • Ну так и про бек можно сказать, что вы только и делаете, что туда-сюда json-ы на лопате носите

Такие шуточки не редкость, но наверняка с подобными сталкиваются и php разработчики, и 1с-ники, мне такое не кажется обидным.

Яндекс

16b4a84efdb34e99cd66b016ea181254.png

В начале 2021 года на Хедхантере мне написали ребята из Яндекса, пригласили на первое собеседование, предупредили, что мне предстоит 1,5 часа лайфкодинга и решения задач. На подготовку у меня было 7 дней, и меня неожиданно пробило на изучение. Я гуглила «Вопросы на собеседованиях Middle frontend разработчик» и разбиралась с теми, на которые не могла ответить — нормально читала теорию и дальше отправлялась на CodeWars решать задачки на эту тему. Я учила дома, учила на работе, учила в электричке по дороге в гости к родителям. У меня наконец-то резко выросла мотивация разобраться с контекстом, лексическим окружением и макротасками, в Яндекс очень хотелось.

В итоге с Яндексом не сложилось — и я не дотянула по техническим знаниям, и в процессе общения с сотрудниками компании открылась пара моментов, которые меня не совсем устраивали.

Однако процесс пошел, новые знания закрыли белые пятна и легли на имеющиеся знания и опыт, и эффект сразу же появился на следующих собеседованиях. Оказалось, что не только вопросы повторяются, но и задачки для лайфкодинга весьма похожи, а даже если не похожи, то 50 решенных задач на алгоритмы, методы работы с массивами, промисы и ООП все равно дают переход от «Этого я не знаю, никогда с этим не работала» до «О, точный ответ я не знаю, но работала с аналогичным, можно сделать вот так, а еще работала с похожим функционалом, и там подобные задачи решались тем-то».

Каждый 3–4 собес начал заканчиваться оффером, что было весьма приятно.

Prequel

Вакансию Prequel я нашла на HH, почитала про компанию, про сферу деятельности — обработка фото и видео, вспомнила свои студенческие подработки в сфере фотографии и установила себе приложение Prequel. Ребята искали фронта на Vue, я подходила по требованиям, откликнулась, со мной связались и назначили техническое собеседование в тот же день. Собес с моим будущим руководителем Сергеем начался с фразы «Привет, давай поговорим как фронт с фронтом», и мы погнали по вопросам. Техническое собеседование длилось минут 40, прошли по теории, я порешала задачи по чистому JS, также была задача на исправление компонента Vue. Уже через час после окончания собеседования вернулся HR с положительным ответом, и мы договорились о собеседовании с CTO через день.

На втором собеседовании ребята рассказывали про процессы, про график, про предоставляемое оборудование, про оформление в белую. Там же я узнала о прикольной возможности поехать на пару недель в Калининград, где у Prequel тоже есть офис, и поработать оттуда. На следующий день после созвона с CTO я получила оффер, взяла время на подумать и договорилась о визите в офис.

Посещение пришлось как раз на переезд, ребята только-только переехали и осваивали новый офис в Москве на Библиотеке Ленина. Меня встретила офис-менеджер София, показала рабочее пространство, диванчики, переговорки, кухню, рассказала про йогурты от компании в холодильнике (на этом месте я поняла, что надо соглашаться на оффер))).

Так я устроилась в Prequel.

Результаты

Мой классический грейд джун-миддл-сеньор назвать сложно, потому что понимание этих грейдов в разных компаниях различается кардинально. Была компания, где я прошла собеседование и устроилась миддлом фронтом, но в обязанности входила в основном верстка, просто не было задач по фронту. После этого я пришла джуном в другую фирму, но на большие деньги и задачи были уже именно на js и vue.js.

Расскажу по деньгам — мой максимальный оффер за все время поисков был на 185 к грязными, но с той компанией не сложилось по другим условиям работы, требовалось посещение офиса 5 дней в неделю. И этот оффер был не в первый и не во второй год работы — курсы врут про 150 к через три месяца)

Сейчас я работаю в Prequel, и очень рада тому, что я здесь. У меня гибридный график с возможность работать как из дома, так и из нового офиса в центре Москвы, и действительно классные задачи. Я нашла свой баланс в плане сложности — 65–70% задач мне знакомы, и я занималась аналогичными раньше, а с остальными сохраняется эффект — с утра не представляла, что такое, например, протобафы, а к вечеру уже научилась ими пользоваться. Аналогично — есть проекты на знакомом и привычном Vue 2, но есть и на Vue 3, с которым раньше я сталкивалась только в учебных целях.


Что я сделала бы иначе
В целом оставила бы все как есть) Может, скорректировала только следующие моменты:

  1. Если бы была возможность найти хорошего ментора и общаться с ним пару раз в неделю, так бы и сделала. Это бы избавило меня от попыток изучать бутстрап, не понимая, как работают медиа-запросы в стилях, и от скомканного изучения JS на начальных этапах, когда и основы, и прототипы, и контекст — все в кучу.

  2. Выучила бы теорию не перед собеседованием в Яндекс, а еще 2 года назад. Мне всегда казалось, что нормально глубоко разобраться с теорией — это годы. Скорее всего, это и правда так, но при этом закрыть свои основные белые пятна — хватило недели усиленных занятий.

  3. Больше бы ходила по собеседованиям — вопросы на них очень сильно повторяются. Например, в 2021 году редкий собес обходился без вопросов про отличия var и let и про известные мне способы работы с массивами. Если после собеседований тратить 10–15 минут на изучение каждого момента, на который не смогла ответить, то на следующем собеседовании на него будет готов хороший ответ. Сразу скажу, что этот способ — это скорее читерство, чем изучение JS. Но я считаю коммерческую разработку в реальной компании лучшим способом прокачки своих навыков, плюс этот способ — это скорее шлифовка и закрывание белых пятен, чем возможность получить хороший оффер с нулем знаний — если просто заучить ответы на большинство вопросов, то спалят на любом дополнительном или перефразированном вопросе.

А еще я бы меньше переживала и раздумывала о том, что рынок сейчас полон, джунов огромное количество, а стоит ли пробовать, а получится ли. Ну и меньше сомневалась бы в своих силах, чего и вам советую. Жизнь одна, работа занимает значительную ее часть, а каждое утро просыпаться и идти к рабочему компу с приятным предвкушением чего-то интересного определенно стоит того, чтобы пройти через все сложности смены специальности. Удачи!

© Habrahabr.ru