Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть полезен кому-то другому.
В статье описала мой опыт: обучение разработке с нуля и поиск работы в IT. Если вам не хочется читать статью, но интересно посмотреть алгоритм действий, он в самом конце текста.
Мне 29 лет, я лингвист по образованию, большую часть трудовой жизни занималась управлением проектами. Даже в начале карьеры я работала офис-менеджером, что тоже своего рода управление проектом.
Кажется, мне никогда полностью не нравилось то, чем я занималась, — я хотела создавать что-то конкретное и вдохновляющее, а не выполнять рутинные задачи и договариваться с другими людьми. Долгое время не предпринимала активных шагов в этом направлении, но толчком стала пандемия, заставшая меня врасплох.
До пандемии я работала над экологическим проектом: боролась за то, чтобы сократить потребление одноразового в сети пекарен. Старалась сделать так, чтобы гости меньше пили из одноразовых стаканчиков, использовали сахарницы вместо пакетиков с сахаром и т. п. Но пришла пандемия, а вместе с ней и запреты от Роспотребнадзора на многие инициативы: нужно было переходить на всё одноразовое, а это противоречило моему мировоззрению (да и шло вразрез с целями моей работы).
В одно мгновение все мои достижения утратили актуальность (мир заполонил одноразовый пластик в огромных количествах). Все нововведения в нашей сети были отменены, а моя зарплата уменьшилась вдвое.
Так я поняла, что пришло время что-то менять прямо сейчас. Предыдущий опыт научил, что единственное, что мотивирует меня развиваться в профессии, — это желание делать то, что нравится. Я изучила разные направления и поняла, что мне близка разработка.
Почему разработка?
У меня есть опыт управления проектами (это плюс для разработчика), я уже работала в разных бизнесах изнутри и понимала процессы, я усидчивая и люблю изучать новое.
Когда меня спрашивают, какой курс я прошла, чтобы найти работу в разработке, мне сложно ответить. Секрет совсем не в том, чтобы пройти определённый курс, попасть в айти и зарабатывать много денег.
Во-первых, сначала денег будет совсем немного. Во-вторых, по моему мнению, невозможно долго работать в профессии, которая вам искренне не интересна. Более того, во многих направлениях приходится постоянно учиться новому, так как знания устаревают. Учиться через ненависть ещё сложнее, а если этого не делать — вы будете не нужны.
«Учитесь всего два часа в день и через два месяца оффер в крупную IT-компанию у вас в кармане». Ха-ха два раза
В начале своего обучения я нашла по отзывам онлайн-курсы на платформе Codecademy. Выбрала эту платформу, потому что здесь можно найти удобные и структурированные учебные материалы.
Взяла ежемесячную подписку за 17$ и за шесть месяцев получила базовые знания в области HTML, CSS и JavaScript. Я была восхищена тем, как несколько строчек кода превращаются в настоящий сайт. Это был период супермотивации.
Через полгода обучения поняла, что мне не хватает более глубокого понимания сложных концепций, ревью от опытных разработчиков и поддержки со стороны сообщества. Решила найти курсы, которые восполнили бы эти пробелы.
Мой выбор пал на онлайн-курс от «Яндекс.Практикума». Мне понравилась программа и возможность начать обучение бесплатно, чтобы понять, подходит ли мне формат. Ещё там были строгие дедлайны, поэтому шанса купить курс и забить просто не было.
Так я начала изучать React, Node.js и другие смежные технологии. В это время у меня родился ребёнок, и я столкнулась с необходимостью балансировать между двумя новыми для меня ролями: мамы и разработчика.
Кстати, именно в этот период я поняла, что верить рекламе нельзя. Было забавно видеть рекламные слоганы некоторых онлайн-школ, которые обещают, что на учёбу можно тратить всего два часа в день в течение пары месяцев, а потом сразу получить очередь из офферов. В реальности это скорее невозможно.
Я больше года училась каждый день по 5–8 часов без выходных. Более того, я до сих пор продолжаю учиться. Мне приходится жертвовать многими вещами, но смена профессии — заведомо сложная задача.
За деньги — ДА или неоплачиваемая стажировка тоже ОК?
Примерно через восемь месяцев обучения я поняла, что могу поучаствовать в каком-то проекте. Думаю, эта мысль каждому приходит в своё время: вы просто почувствуете, что «теперь пора».
Точно могу сказать одно: если вы больше года занимаетесь разработкой по несколько часов в день и у вас нет желания сделать проект — нужно задуматься. Разработка — направление, в котором сразу хочется создать что-то «настоящее», чтобы увидеть, как этим пользуются люди.
На тот момент я уже неплохо разбиралась в вёрстке и прошла курс по React — это база, с которой можно искать маленькие проекты. Я начала смотреть что-то интересное в Telegram-чатах, так как мне казалось, что на «Хэдхантер» без опыта идти рано. Так я попала в небольшой стартап, который занимался разработкой обучающей платформы для подготовки к ЕГЭ.
В одном из чатов пришёл запрос на поиск джуна-разработчика в команду. Не раздумывая, я откликнулась в числе первых, поэтому со мной сразу связались. Я пообщалась с командой (сложных собеседований не было) — и меня приняли.
Сразу скажу — это была неоплачиваемая стажировка. Знаю, что многие относятся к этому негативно, так как любой труд должен оплачиваться. У меня было другое мнение. Я внимательно мониторила рынок, и практически в каждой вакансии требовался опыт работы. Даже спустя 8 месяцев учёбы мне ещё было нечего предложить рынку, поэтому я решила не ждать, пока меня кто-то заметит, а получить реальный опыт работы самостоятельно.
Первое время было очень сложно. Работа оказалась совсем не такой, какой я себе представляла. Приходилось учиться выполнять задачи в команде, с горящими сроками, быстро осваивать новые технологии, так как знаний, полученных на курсах, было недостаточно.
Так я поняла, что ни один курс не научит вас главному навыку — работе в команде. Я элементарно не знала, как организована совместная работа на «Гитхабе», и первые пул-реквесты делала по несколько часов. Поэтому моя рекомендация — во время обучения сразу ищите бесплатные стажировки и делайте командные пет-проекты для получения такого опыта.
Кстати, спустя пару месяцев моя неоплачиваемая стажировка превратилась в работу — мне начали платить зарплату.
Изначально мы об этом не договаривались, но во время стажировки я ответственно выполняла задачи в срок, старалась активно участвовать в развитии проекта не только как разработчик, но и как бывший менеджер проектов — думаю, это повлияло на решение работодателя.
Я оставалась в проекте около года — и это было отличным началом. Получила большой опыт, но понимала, что это не предел мечтаний.
Как я говорила, это был стартап, поэтому многие рабочие процессы оказались не налажены. К тому же пользователей было совсем немного, а мне хотелось разрабатывать полезный продукт и видеть, как люди взаимодействуют с ним. Ещё у меня подрос ребёнок и появилась возможность полностью посвятить себя работе, а на текущем проекте этого не требовалось.
Резюме, портфолио и сопроводительное письмо
Я решила искать работу, но столкнулась с несколькими проблемами. Во-первых, считала себя недостаточно достойной, ведь я столько всего ещё не знаю (привет, синдром самозванца). Когда я видела, что на одну вакансию приходится около 500 откликов, у меня просто опускались руки. Я думала, что конкуренция очень высока, и рекрутер вряд ли доберётся до моего резюме. Плюс вакансий для джунов практически не было. Во-вторых, близкие до этого момента воспринимали мою деятельность как хобби и не верили, что без высшего IT-образования можно найти что-то стоящее. Не могу сказать, что это меня сильно угнетало, но всё равно не очень приятно, когда родные не поддерживают.
Желание найти работу оказалось сильнее проблем, поэтому я начала действовать. Для разработчика важно понятное и структурированное резюме. Поэтому первым делом нужно работать над резюме и сопроводительным письмом: проблема точно в них, если вас даже не приглашают на собеседования с рекрутером. Считаю, что они могут даже не подозревать, какого классного сотрудника упускают из-за плохо оформленных артефактов.
Что делала я:
Сократила предыдущий опыт до пары строчек с описанием достижений.
Так как я начинала поиски с большим багажом нерелевантного опыта, я сократила его, но не убрала полностью. Например, у меня большой опыт выступления на мероприятиях (= митапах), об этом можно написать. Разработчик, который умеет выступать, — плюсик в глазах DevRel-менеджера и амбициозного тимлида. Раньше я руководила крупными проектами, то есть понимаю, как строится бизнес изнутри. А ещё однажды работала в доставке — и умею общаться с конфликтными людьми. Разработчику такой навык пригодится.
Важно не обесценивать свой нерелевантный опыт. Да, он менее интересен, чем опыт в разработке, но вам точно есть, что оттуда вынести. Кратко описав свои навыки и достижения, вы дадите понять, что не совсем бездельник и чего-то добивались раньше. Пусть и не в разработке.
Убрала из опыта работы период обучения.
Часто советуют добавлять его, так как рекрутеры могут даже не открыть резюме, если в нём совсем нет опыта.
Я обсудила это со знакомыми hr, которые сказали, что их, наоборот, отталкивает такой подход. Поэтому моя стратегия — лучше добавлять свои пет-проекты или реальные стажировки, чем период обучения.
Привела в порядок портфолио на «Гитхабе».
Там подробно описала релевантный опыт работы, сделав акцент на том, что сделала именно я.
Создала небольшой сайт-портфолио, где кратко написала о себе, своих проектах и стеке.
Мне хотелось впечатлить потенциальных работодателей, а значит, нужно было сделать резюме максимально понятным и удобным для просмотра.
Создала шаблон сопроводительного письма и дорабатывала его к каждому отклику.
Я сделала шаблон с основной информацией о себе на основе этой инструкции, а когда откликалась на конкретную вакансию, добавляла какие-то факты, соответствующие требованиям.
Например, если вакансия была из сферы образования, я более подробно рассказывала о таком опыте. То есть в сопроводительном письме дополнительно подтверждала, что подхожу на вакансию.
Многие ленятся писать сопроводительное письмо, но над ним стоит потрудиться, если вы джун. Здесь же лучше конкретизировать, какой ваш пет-проект релевантен или какая часть из стажировки или обучения пригодится в этой компании.
И самое важное, что я отметила для себя: если у вас в портфолио только учебные проекты, этого недостаточно.
Никому не интересны люди, которые делали что-то только в рамках обучения, — таких соискателей тысячи. К тому же по учебным проектам сложно понять, как вы сами пишете код, мыслите и логически рассуждаете. Моя рекомендация — делать пет-проекты.
Они не только помогут наполнить портфолио: это ещё и отличный способ разобраться в какой-то технологии. Я долго собиралась с силами, чтобы выучить Typescript, искала курсы, читала много теории. Результат был практически нулевой. Но как только начала работать над реальным проектом, используя его, прогресс стал очевиден.
Есть лайфхак при выборе пет-проекта. Когда я задумывалась над своим, то идей не было совсем, и я стала гуглить топ-10 идей для пет-проектов — так делать не нужно.
Я выбрала таск-трекер, хотя заранее понимала, что не буду им пользоваться. В процессе разработки мне быстро стало скучно, и я его забросила. То есть потратила время впустую.
Так я заметила, что интереснее всего работать над задачей, которая будет решать вашу реальную проблему. Например, если делать всякие калькуляторы, таск-трекеры и приложения для погоды, которыми вы сами не будете пользоваться, — это трата времени впустую. Скорее всего, вы забросите проект, потому что вам будет скучно над ним работать. А если он не интересен вам, то почему должен привлечь внимание работодателя?
Засучить рукава и отправить 600 откликов
Я понимала, что поиск работы для джуна — это тоже работа. Поэтому начала делать отклики на разных площадках. Много откликов. Чтобы научить джуна чему-то, компания тратит много ресурсов и времени, поэтому работодателям часто невыгодно нанимать зелёного новичка.
Иногда для того, чтобы пришло одно приглашение на собеседование, я делала более десятка откликов. Считаю, что это нормально, так как джунам нужно проявлять инициативу: откликаться на вакансии, писать напрямую работодателю и параллельно улучшать свои навыки.
У меня было много отказов, некоторые даже от тех компаний, где я практически на 98% соответствовала требованиям. Но я их не боялась. Меня вдохновил друг, который искал работу около шести месяцев, сделал более 600 откликов и в конце концов получил отличное место :)
В этот период были не только отказы, но и странные собеседования. Однажды мне позвонили после отклика на вакансию, я взяла трубку, пока шла по улице, и подумала, что разговариваю с рекрутером, который сейчас назначит встречу. И довольно сильно удивилась, когда «рекрутер» предложил мне прямо здесь и сейчас по телефону порешать задачки.
Я так переволновалась, что забыла даже простые вещи, и в тот момент подумала, что мне рано искать работу, если я не могу взять себя в руки и решить несложные задачи. На улице шёл сильный дождь, я нервно решаю в уме задачи… Всё выглядело очень кинематографично.
Собеседование я, кстати, прошла, но на работу в эту компанию не устроилась. Мне не подходил стопроцентный офисный график, а ещё смутило, что пришлось решать задачи по телефону. Я не так представляю первую встречу с компанией — мне кажется, что важно обсудить удобную всем дату, а на собеседовании видеть интервьюера и писать код, а не проговаривать его вслух.
Я продолжала делать отклики, выполняла тестовые задания, дорабатывала резюме и сопроводительное письмо. А ещё работала и училась.
Я никогда не отказывалась от тестовых, даже если их предлагали до общения с рекрутером, и могу порекомендовать делать так же каждому джуну.
Во-первых, таким образом воронка сужается — у вас остаётся меньше конкурентов, так как не все готовы тратить время на тестовое.
Во-вторых, это дополнительный проект в портфолио.
В-третьих, это отличная возможность выучить что-то новое. На одном из тестовых мне нужно было написать приложение на Next.js, хотя до этого я даже не знала, что это такое. В итоге за несколько дней разобралась в основах этого фреймворка и, кстати, мне он очень понравился. Обратной связи по тестовому я, правда, не получила, но зато опыт мне пригодился в будущем.
Как я нашла «то самое»
Спустя время я увидела вакансию мечты. Всё было идеально: знакомый стек, интересные задачи, классная компания. Останавливало то, что необходим был опыт работы 3–6 лет, при этом жёсткого требования в описании вакансии не было.
Я рискнула и откликнулась, но мне отказали и закрыли вакансию. Так эта статья могла бы и не появиться, но меня зацепила компания, и я стала следить за её новыми вакансиями.
Через месяц появилась ещё одна вакансия, которая мне подходила. Правда, снова требовался опыт работы. Я решила откликнуться, и в этот раз меня позвали на собеседование.
Кстати, я спросила, почему этого не произошло в первый раз, но на прошлую вакансию уже нашли человека, а я откликнулась в момент, когда рекрутеры ждали ответ на оффер.
Собеседование прошло хорошо, мне задавали вопросы об опыте, предложили решить задачу и ответить на несколько теоретических вопросов. Меня не заваливали, а скорее помогали, когда я путалась от волнения. В этот раз я волновалась просто невероятно, но старалась взять себя в руки. Я подробно рассказала об опыте, в каких командах работала, как мы организовывали процессы. Старалась вести себя непринуждённо и дружелюбно.
Это ещё одна важная часть подготовки джуна к собеседованию — важно уметь рассказать о своём опыте, подсветить, какие навыки будут полезны компании, и показать, что вы заинтересованы учиться и готовы узнавать новое.
Через пару дней позвонил рекрутер и сообщил, что меня готовы взять, несмотря на то что ищут более опытного разработчика. Но нужно найти команду, в которой я начну работать. А это значит, понадобится время и собеседование с командой, прежде чем я получу оффер.
Я была счастлива!
Долгожданный оффер
Где-то месяц подбирали команду, в которой я смогу чувствовать себя комфортно и приносить результат. Параллельно с этим мне приходили положительные ответы от других компаний, куда я откликалась ранее. Но я так сильно хотела работать именно тут, что отказывала им на свой страх и риск.
И, наконец, случилось ещё одно собеседование в подходящую команду в М2. Мне рассказали о команде и продукте, над которым предстоит работать. После этого предложили решить алгоритмическую задачу и дали для этого достаточно времени, чтобы я спокойно выполнила задание. На следующий день я познакомилась с ребятами из команды, и мы пообщались в непринуждённой обстановке.
Я рассказывала про опыт и про себя в принципе. Это важно, ведь на собеседованиях софт-скилы важны не менее хард-скилов. Из рассказа знакомого рекрутера я знаю, что как бы хорошо вы ни разбирались в технологиях, вам, скорее всего, будет сложно найти работу, если вы ведёте себя токсично.
Итого поиск работы занял у меня около двух месяцев. Я сделала 97 откликов, выполнила два тестовых задания, прошла три технических собеседования и получила два оффера.
Предложение о работе в М2 было для меня самым привлекательным. Совпало всё: крупная продуктовая компания, интересные проекты, классная команда, плавный старт в работе.
Вот краткое изложении стратегии поиска, описанной в статье
1 — помимо обучения, участвовать в совместных пет-проектах или пройти стажировку, чтобы получить опыт работы в команде.
2 — добавить в портфолио пет-проекты. А выбирать их по принципу «делаю то, над чем мне будет интересно работать».
3 — грамотно составить резюме: убрать нерелевантный опыт, оставив только то, что пересекается с новой профессией, подробно описать свои проекты, добавить ссылки на код и демоверсию.
4 — подготовить шаблон сопроводительного письма и при откликах добавлять конкретную информацию, соответствующую вакансии.
5 — не бояться откликаться даже на те вакансии, в которых требуется опыт больше вашего, если вы подходите по остальным требованиям.
6 — делать тестовые задания, особенно если там предлагается использовать незнакомые технологии. Во-первых, вы получите опыт, а во-вторых, иногда работодатель таким образом хочет посмотреть, как вы справитесь с чем-то незнакомым.
7 — решать задачи на Codewars, Leetcode или Exercism.
Этот пункт я добавила уже после того, как получила работу. Я сделала вывод, что мне надо было ещё больше времени уделять решению задач на Codewars и Leetcode. Ещё я нашла Exercism — open-source проект, где есть задачи, но там они более приближены к решению реальных проблем, поэтому их интереснее решать.
В итоге все три моих технических собеседования были основаны на решении задач, хотя я надеялась, что это пройдёт мимо меня.
8 — на собеседовании вести себя дружелюбно и вдохновенно рассказывать о своём опыте.
9 — не падать духом и продолжать делать отклики, если получаешь много отказов.
Я уверена, что найти работу мечты может каждый. Просто многие останавливаются на полпути, разочаровываясь в себе. Да, это непростая задача, но если учесть все нюансы, не иметь завышенных ожиданий и набраться терпения, то рано или поздно работа будет вашей.