ГОТОВОЕ РУКОВОДСТВО
1. Какие технологии учить, чтобы уверенно проходить тех.собеседования?
Кажется, что для уверенного прохождения собеседований нужно выучить невероятное количество материала, чтобы уверенно отвечать на любые вопросы интервьюера. Но это не так.

Я взял 30 вакансий на HH.ru на разные уровни и выписал технологии, которые встречались почти во всех из них:

- Java 11+
- Spring: Boot, WebMVC, Data
- Базы данных: Hibernate, SQL, PostgreSQL
- Многопоточность
- Микросервисы
- HTTP и REST
- Kafka
- Контейнеризация: Docker, Kubernetes, OpenShift

Вспомогательные технологии, которые обычно не указывают в вакансиях, но они обязательны:

- Gradle или Maven
- Git
- основы Linux

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

При этом, данный стек актуален вплоть да senior уровня.
2. Какие материалы изучать для развития hard скиллов до уровня middle+?
По каждой из этих технологий надо найти соответствующий курс и проходить его внимательно, составлять подробный конспект и пробовать все примеры самостоятельно, лучше всего в работе, но на крайний случай на pet-проекте
Многопоточность
Сложная тема, которую следует учить начиная с самых основ, рекомендую книгу Java Concurrency in Practice, которая поможет понять как потоки взаимодействуют друг с другом и какие есть инструменты для работы с потоками в Java

Для того чтобы понять как полученные знания применить на практике, я написал статью на habr - ссылка*, куда собрал все основные паттерны применения многопоточности на коммерческом проекте
Kafka
При использовании kafka важно понимать принцип ее работы, рекомендую ознакомиться с одним из лучших видео на youtube по этой теме - ссылка*, из него вы поймете что такое broker, topic, partition, как kafka хранит сообщения и обеспечивает отказоустойчивость
SQL и PostgreSQL
Задачник SQL - ссылка*, поможет набить руку в написании SQL запросов, но не рекомендую погружаться слишком сильно, т.к. зачастую задачи требуют нестандартных запросов, которые редко применяются на практике

Для изучения специфики работы PostgreSQL рекомендую знакомиться напрямую с документацией, прежде всего со статьями:


Сама команда PostgreSQL рекомендует следующую литературу - ссылка*
Hibernate
Кране рекомендую книгу High-Performance Java Persistence, от автора Vlad Mihalcea, где разбираются важнейшие детали работы Hibernate, даются практические рекомендации и подходы

Также данный автор ведет блог - ссылка*, на основе которого и была написана книга
Spring Boot
Множество открытых курсов на Youtube, в особенности англоязычных. Spring Boot большой и постоянно развивается, его следует изучать всё время и в разных проявлениях.

Рекомендую искать курсы, где сначала вам показывают на примере как разрабатываются web-приложения с использованием Spring Boot, затем погружаться в детали конкретных библиотек (webmvc, data, cloud)

В этом помогут замечательные ролики Евгения Борисова на Youtube, каждый из которых можно пересматривать по несколько раз

Из литературы могу посоветовать книгу Pro Spring Boot 3 (автор Felipe Gutierrez)
Микросервисы
Начинающим разработчикам рекомендую прочитать книгу Microservices with Spring Boot 3, автор Magnus Larsson, она даст вам понимание из каких кирпичиков строится микросервисная архитектура
Алгоритмы
Алгоритмы редко пригождаются в работе и чаще нужны при прохождении собеседований

Начать стоит с книги Грокаем Алгоритмы, в ней объясняются базовые алгоритмы, такие как "бинарный поиск", "сортировка", "рекурсия"

Лучший ресурс для тренировки - LeetCode ссылка*, рекомендую решать в основном easy задачи, изредка medium, потому что они чаще всего попадаются на алгоритмической секции
Docker и Kubernetes
Глубокие знания по docker не требуются, лучше знакомиться через небольшие курсы на Youtube, например - ссылка*

От того же автора можете посмотреть ролик по docker compose - ссылка*
По kubernetes рекомендую бесплатный курс - ссылка*

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

Чем дальше вы учитесь, тем больше времени проводите в документациях к библиотекам, чем за просмотром обучающих курсов и чтением статей
Статьи
Помимо просмотра курсов и чтения книг, по любой теме следует искать статьи, основные ресурсы:

Чем дальше вы учитесь, тем больше времени проводите в документациях к библиотекам, чем за просмотром обучающих курсов и чтением статей
✅Обязательно нужно смотреть javadoc'и библиотек и разбираться в их коде, если выполняешь какой-то вызов внешней библиотеки, будь то kafka, spring, hibernate или что угодно другое, то постарайся разобраться в реализации.

Обучение по книгам самое медленное, но при этом самое глубокое

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

