Scala-разработчик
27 сентября
5 месяцев
Онлайн
Пн/Ср 20:00 Мск
Для кого этот курс?
Курс рассчитан на Java-разработчиков с опытом работы от 1 года либо для программистов с опытом работы на другом языке от трёх лет, знакомых с синтаксисом веб-приложений.Необходимые знания
- опыт разработки на Java от года и опыт разработки на других языках от 3 лет;
- опыт работы с БД (SQL или NoSQL).
Будет плюсом
- умение работать с CompletableFuture/Promise, Optional/Maybe, библиотекой коллекций: для Java — Stream API, для C# — LINQ, для Rust — коллекции в Rust, для любого другого ЯП необходимо понимание, что такое flatMap (или аналогичная операция в соответствующем ЯП);
- опыт работы с REST и json.

Что вам даст этот курс?
Углубленный курс по Scala, в котором вы получите практические знания в популярных технологиях Scala, подходах функционального программирования и познакомитесь с самыми мощными Scala-библиотеками.
Вы научитесь:
- Использовать Scala-стек технологий для создания веб-сервисов
- Применять приемы функционального программирования в SOLID-приложениях
- Создавать приложения на основе функционального подхода на примере ZIO
- Проектировать микросервисы с использованием CQRS/ES на основе Akka
- Создавать модульные тесты на основе инвариантов свойств (property-based tests)
Почему стоит учиться на курсе:
курс по Scala разработан специалистами с глубокими знаниями и опытом в этой области, что гарантирует высокий уровень обучения.
Процесс обучения
Трудоустройство
- Карьерные мероприятия в сообществе
Публичный разбор резюме
Публичное прохождение собеседования и воркшопы - Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Работодатели курса
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда
Практика
Домашние задания + проектная работа, которая усилит ваше портфолио
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате
Программа
Cинтаксические конструкции Scala, асинхронность
В данном модуле будут рассмотрены следующие темы: - Введение в Scala - Основные языковые конструкции, синтаксис - Знакомство с функциональными особенностями языка Scala - Библиотека коллекций - Асинхронность силами стандартной библиотеки (Scala Future)
Тема 1: Обзор языковых конструкций. Интерфейсы, классы, методы
Тема 2: Обзор языковых конструкций. Интерфейсы, классы, методы. Часть 2
Тема 3: Функциональные конструкции языка scala
Тема 4: Алгебраические типы данных и сопоставление с образцом
Тема 5: Библиотека коллекций
Тема 6: Библиотека коллекций. Часть 2
Тема 7: Асинхронные операции, обработка исключений, неявные параметры
Тема 8: Асинхронные операции, обработка исключений, неявные параметры. Часть 2
Advanced Scala concepts, знакомство с концепциями функционального программирования
В данном модуле будут рассмотрены следующие темы: - Продвинутые возможности языка Scala - Типы высшего порядка - Scala implicits и type class паттерн - Начинаем знакомство с FP экосистемой Scala на примере библиотеки cats - Рассматрим основные структуры данных и type classes
Тема 1: Higher kind types, implicits, type classes. Часть 1
Тема 2: Higher kind types, implicits, type classes. Часть 2
Тема 3: Обзор нового синтаксиса Scala 3
Тема 4: Абстрагирования контекстной информации в Scala 3
Тема 5: Сats core, data types and type classes
Функциональное программирование и эффекты в Scala. Подробное знакомство с ZIO и Cats effect
В данном модуле будут рассмотрены следующие темы: - Функциональное программирование на Scala с «эффектами» - Введем понятие функционального эффекта - Познакомимся с принципами функционального дизайна для некой предметной области - Рассмотрим такие библиотеки, как ZIO и Cats effect.
Тема 1: Введение в функциональные эффекты
Тема 2: ZIO эффект, конструкторы, базовые операции
Тема 3: ZIO модель ошибок
Тема 4: ZIO асинхронность и паралеллизм
Тема 5: ZIO работа с ресурсами
Тема 6: ZIO Environment и его место в DI
Тема 7: ZIO ZLayer, ZIO сервисы, тестирование ZIO программ
Тема 8: ZIO дополнительные типы данных
Тема 9: Cats effects: ведение, основные типы данных
Тема 10: Cats effects: работа с ресурсами
Тема 11: Cats effects: конкурентность
Scala библиотеки fs2 и http4s. Работа с БД
В данном модуле будут рассмотрены следующие темы: - Популярные библиотеки из FP экосистемы Scala - Web + Доступ к БД - Функциональные стримы на примере FS2 - Работа с http с помощью http4s - Реализация взаимодействия с БД JDBC, Scalike, Slick
Тема 1: Функциональные стримы на примере fs2
Тема 2: Введение в http4s + DSL
Тема 3: http4s middleware + аутентификация
Тема 4: http4s стриминг + работа с JSON
Тема 5: Доступ к БД
Akka и CQRS/ES с использованием Akka
В данном модуле будут рассмотрены следующие темы: - Модель акторов и ее реализация на Scala - Библиотека Akka - Событийные архитектуры - Паттерн с разделения команд и запросов (CQRS)
Тема 1: Акка
Тема 2: Akka акторы
Тема 3: Обработка потоков данных
Тема 4: Событие как основной тип данных в системе
Тема 5: Разделение команд и запросов
Тема 6: Query часть CQRS
Тема 7: ES в кластере
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
За время обучения вы разработаете отказоустойчивый, масштабируемый веб-сервис на Scala: REST API + Back End + базы данных.
На первом этапе — классическое SOLID-приложение в 5 классов и хранением данных в памяти.
Средний уровень — приложение с FP-подходом (ZIO), расширенной функциональностью, простой схемой в SQL-базе данных.
Итоговая версия — микросервисы с отказоустойчивостью, ES на основе Akka Persistence, CQRS для сложных запросов.
Преподаватели
Алексей Воронец
Руководитель разработки в направлении "Решения в образовании" в компании NAUMEN. Опыт профессиональной разработки 14 лет. Последние 9 лет — это Scala. До этого были Java, JavaScript, когда-то знал PHP. Работал в разных странах и в разных командах. География: Беларусь, Франция, Россия Имеет опыт проектной и продуктовой разработки в B2B и B2C сегментах. Участвовал в проектировании, разработке и запуске различных проектов для Минобрнауки, Сколково, Росатома, крупных федеральных вузов. Проектировал, разрабатывал и запускал платформу RUSSIA.STUDY Сфера интересов: Scala, функциональное программирование, архитектура приложений.
Преподает на курсах
- Scala-разработчик
- Scala Developer для СЦР
Валентин Шилин
Deutsche Telekom IT GmbH
Старший программист/аналитик данных
Более 15 лет программирования на С++, С#, JavaScript, Python, Scala, Java. Эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera. Проекты: - автоматизация документооборота для скандинавских стран в составе команды Aditro (10-15 человек); - автоматизация метеорадарной станции (программно-аппаратный комплекс управления метеорадаром MRL5) для активного воздействия на погоду (Болгария- Аргентина) (20 человек); - различные проекты от стартапов до крупных химических предприятий (Eurofins) в Германии с составом команды от 3 до 50 человек. Текущий проект: обработка сверхбольших данных DSL-метрик и прогнозирование потенциальных проблем на линиях связи в Deutsche Telekom. Образование: Прикладная математика и физика, СПбГУ ПM-ПУ Otus Certified Educator
Преподает на курсах
- Scala-разработчик
- Spark Developer
- Apache Kafka
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса.

После обучения:
- заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, а также решение задач и проектов в виде кода на GitHub и другие дополнительные материалы;
- приобретете опыт enterprise-разработки на Scala;
- получите сертификат о прохождении курса.
Scala-разработчик
Стоимость в рассрочку
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно