Всем привет! Меня зовут Вероника, это фан-стори длиной в полгода о том, как я искала (и нашла!) работу.
Хочу поделиться трудностями, с которыми я столкнулась, чтобы другие люди могли их избежать. Верю, что будет полезно тем, у кого мало опыта поиска работы.
Вводная информация
- Позиция: Software Engineer
- Опыт: 3 года Backend разработки, банковский процессинг на Java и Kotlin.
- Локация: Санкт-Петербург. В приоритете — релокация в Европу.
План полета
- Предыстория — осень 2023 года
- Эпик фэйл — зима 2024
- Основной этап — весна 2024
- Итог — лето 2024
- Раздаю советы
Дисклеймер
Это личная история, больше нацеленная на развлечение читателя, чем на подробные инструкции по поиску работы.
Здесь я не рассказываю, как нужно проходить собеседования, как составить резюме и что отвечать на вопрос “Кем вы видите себя через 5 лет?”. Эти темы подробно раскрыты в “А как собеседоваться?” и других статьях. Присутствует айтишный сленг и англицизмы, будьте осторожны.
Ну что ж, начнём.
Предыстория — осень 2023 года
Задумалась о смене работы и переезде в Европу. На тот момент у меня было несколько лет опыта работы и пройдено 1,5 собеседования. В университете я пошла на стажировку в финтех-компанию и осталась там работать.
Для тренировки я начала откликаться в небольшие компании на HeadHunter. Собеседования на Java разработчика были однотипные, чаще всего состояли из одного этапа. Вопросы были несложными и часто повторялись. Без подготовки удалось получить несколько офферов.
Дальше я просила друзей порекомендовать меня в крупные российские компании. Были уверенность и энтузиазм после офферов с HeadHunter. На тот момент цели менять работу не было. Я хотела узнать, как устроены собеседования в крупных компаниях и чего стоит ожидать.
Не серьёзно отнеслась к подготовке. После HeadHunter казалось, что всё должно быть просто. Новых офферов не было. Стало понятно, что к собеседованиям всё-таки нужно готовиться :)
На этом этапе я не вела подробную статистику, вот что восстановила из памяти:
- Откликов: 10
- Собеседований: 7
- Офферов: 2
Эпик фэйл — зима 2024
Столкнулась с реальностью — на рынке мало вакансий.
Действовала по стандартной схеме — откликалась много и на всё подряд. Выбрала для себя 4 страны — Нидерланды, Португалия, Германия, Польша. В приоритете была Польша. Из плюсов — понятная и знакомая культура, быстрая интеграция, много вакансий для middle-разработчиков.
Новогодние каникулы прошли за откликами на вакансии, а вторая половина января — за литкодом.
На этом этапе была очень низкая конверсия. Ответ пришёл только от одной крупной польской компании. Думаю, мне тогда повезло, что мой отклик заметила рекрутер из Беларуси.
Собеседования были несложные. Спрашивали ровно то, что было написано на Glassdoor. Получила оффер на мидла. Визовое агенство начало процесс подготовки документов.
Гражданину РФ получить польскую рабочую визу практически невозможно. Тогда на помощь пришло модное изобретение — Poland.Business Harbour (далее PBH). PBH — особый вид визы для IT-специалистов из СНГ, в том числе для россиян.
PBH можно было получить за пару недель, имея на руках оффер. Виза выдаётся на год, потом продлевается внутри страны (PS: возможно, напутала некоторые бюрократические моменты, не обессудьте).
На первом HR звонке в середине января я сказала рекрутеру, что планирую подавать документы на PBH. В конце января был оффер. За эти две недели правительство Польши успело отменить визу PBH.
Как оказалось, PBH массово получали все, кому не лень. Тщательно не проверяли, правда ты IT-шник или нет. В общем, решили, что это угроза национальной безопасности. Ба-дум-тсс.
В агенстве сказали, что ничего нельзя сделать, и оффер отозвали.
Дальше, по советам из интернетов, я подавалась на много вакансий, часто не подходящих мне по грейду и опыту. Была мысль, что чем больше будет откликов, тем выше вероятность, что мне кто-то ответит. Компании игнорировали или приходил отказ. Было непонятно, что идёт не так.
Статистика:
- Отклики: 78
- Ответили: 1
- Офферов: 1
Как с нуля заботать LeetCode за неделю
Быстрый ответ — никак. Но если очень нужно, вот как делала я.
В ноябре я начала решать LeetCode в пассивном режиме, без цели и плана. До этого алгоритмы в моей жизни были только в виде полугодового списанного курса в университете. Мотивации было мало, процесс шёл медленно.
Переносимся в январь 2024, неделя до алгоритмического собеседования в польскую компанию. Я собрала все задачи из LeetCode-Questions-CompanyWise и Glassdoor. Распределила их по дням недели с учетом темы и сложности и начала решать.
В итоге на кодинг-собеседовании было несложное задание на ООП-дизайн. На системном дизайне спросили задачу, слитую на Glassdoor.
После этого раунда собеседований и полученного оффера я на энтузиазме начала решать задачи по темам из списков Blind 75 и NeetCode 150. Когда перед собеседованиями не хватало времени, я быстро просматривала решения оставшихся задач.
Решать по темам — это открывать тему Linked List и решать подряд все типовые задачи. Закончил с одной темой — переходишь к следующей. Это быстрая практика для обучения. Ты знаешь тему задачи, сразу её решаешь, из-за этого поднимается мотивация.
Такой подход будет работать, если вам попадётся типовая задача, которую вы уже решали. В моём случае это привело к тому, что на собеседованиях я не всегда могла понять, какой алгоритм требуется в задаче. Начинала решать не то, волновалась и теряла время.
В итоге недостаток системной подготовки сказался на собеседованиях в Google и Яндекс, но об этом позже.
Проблемы с планированием
Альтернативное название главы — “Выгорание и отлёт кукухи”.
Параллельно со всем этим безобразием у меня были плановая операция на носовую перегородку, курс по ювелирному мастерству, автошкола и основная работа :)
В своей голове я придумала нереалистичные дедлайны и не успевала за ними. Дополнительно подливал масло в огонь совет из интернета: “Отпуск не берите, просто в гугл-календарике распишите, когда у вас работа, а когда собеседования. Изи же.”
Отсутствие чёткого плана создавало лишний стресс, ухудшился сон и начались проблемы с тревожностью, которых раньше не было. Отсутствие видимого результата привело к выгоранию.
Моя проблема с планированием - я не приоритизировала подготовку к интервью. Я занималась рабочими задачами, решением бытовых вопросов и другими делами. В итоге на подготовку не было сил и времени. Это привело к тому, что я готовилась к собеседованиям непосредственно перед ними. Пыталась успеть всё и сразу, забывая об отдыхе и других сферах жизни.
Начала страдать основная работу. В какой-то момент мой тимлид по-отечески спросил: “А что случилось? Почему не работаем? Норм же общались.”
В общем, не надо так.
Основной этап — весна 2024
К этому моменту я уже конкретно задолбалась. Решила взять паузу и подумать, что идет не так.
Изменила CV:
- Добавила summary в начало
- Добавила название должности
- Убрала информацию о локации и упоминание о России в месте работы и университете
Поняла, что много сил уходит на поиск вакансий и отклики. При этом конверсия очень низкая, и большое количество отказов демотивирует.
Что я начала делать:
- Ищу вакансию на LinkedIn
- Добавляю в друзья человека, который там работает, и прошу реферал. Пишу русскоязычным ребятам с грейдом не выше сеньора. Способ оказался довольно эффективным. Мне отказали только один раз, сказав, что решено мало задачек на литкоде. Недолго думая, я написала другому человеку из этой же компании и получила реферал :)
- Изменяю CV для каждой вакансии: добавляю/убираю технологии и языки программирования, меняю местами абзацы с описанием предыдущего опыта.
- Сопроводительные и мотивационные письма не писала
План сработал отлично — ответы приходили на один из трех откликов. Весной вакансий стало чуть больше. Появился выбор, и я перестала откликаться на все подряд.
После предыдущих неудачных попыток казалось, что получить оффер в Европе не получится, поэтому параллельно я проходила собеседования в российские компании.
Самое сложное интервью в моей жизни
Это был первый созвон с менеджером после HR-скрининга в eBay. После небольшого смолтока меня попросили решить задачку. Сначала показалось, что это типовая задача на динамическое программирование. Я быстро написала решение.
«Окей, а что будет, если использовать такие входные значения?…»
Искра, буря, безумие — ничего не работает. Я какое-то время потратила на попытки сделать рабочее решение, добавляла разные костыли. Безуспешно.
Ближе к концу собеседования мне объяснили суть задачи и попросили закодить решение. С горем пополам и с помощью менеджера я успела написать рабочий код, приняла факт поражения и пошла дальше.
Через несколько дней пришёл ответ: «Зовем вас на техническое собеседование». Неожиданно и приятно. В фидбэке сказали, что я «гуд комуникейтор энд фаст лернер». Какой процент людей справляется с гробовой задачкой от менеджера, для меня остаётся загадкой.
После финального бихева был реджект: решили взять более опытного кандидата. Собственно, я собеседовалась на роль Data Engineer, ничего не зная о том, кто это и что он делает.
Google vs Яндекс
Самое пугающее в собеседованиях было название компаний.
В Google было 7 собеседований:
- HR-скрининг
- Алгоритмический скрининг
- Три алгоритмических собеседования
- Бихейв-интервью
- Финальный HR созвон
Алгоритмическое собеседование длится 45 минут, за которые нужно решить одну задачу. У меня получилось решить без подсказок одну задачу из трех. В фидбэке сказали, что для оффера нужно решить минимум две задачи.
Из интересного: Google — единственная компания, где первый HR созвон был буквально по телефону. Проблем дозвониться из Лондона в Санкт-Петербург не возникло.
В Яндекс было 4 собеседования:
- HR-скрининг
- Три алгоритмических собеседования
Алгоритмическое собеседование длится час, за который надо решить две задачи — «попроще» и «посложнее».
Яндекс после каждого собеседования отправлял небольшой фидбэк. У меня была проблема с распределением времени: я долго решала первую задачу и не успевала доделать вторую. Некоторые интервьюеры терпеливо ждали, помогали и давали дополнительное время. Кто-то сразу заканчивал собеседование и писал фидбэк, что «пришлось подсказывать» :)
Обе компании отправляют много дополнительного материала для подготовки. По заданиям на интервью могу сказать, что это были модификации типовых задач. Ничего экстремального.
По личным ощущениям, собеседования в Google были проще, чем в Яндекс. Но, как говорится, «фор хум хау».
Офферов не было — сказалась недостаточная подготовка по литкоду. Думаю, ещё повлияло волнение от страшных слов «Яндекс» и «Google».
Идентичные вопросы на собеседованиях в разные компании
Проходила собеседования в две компании, назовем их так: известная российская Компания А и европейский Стартап Б с российскими корнями.
По описанию рекрутеров собеседования показались мне похожими по структуре. Приоритет у меня был на Стартап Б, поэтому интервью у них я назначила после Компании А.
Собеседование в Компании А проводил молодой разработчик, который год назад стал тимлидом. Меня попросили решить типовую литкод задачу, написать несколько SQL-запросов.
Последние два вопроса были на миграцию базы данных и на паттерн Transactional Outbox. Я не понимала, что от меня хотят услышать в этих вопросах. Я накидывала разные решения, всё прошло довольно сумбурно.
Стартап Б искал сеньора Go, я же - мидл Kotlin и Java. Меня решили рассмотреть, потому что на предыдущей работе я делала такие же проекты, в которые нанимал Стартап Б.
Собеседование было назначено через два дня после Компании А. За это время я читала документацию Go и изучала типовые вопросы по многопоточности и горутинам.
Собеседование проводил опытный тимлид, который недавно устроился в Стартап Б и набирал себе команду. Интервью началось с рефакторинга кода на Go. Потом собеседующий сказал: «SQL-запросами мучить тебя не буду, сразу перейдём к интересной части». Далее были две точно такие же задачи — на базу данных и паттерн Transactional Outbox :)
Я начинаю рассказывать решение, с трудом сдерживая улыбку.
В конце был такой диалог
Я: «А где ты работал до Стартапа Б?»
Собеседующий: «Был тимлидом в Компании А»
Я: «Угу, понятно»
И такое в жизни бывает.
В Компанию А был оффер. В Стартапе Б сказали, что всё супер, но Go я знаю плохо и есть пробелы в систем дизайне.
Что спрашивают на технических собеседованиях
Заметила, что часто задают похожие вопросы, независимо от того, это российская или европейская компания. Собеседующие не могут часто менять вопросы для интервью. Компания А и Стартап Б — яркий тому пример.
На собеседовании Java-разработчика в небольших компаниях и на технических скринингах в крупных компаниях спрашивают одно и то же. Вопросы вроде «Назовите многопоточные коллекции в Java» и другие из «Топ-50 вопросов для собеседования» мне порядком надоели.
На мой взгляд, в конкретных вопросах по технологиям нет смысла. Они показывают, насколько ты «зазубрил» ответы. Технологии меняются и устаревают, нормально не знать деталей реализации, которые можно загуглить за минуту.
Встречались общие типовые вопросы, например про мониторинг и Four Golden Signals, TDD, BDD и прочие радости жизни. К моему счастью, чем отличается скрам от аджайла не спросили, я бы не ответила.
На каждом техническом собеседовании у меня спрашивали хотя бы одну задачу из LeetCode. Чаще всего это была типовая задача из Blind 75, ничего нового не изобретают.
Если это бигтех, то там придумывают новые задачи, которых нет в открытом доступе. Тем не менее, это не олимпиадное программирование. Задачи можно решить при должной тренировке.
Часто из описания вакансии можно понять, что у вас могут спросить. На собеседовании с менеджером в Snowflake в команду, которая работает с KV storage, у меня спросили, как бы я спроектировала распределённый KV storage. На System Design в другой компании меня попросили спроектировать бэкенд для их сайта.
Читерский совет — узнайте, что спрашивают в компании на Glassdoor, поищите слитые собеседования. Если вам удалось найти задачу на просторах интернета, то и сама компания знает, что её слили.
Короче говоря:
- Зубрим типовые вопросы.
- Без LeetCode не прокатит.
- Читаем описание вакансии и блог компании.
Glassdoorусердно работаем!
Итог — лето 2024
Я получила два оффера — от российской и европейской компаний. Решила, что хочу переехать, и приняла европейский оффер.
Теперь я работаю в Zalando, крупной e-commerce платформе. Tуда я собеседовалась в последнюю очередь, поэтому все прошло спокойно и без приключений.
Статистика:
- Отклики: 31
- Созвон с HR: 11
- Финальные интервью: 7 (3 РФ и 4 Европейские)
- Офферы: 2
Довольная собираю документы, готовлюсь к переезду и изучаю мемы про Германию. Рабочую визу выдали за неделю. Рекомендую.
Раздаю советы
Какие основные мысли я вынесла за это время?
Просите помощь
Собеседования — это вторая работа. Нужно уделять много ресурса для успешной подготовки. У меня было мало пересечений между тем, чем я занималась на основной работе, и вопросами/задачами с собеседований.
Можно готовиться к литкоду вместе с бадди, найти ментора или готовиться вместе с людьми из IT сообщества. Тяжело одному справляться с бесконечными отказами и отсутствием видимого результата.
Классная практика — найти человека из компании, куда вы хотите попасть, и попросить его помочь с подготовкой. Если вы новичок в какой-то технологии (как я в Go), то имеет смысл заняться этим с ментором. Конечно, всё это можно изучить самому, но это займет больше времени, и никто вам не скажет, что вы занимаетесь не тем.
Например, для подготовки к собеседованиям по Go я читала, как работает Garbage Collection и Scheduler, смотрела вопросы про многопоточность и синхронизацию. В итоге, вместо всего этого попросили отрефакторить код, что у меня не вышло. Думаю ментор бы помог мне эффективнее подготовиться за короткий срок.
Просите фидбэк
Чаще всего вам не откажут, и вы сможете узнать свои зоны роста. Я часто получала положительный фидбэк по коммуникативным навыкам, что я быстро понимаю и могу думать. При этом мне не хватало конкретных технических знаний.
Молчаливые отказы демотивируют. Отказ с развернутым фидбэком и рекомендациями, наоборот, помогает расти. Один раз мне прислали ссылку на «Книжку с кабанчиком» и посоветовали изучить её и приходить снова через полгода.
Планируйте и отдыхайте
Плана у меня не было ни весной, ни зимой. Не было срока, к которому я хотела найти работу, и не было понимания, когда нужно остановиться.
Нужно приоритизировать подготовку. Например, в начале дня несколько часов готовиться к интервью, а затем заниматься другими делами. Если делать наоборот, к концу дня не останется сил и мотивации для подготовки.
Не берите на себя слишком много. В книгах по продуктивности пишут, что человек может концентрироваться не более четырех часов в день. Опасная часть планирования — это составление нереалистичных целей. Невыполнение плана приводит к чувству вины.
Если план не работает, его нужно менять.
Зимой мне было тяжело из-за ограничений на физические активности после операции. Весной я стабильно ходила на силовые тренировки, растяжку и йогу. Я чувствовала себя лучше, при том что расписание было более загруженным.
Успешных успех - это круто, но в больничку тоже не хочется.
Стоит ли подаваться на много вакансий?
Мой опыт показал, что много откликов тратят силы и не дают результата. Эффективнее подаваться через реферальную программу и менять CV под вакансию.
Много откликов работают во время бурного экономического роста, когда компании активно нанимают и готовы платить выше рынка опытным кандидатам. Хороший пример - 2021-2022 год.
Увы, закончилось это массовыми увольнениями. По слухам, компании сокращают дорогостоящих сотрудников и одновременно нанимают на их место кандидатов на меньший оклад.
Я начала процесс поиска работы в Европе в неудачное время. Зимой 2024 года продолжались массовые сокращения. Мнение рекрутера Киры Кузьменко на эту тему.
Из России релоцируют?
Друзья спрашивают есть ли проблема с релокацией из России.
Сначала у меня в CV была указана локация Санкт-Петербург, потом я ее убрала. Повлияло ли это как-то на конверсию откликов судить сложно.
Стоит ли врать про локацию? Смотря какая у вас цель. Если хочется пройти собеседование для тренировки, то можно сказать что угодно. Никто проверять не будет.
Если вы находитесь в России и хотите переехать с помощью работодателя, то стоит сразу об этом сказать. Нет смысла тратить свое и чужое время, если компания не может вас перевезти. Оффер не гарантирует получение визы, и его могут отозвать, даже если вы уже подписали контракт.
Есть проблема с получением визы в Польшу, и вероятно в другие страны Восточной Европы. В Западной Европе никому нет дела откуда вы. Пакет документов для рабочей визы было собрать проще, чем для Шенгена в 2023 году.
Часто компании с российскими корнями сами предлагают релокацию в Грузию, Сербию или Армению. Получить там оффер и перехать можно быстрее, чем в Европу.
Что бы я делала сейчас?
- Начинать подготовку заранее. Составить план по подготовке и не брать на себя дополнительные умственные нагрузки на это время
- Поставить цели и сроки, переодически с ними сверяться
- Найти ментора, пройти несколько мок интервью
- Понять и решить в своем темпе типовые Leetcode задачи, например, по списку Blind 75. После этого можно решать задачи, которые встречаются в компаниях, куда вы хотите попасть. Для дисциплины и мотивации решайте Leetcode вместе с бадди.
- Взять отпуск на период основных собеседований
- Не забывать о других сферах жизни, планировать отдых и спорт
Не сомневаюсь, что классную работу можно найти и без всего этого. Думаю это зависит от везения, нетворка и вашей квалификации.
Сейчас мало вакансий в отрытом доступе, работу ищут через нетворк или закрытые IT сообщества. Появилось много менторов, которые помогают с поиском работы (ну или я начала их замечать).
Для достижения результата на конкурентном рынке нужно прикладывать больше усилий.
Что думаете, я усложняю или это современные реалии?
Поздравляю с нахождением работы, тем более в продукте. В Польше да, сейчас ситуация сложная, знакомые по году ищут работу имея гражданство. У меня совершенно дурацкий вопрос зачем начинающему специалисту системдизайн (тем более на интервью), может я чего не знаю.
Поздравляю!
Если не секрет, оффер-то нормальный?
Удачи в релокации, вступай в Вастрик.чаты соответствующей географии и готовься к незабываемым приключениям!
Поздравляю с оффером! 👏
Очень плюсую про реалистичное планирование, отдых, и взять отпуск на время собеседований. Когда искал работу с релокацией думал "да просто поднапрягусь немножко", через пару месяцев обнаружил себя посреди ночи в коридоре, смотрящим в стену и плачущим. Не надо так.
(через два года психотерапии все стало снова хорошо)
Честно говоря, я недоумеваю, что где-то ещё спрашивают LeetCode — ежу понятно, что ничего общего с работой у представленных там задач нет.
Почему-то именно у лондонских рекрутеров это прямо классика, почти в каждом процессе довольно быстро следует звонок на мобильный
спасибо за пост! правильно ли я понял, что у вас не было "промышленного" опыта в Go, вы его как-то самостоятельно изучали (в том числе алгоритмы решали на нём) и теперь используете его на этой новой работе?
update: дочитал до конца, уже не актуально, но всё-таки удивительно как это возможно собеседовать человека на senior go вообще без этого опыта :)
и ещё может я чего-то не понимаю, но то что такое соотвествие происходило не раз, возможно говорит всё-таки о дефиците специалистов, но при этом и дефицит зарплатных бюджетов тоже никуда не девается
@vlktna
Поздравляю с оффером! Сижу и думаю написать пост про поиск работы от лица junior/new grad разработчика в Европе (450 заявок за 9 месяцев)
Прикольный пост, хотел сказать, что задачки у интервьюверов одинаковые не потому что они ленивые, а потому что если всем кандидатам задавать одни и те же задачи, то их легко между собой сравнивать – и сразу в сравнении видно, где кто сильнее, а где нет.
Но, конечно, задачки стоит обновлять каждые пару месяцев или под каждый новый поток вакансий.
И, конечно, то что чувак стащил из одной компании в другую весь скрипт интервью - это прикол :-D
Самый главный мучающий меня вопрос: как найти мотивацию на всё это?
У меня стек Java тоже.
Честно пытался, но кроме литкодной задачи раз в день (которую при этом часто решаю только "в лоб", а для хитрого метода повторяю чужое решение) и отклика на входящий поток (пока безуспешный) ничего не получается. На переделку CV под каждую вакансию не хватает сил. В итоге с лета 2023 по текущее время вышел только на два оффера российских компаний (от российских было чуть больше двух, но в остальных жесткие ограничения на локацию. А в какие-то, где ограничений нет, меня не взяли), в которых легально или из-под полы могу работать из-за границы. В Аргентине, в которой находился более года, при этом больше полугода с постоянной резиденцией с правом на работу, дальше HR и одного техсобеса дело не пошло, и не очень-то и есть смысл (деняк мало, код коллеги пишут хреновый). Собесился на местную зарплату, чего-то сверхъестественного не просил.
Супер! Поздравляю!!!