Но вот ты просмотрел несколько курсов, прочитал пару книг, написал пет-проекты, применил знания в работе. Теперь нужно выйти на рынок, а для этого важно правильно составить резюме.
3. Как составлять резюме?
Чтобы твое резюме не пропустили сразу, указывай общие сведения:

  • имя и фамилию

  • контакты, чтобы с вами могли связаться любым способом (телефон, почта, telegram, whatsapp)

  • если публикуешь фото, то оно должно быть деловым или с работы, неформальные фото лучше не ставить

Общие рекомендации:

  • оформляй резюме так, чтобы его было легко читать, не должно быть стены текста

  • не пиши ожидаемую зарплату - если она будет слишком высокая, резюме не будет рассмотрено, если же зарплата ниже верхней границы вилки (например просишь 250 на позицию, где можно получить 350), то тебе предложат ровно столько, сколько было указано в резюме

  • указывай только самые полезные для работы навыки, тех что я перечислил ранее будет достаточно для большинства вакансий
Пример заполнения навыков:
Также есть ряд навыков, которые показывают тебя как более опытного разработчика, при этом знакомство с ними не займет много времени, к таким относятся:

  • ELK
  • Prometheus / Grafana
  • Jaeger
  • Jmeter
  • CD / CD инструменты
Как описывать предыдущий опыт:

  • предыдущий опыт нужно описывать как можно более конкретно

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

  • если обучал новых сотрудников на проекте, то напиши об этом

  • если у тебя были выступления, то укажи их (хотя бы перед командой). Это показывает твою увлеченность работой
Пример заполнения “Опыта работы”:
В разделе “О себе” можно писать:

  • что готов брать на себя ответственность за выполнение задач и доведение их до конца, это крайне важно, поскольку когда работодатель нанимает сотрудника, он хочет избавиться от какой-то своей боли, найти того, кто возьмет на себя ответственность и будет справляться самостоятельно

  • про свою внерабочую активность в IT - прочитанные книги, возможно pet-проекты, opensource, статьи, сертификаты и др.

  • твои увлечения - если они совпадут с увлечениями интервьюера, то это создаст положительное впечатление
Пример заполнения “О себе”:
❌Не пиши “заезженных” фраз, вроде “Готов браться за интересные задачи”, это только отпугнет HR.
4. КРАСНЫЕ ФЛАГИ в резюме
HR могут за один день прочитать по 100 резюме, при таком объеме они перестают читать весь текст, и начинают обращать внимание на самые важные детали: редфлаги, навыки, опыт.

После первичного отбора сотрудниками HR, твое резюме попадает Lead’у, и может просматриваться более внимательно

Кажется, что этот фильтр крайне сложно пройти.

Но я видел очень поверхностные резюме, где было написано буквально 5 предложений, но они пропускались HR'ом и Lead'ом, после чего люди попадали на собеседование

Почему так происходило?

Потому что компании понимают, что не все люди умеют составлять резюме, а хороших специалистов на рынке мало, их надо искать среди всех, и начинают смотреть только на редфлаги.
ПримерЫ КРАСНЫХ ФЛАГОВ:
1. Флаги HR’ов:

  • возраст - если указан меньше 20 лет, то такое резюме даже не рассмотрят, и зачастую ищут даже более взрослых кандидатов, отталкиваясь от того, что опытный разработчик должен окончить ВУЗ и 2-3 года работать по профессии

  • количество лет опыта - резюме с опытом менее одного года не рассматривают даже на позицию джуна, начиная примерно с 2-х лет опыта, количество вакансий заметно увеличивается, тем у кого есть 3 года опыта открыты практически все пути

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

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

  • наличие профильного высшего образования - актуально для государственных компаний, например РЖД

  • низкая ожидаемая зарплата - если ты указываешь ожидаемую зарплату в 120 т.р., то ты себя довольно низко оцениваешь и создается впечатление, что у тебя очень мало реального опыта
2. Флаги Lead’ов:

  • джуновский опыт - если в резюме написано “фиксил баги” или “писал контроллеры”, то значит тебе приходилось заниматься очень поверхностными задачами на проекте, и ты не сможешь работать самостоятельно, без помощи со стороны других разработчиков

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

  • несуществующие компании - иногда при накрутке опыта кандидаты указывают несуществующие компании, если это будет замечено, то такое резюме сразу попадет в черный список

  • список навыков - Lead по-другому смотрит на список навыков, если среди них большое количество “странных” технологий (устаревших или слишком джуновских), это может стать препятствием

  • частые смены работы - поиск подходящего разработчика иногда длится полгода, затем погружение нового разработчика в проект занимает до 3-х месяцев, при таких затратах работодателю просто невыгодно нанимать того, кто уволится раньше чем через год работы, поэтому при наличии в резюме 2х и более мест, где ты отработал менее года, может стать красным флагом

  • онлайн школы / фриланс / пет-проекты - если указать их в качестве прошлых мест работы, то данный опыт приравнивается к нулю, поскольку не считается коммерческим

  • часовой пояс - например, в Новосибирске часовой пояс отличается от московского на 4 часа, таким разработчикам будет крайне тяжело принимать участие в релизах, которые проводятся после 18:00 по МС
