Получить первую работу ох как непросто. Даже если вы усердно занимались, прошли все уровни обучения на JavaRush, перешерстили десяток тематических книг и знаете весь Java Core от и до, вы не застрахованы от того, что рекрутер не поверит в ваше резюме. Просто потому, что эти ребята хотят видеть в команде людей с реальным практическим опытом.
Что же теперь делать? Как преодолеть ситуацию «чтобы получить опыт, нужен опыт»? Все не так плохо: «хакнуть» систему можно! Причем легально, без нарушения законов и общественных норм или лжи.
Есть несколько способов это сделать, один из них — пройти обновленную стажировку JavaRush (Стажировку JavaRush 2.0). На ней вы:
- освоите все технологии, которые IT-компании ожидают увидеть в вашем резюме;
- напишете 8 крутых проектов для вашего GitHub портфолио;
- пройдете усиленную подготовку по поиску первой работы в IT.
Что такое стажировка JavaRush
По сути, стажировка JavaRush и есть самая настоящая работа программистом, только обучающая. Наполненность и уровень проектов, которые вы напишете, можно смело приравнять к работе стажером, интерном, и даже джуном в реальной компании.
По формату она все-таки ближе к комфортному обучению, чем к хардкорной работе: онлайн-занятия с ментором дважды в неделю, домашние задания, написание проектов под присмотром наставника.
Набор на стажировку проводится раз в месяц. Вы можете присоединиться к ней в любой момент: для этого нужно только пройти 30 уровней основного курса JavaRush.
Что вы изучите
Все, что поможет вам стать востребованным разработчиком. Работу с инструментами для тестирования (JUnit), сборки Java-проектов (Maven), сервлеты, контейнеры сервлетов (Tomcat). Пул web-технологий, необходимых для backend- и fullstack-разработчиков. Работу с базами данных (MySQL), их создание, проектирование и т.д.; использование Hibernate, JDBC. Фреймворки Spring и Spring Boot.
Кроме того, вы прокачаете софт-скиллы, работая над проектами в группах и с ментором. А еще – узнаете, как подготовиться к поиску работы и получить крутой оффер.
Какие проекты появятся в вашем GitHub портфолио
- Десктопная 2D-игра. Вы создадите исполняемый JAR-файл с игрой на JavaFX через графический движок от JavaRush.
- Админпанель для управления MMO-игрой. Вы поработаете над созданием UI для CRUD бэкенда, используя HTML, CSS, JS, jQuery.
- Игра “Крестики-нолики”. Проект, который вы напишете, используя сервлеты и JSP.
- Текстовый квест. Maven проект, в котором вы поработаете с сервлетами, jsp, jstl, а также Tomcat.
- Проект на Hibernate. Вы напишете альтернативную реализацию слоя репозитория с использованием Hibernate.
- Проект по работе с базами данных + Hibernate. Вы поработаете с разными технологиями (MySQL, Hibernate, Redis, Docker) в рамках проекта по оптимизации работы с запросами к реляционной БД MySQL.
- To-do list. Вы разработаете программу — список задач, в котором можно просматривать задачи, добавлять новые, редактировать и удалять существующие. В этом проекте используются Maven, MySQL, Hibernate, Spring, Spring MVC, Thymeleaf.docker.
- JiraRush — доска задач. Это финальный проект по разработке доски задач, по аналогии с Jira или Trello. Готовый продукт поможет отслеживать любую активность — от ведения проекта до передачи списка покупок.
Используемые технологии:
- Spring Boot
- Spring JPA
- Hibernate
- PostgreSQL
- Liquibase (система управления версиями БД, в основном ее структурой)
- Spring Security
- Spring MVC
- Thymeleaf
- jQuery
- Swagger (документирование API)
- Caffeine (кэш)
- Lombok
- Mapstruct (мапперы для преобразования между entity & DTO)
- Spring Test
- JUnit
Это относительно большой, работающий проект, который отличается от предыдущих. Его не нужно писать с нуля: вы будете вносить изменения в код, добавлять новый функционал, настраивать инфраструктуру. Именно с таким видом задач вы будете, в основном, сталкиваться на будущей работе.
План занятий на стажировке
МОДУЛЬ “JAVA PROFESSIONAL”
- Сборка мусора и типы ссылок в Java.
- Паттерны проектирования.
- Методологии разработки.
- Основы Maven. Установка Maven, управление зависимостями, виды Maven-репозиториев, сборка Java-проекта.
- Работа с Guava, Apache Commons Collections.
- Работа с JUnit.
- Mockito.
- Логирование.
- Как устроена сеть. Сетевая модель.
- Архитектура ПО. Клиент-серверная архитектура и ее составляющие, трехуровневая архитектура, архитектурные шаблоны.
- Протоколы HTTP/HTTPS. Протокол передачи данных, HTTP-запросы и ответы, отличия HTTP и HTTPS, Cookies, Session.
- HTTP Client.
- Сервлеты, Java Servlet API.
- Контейнеры сервлетов: Tomcat, развертывание приложения, настройка сервера.
- Знакомство с MVC (Model-View-Controller). JSP.
- Знакомство с веб-сервисами.
МОДУЛЬ “БАЗЫ ДАННЫХ. HIBERNATE”
- Введение в базы данных. Установка СУБД (MySQL). DDL, DML.
- Типы данных. Создание таблицы. Написание INSERT, SELECT, UPDATE, DELETE.
- Выбор данных.
- Транзакции БД.
- Проектирование баз данных.
- Работа с JDBC.
- ORM. Hibernate.
- Hibernate. Отношения ONETO, MANYTO, и т. д.
- Наследование Entity For ORM.
МОДУЛЬ “Spring + Spring Boot”
- IOC, DI. Spring. Components. Beans.
- Основы модулей Spring. Spring Web MVC.
- Проектирование REST API.
- App Controller-Service-DAO.
- Spring ORM. @Transaction.
- Spring Test. AOP (Loging).
- Spring Security (Memory, DB).
- Spring Boot. Spring JPA.
Бонус: видеокурс о трудоустройстве в IT + live-консультация с HR-экспертом
По окончании стажировки каждый участник может посетить онлайн-вебинар с HR-экспертом JavaRush, чтобы получить рекомендации по улучшению своего резюме.
Кроме этого, для вас открывается доступ к новому онлайн-курсу по тому, как найти работу в IT и построить успешную карьеру в разработке.
Автор курса: Андрей Латышев, Java Software Engineer с огромным опытом в разработке и менторинге по Java и карьерному развитию.
Содержание видеокурса
- Поиск вакансий. Инструменты и платформы для поиска работы. Как определить свою ценность. План действий при поиске работы.
- Как составить резюме. Стиль, основные компоненты, типичные ошибки новичка.
- Сопроводительное письмо. Структура и подготовка.
- LinkedIn. Как заполнить профиль, расширить сеть контактов, откликаться на вакансии.
- GitHub. Как оформить профиль и описать ваши проекты.
- Разбор разных этапов собеседования. Как подготовиться и чего ожидать от intro-звонка с HR, тестового задания или live-кодинга, team culture интервью, интервью с менеджером, оффера.
- Разбор “практики” интервью в топ-компаниях. Как проходят собеседования в Google.
- Чеклист по подготовке к собеседованиям.
Как попасть на стажировку
Все просто: нужно пройти онлайн-курс JavaRush до 30 уровня и оставить заявку на участие в стажировке. В отличие от предыдущего формата онлайн-стажировки, вам не нужно выполнять тестовое задание — приходите “с тем, что есть”, чтобы за несколько месяцев стать готовым “Strong Junior” Java-разработчиком.
После того, как мы обработаем вашу заявку, с вами свяжется менеджер JavaRush и ответит на любые вопросы, а также расскажет, когда вы сможете приступить к стажировке.
Как проходит стажировка
Стажировка состоит из трех модулей, каждый из которых включает занятия с ментором, домашнюю работу (теория + практика) и написание серьезных проектов для портфолио.
Онлайн-занятия с ментором – опытным Java-разработчиком – проходят два раза в неделю, по полтора часа. Кроме того, вы можете общаться с ментором, кураторами проекта и другими “стажерами” в закрытом чате в Slack.
Ментор делает индивидуальный разбор каждого итогового проекта и дает подробные рекомендации по улучшению. Можете считать, что это ваш Senior-коллега/наставник на первой работе — только стресса гораздо меньше, а пользы от взаимодействия — столько же.
Что говорят об онлайн-стажировке ее участники
Мне очень нравится, что в любой момент можно обратиться за помощью к ментору – в личных сообщениях или в общем чате, – и таким образом найти нужные ответы.
Первые проекты поначалу казались мне сложными. Но у нас были факультативные занятия: нам не давали готовое решение, а постепенно направляли ход мыслей в правильное русло. Мы обсуждали структуру проекта, важные моменты, и это помогло понять, с чего нужно начать работу и на что обратить внимание.
Ни в школе, ни в университете мне не было так интересно, как на JavaRush. У нас в группе был очень активный чат: мы много общались, обсуждали темы, уточняли нюансы. Безусловно, менторы помогали нам, давали дополнительные задания для особо желающих.
Параллельно я написал свой проект – телеграм-бот на Spring. Окончание стажировки уже скоро, так что я готовлюсь к поиску работы: составляю резюме, добавляю рекрутеров в LinkedIn. Скоро начну рассылать резюме.