Наставники и авторы:
- Влад Мишустин
- Михаил Ключанский
- Инна Мишустина
- Николай Цыпандин
- Павел Пахомкин
- Светлана Емельянчик
Буткeмп - это интенсивный формат обучения через усердную работу над проектом в команде. Главная цель — дать каждому участнику максимально приближенный к реальному опыт, чтобы на работе ты чувствовал себя в своей тарелке и получал респект от коллег. Мы адаптировали практики разработки из BigTech-компаний, внедрили передовые инструменты разработки из индустрии и организовали работу по гибкой методологии Scrum. Чтобы для этой работы хватило знаний, мы предлагаем лекции, Q&A-сессии и воркшопы, а также постоянную поддержку техлидов в чате.
О профессии
Позиция Java-разработчика — это прежде всего возможность обеспечить себя и своих близких финансово, работая из любой точки мира над прорывными IT-проектами, используя востребованные технологии веб-индустрии бок о бок с крутейшими специалистами со всего мира.
Java — самый популярный язык в веб-индустрии для бэкенд-разработки. Для Java существует самая большая коллекций готовых решений и библиотек. Вокруг Java образовалось самое крупное IT-сообщество. Java — это безопасность, ООП и платформонезависимость.
Буткемп подойдёт тебе, если:
- Ты знаешь Java Core и основы SQL, либо владеешь другим языком программирования
- Готов вкладывать 15-25 часов в неделю на обучение, как на part-time работе
- Хочешь прокачать навыки работы в команде, а не только научиться писать код в одиночку
- Готов много гуглить, ошибаться, задавать вопросы и просить помощи
- Хочешь научиться профессиональной веб-разработке
БЛОК 1. ONBOARDING + JAVA CORE & SQL
Ты познакомишься со всеми инструментами, которыми будешь активно пользоваться в следующие месяцы: GitHub, Jira, Miro и нашей платформой, конечно.
После этого пора освежить твои знания по Java Core, вспомнить основы SQL, а также пойти чуть дальше и рассмотреть транзакции и индексы. Ты научишься работать с Git и писать первые Unit-тесты.
Затем идёт разделение на команды. Ты узнаешь про культуру эффективной работы, а также про лидерские принципы.
После этого пора освежить твои знания по Java Core, вспомнить основы SQL, а также пойти чуть дальше и рассмотреть транзакции и индексы. Ты научишься работать с Git и писать первые Unit-тесты.
Затем идёт разделение на команды. Ты узнаешь про культуру эффективной работы, а также про лидерские принципы.
- Знакомство с экосистемой студента, с инструментами и платформой
- Организация командной работы
- Лидерские принципы
- Настройка локального окружения
- Основы Git и работа с ним через Intellij IDnjEA
- Бейсик Java
- Бейсик SQL
- Основы Unit-тестирования
БЛОК 2. ADVANCED JAVA
БЛОК 6. ПОДГОТОВКА К ИНТЕРВЬЮ
Модуль расскажет о продвинутых концепциях Java и SQL. Материалы поданы понятным языком, поэтому ты легко сможешь узнать и обсудить концепты Java 8 и многопоточности. В современном мире ни одно приложение уже не обходится без многопоточности, поэтому знание о ней критически важно для разработчика. А Stream API, после появления в Java 8, бьёт все рекорды по вопросам на собеседованиях. Также, эти важнейшие темы тебе пригодятся в реализации фич проекта в будущих модулях!
БЛОК 3. WEB & SPRING BOOT
- Java 8: функциональные интерфейсы и лямбды
- Java 8: коллекции, Stream API, Optiona
- SQL: Indexes, transactions, transactions isolation
- Multithreading: Parallelism, Thread
- Multithreading: Asynchronysm, Future, Completable future
- Multithreading: synchronyzation, wait/notify
- Multithreading: Volatile, immutable classes, deadlock, concurrency package
Spring Framework — самый популярный фреймворк для web-разработки на Java. Здесь ты начнёшь с его основ. Узнаешь про бины, DI, IoS, а затем перейдёшь к более сложным темам, постепенно добираясь и до Advanced-возможностей, таких, как асинхронное выполнение задач и выполнение задач по расписанию. Все темы, от простых к сложным, объяснены на простейших жизненных примерах, так, что вся магия становится понятной. Ты решишь множество проектных задач разных уровней сложности, полностью погрузившись в Spring.
В этом модуле начинается проектная разработка — каждая команда напишет свою версию приложения. Каждый спринт ты будешь получать новые задачи, постепенно наращивая функционал своего приложения. Приложение разрастётся, появятся микросервисы, и настанет время реализовать крупные фичи:
БЛОК 4. TEST AND DEPLOY
В этом модуле начинается проектная разработка — каждая команда напишет свою версию приложения. Каждый спринт ты будешь получать новые задачи, постепенно наращивая функционал своего приложения. Приложение разрастётся, появятся микросервисы, и настанет время реализовать крупные фичи:
- Web: HTTP, Cookies, JSON, REST endpoints, Session
- Spring core: IoC, Beans, Dependency Injection, Configuration Spring core: Components annotations, Autowiring, Scopes, Bean Lifecycle
- Spring Web: Controller, RequestMapping, ResponseBody, RequestBody, RequestParam, Postman Spring Web: REST API, Validation, ExceptionHandler, HttpServletRequest, HttpServletResponse, MultipartFile
- Spring Advanced: @Scheduled, @Async, @EventListener, event-driven architecture
- Продвинутое Unit-тестирование
Кроме написания кода, разработки фич и интеграции, разработчик должен готовить приложение к деплою, работать с CI/CD, и, конечно же, покрыть свой код Unit-тестами! Ты узнаешь про интеграционное тестирование — лишним не будет. Напишешь свои пайплайны, настроишь оценку покрытия кода тестами, а ещё прокачаешь софт скиллы, рассказывая команде о только что прикрученных инструментах.
БЛОК 5. PERSISTENCE
- Unit testing: JUnit & Mockito
- Integration testing: Spring & Test containers
- Docker
- CI/CD Jenkins
- Cloud
Огромные приложения, такие как YouTube и Twitter, собирают просто нереальные массивы данных о пользователях. Все данные обязательно подлежат хранению, поэтому ты узнаешь о лучших из возможных вариантов практики работы с данными. Hibernate ORM и его назначение, кэширование данных, а ещё NoSQL базы данных — зачем, как и в каких случаях их стоит использовать.
- Ты детально разберёшься с транзакциями, уровнями их изоляции и ещё о многом другом! Тренировки пройдут на задачах банковской инфраструктуры, чтобы явно увидеть необходимость безопасного хранения данных — ведь никто не хочет терять деньги. Локи, гонки, переотправки — всё это здесь. Ну, а дальше, конечно, ещё немного kill features.
- SQL good practices, Liquibase
- Hibernate session, First/Second level cache, Spring @Cacheable
- @Transactional, Isolation, Propagation, Spring proxies
- HQL, Lazy fetch, N+1 problem
- NoSQL introduction: Redis, Mongo, Cassandra, Elastic
БЛОК 6. ПОДГОТОВКА К ИНТЕРВЬЮ
С написанным проектом уже смело можно пройти интервью. Однако, помимо проекта, процесс собеседования включает в себя сильное CV, проверку базовых навыков решения возникающих проблем и передовых методов коммуникации. Именно поэтому ты сможешь изучить мощнейший блог подготовки к интервью. Узнаешь очень много аспектов: первое общение с HR, лучшие практики на собеседованиях, грамотное составление CV, собеседования на английском, и, конечно, просто огромный блок по алгоритмам!
- Собеседование с рекрутером: как произвести впечатление
- Общие практики собеседований: как быть захватывающим персонажем в беседе
- Общие практики собеседований: борьба с нервами и терпимость к ошибкам
- CV: как оформить круто, если нет опыта
- Хаки для поиска вакансий и привлечения внимания рекрутеров
- Как проходить собеседование на английском
- Algo: сложность алгоритмов
- Popular algorithms: Two pointers, Recursion, DFS, BFS
- Popular algorithms: Binary search, Sorting, Hare-Tortoise
- Popular algorithms: Data structures usage
- Data structures: List, LinkedList, Map, Set
- Data structures: Stack, Queue, Heap
- Data structures: Binary tree, Binary Search Tree, Graph
БЛОК 1. ONBOARDING + JAVA CORE & SQL
Ты познакомишься со всеми инструментами, которыми будешь активно пользоваться в следующие месяцы: GitHub, Jira, Miro и нашей платформой, конечно.
После этого пора освежить твои знания по Java Core, вспомнить основы SQL, а также пойти чуть дальше и рассмотреть транзакции и индексы. Ты научишься работать с Git и писать первые Unit-тесты.
Затем идёт разделение на команды. Ты узнаешь про культуру эффективной работы, а также про лидерские принципы.
После этого пора освежить твои знания по Java Core, вспомнить основы SQL, а также пойти чуть дальше и рассмотреть транзакции и индексы. Ты научишься работать с Git и писать первые Unit-тесты.
Затем идёт разделение на команды. Ты узнаешь про культуру эффективной работы, а также про лидерские принципы.
- Знакомство с экосистемой студента, с инструментами и платформой
- Организация командной работы
- Лидерские принципы
- Настройка локального окружения
- Основы Git и работа с ним через Intellij IDnjEA
- Бейсик Java
- Бейсик SQL
- Основы Unit-тестирования
https://www.faang.school/java-bootcamp