3. Служба безопасности:

  • Есть судимости

  • Отсутствие военного билета у мужчин

  • Есть ИП / статус самозанятого - может быть принципиально для крупных компаний, поскольку ты будешь являться их конкурентом
Прохождение собеседования - это уникальный навык, его необходимо тренировать отдельно от хард скиллов и софт скиллов

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

На технических собеседованиях задают несколько категорий вопросов, по которым интервьюер оценивает твой уровень:

- вопросы про предыдущий проект
- вопросы на знание технологий (hard-скиллы)
- примеры практических ситуаций и способы их решения

Давайте далее разберем показательный пример вопроса и как на него правильно отвечать, чтобы создать положительное впечатление у интервьюера:
Вопрос: «Чем вам приходилось заниматься на предыдущем проекте?»
❌Если кандидат начнет рассказывать, что в основном на проекте занимался написанием CRUD или целый год писал один микросервис, то это показывает в нем слабого специалиста.

✅Хороший ответ должен состоять из следующих частей:

- из каких микросервисов (или бизнес-сценариев в случае монолита) состоит ваш проект, сколько было микросервисов;

- кем использовались ваши сервисы, например:

- микросервис поиска по приложению - использовался клиентами;

- админка для управления feature toggle'ами использовалась сотрудниками;

- библиотека логгирования запросов - использовалась другими сервисами;

- в каком объеме с каждым из них приходилось работать - я обычно рассказываю, что работал со всеми микросервисами на проекте (их более 25 штук), несколько писал с нуля;

- опишите команду, сколько в ней было человек, какие в ней были роли;

- хорошо если скажете, что помогали писать аналитику;

- важно упомянуть рутинные, но обязательные активности: написание тестов и поддержание высокого тестового покрытия, проведение code review, деплой приложения;

- какие нагрузки были на ваши сервисы (сколько операций в секунду должны были выдерживать);

- участие в релизах.

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

Это лишь один из немногих вопросов, которые тебе задаст HR на собеседовании. Попытки самостоятельно освоить все навыки, составить сильное резюме и уверенно пройти собеседования часто занимают от года подготовки — времени и усилий уйдет очень много.
Какое самое понятное и простое решение я могу тебе предложить сейчас?
Частью моей работы являются персональные консультации и личное общение, где мы за 40-50 минут построим для тебя персональный план действий: от подбора стратегии по улучшению технических навыков до скрининга от меня, где я задам тебе вопросы из реальных собеседований, дам обратную связь по ним.

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

2. Мы определим, какие знания тебе надо подтянуть в первую очередь, покажу, как можно в условиях дефицита времени быстрее всего обучиться навыкам, которые будут требовать от тебя работодатели.

3. Расскажу, как создать за 1 час сильное портфолио, на которое будут откликаться крупные компании с офферами от 200.000 рублей

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

  • Подскажу, как правильно нужно отвечать на конкретные вопросы

  • Научу тебя проходить технические собеседования без стресса и нервов

  • Объясню, как нужно преподносить свой опыт работы и кейсы, чтобы HR буквально боролись за тебя и давали лучшие условия на рынке

5. Дам тебе пошаговый дальнейший план действий по тому, как в условиях отсутствия свободного времени обучиться всем необходимым навыкам и сразу получить оффер на позицию Middle+ разработчика
ГЛАВНЫЙ ВОПРОС - СКОЛЬКО ЭТО СТОИТ?
Обычно такие консультации проводятся минимум за 5.000 рублей.

Но для тех, кто дочитал эту статью до конца и готов работать, я провожу эти консультации бесплатно.

В течение следующих 24 часов у тебя есть возможность заполнить анкету и попасть на консультацию.

Заполни анкету, и я свяжусь с тобой, чтобы выбрать удобное время для консультации

Увидимся!
Также хочу поделиться опытом и результатами моих учеников, кто также тренировался правильно отвечать на вопросы интервьюера и развивал наиболее приоритетные технические навыки.
Кирилл @NEXTick1

Точка А: Базовые знания Java, нет опыта в прохождении собеседований, работа на заводе
Точка Б: Получил оффер на 220 тыс. рублей на руки

Дмитрий @dzimka

Точка А: Инженер в оптической сфере
Точка Б: Вышел на уровень Middle и получил оффер в Сбере на 7 тыс. руб./день

Илья @ilyapavIov

Точка А: Пробелы в знаниях по базам данных и многопоточности
Точка Б: Получил оффер в финтехе на позиции Senior, подняв ЗП с 330 до 470 тысяч рублей

Каждый из них добился результата благодаря четкому плану, проработке слабых сторон и правильной подготовке к собеседованиям.

Made on
Tilda