[Otus] Android Developer. Professional [Антон Казаков]

195

Что даст вам этот курс

Курс рассчитан на Android-разработчиков с опытом работы от 1 года, со знанием Java или Kotlin.

Вы научитесь:
Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных.
Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования.
Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода.
Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов.
Использовать современные библиотеки и фреймворки. На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.

Сравнение с Базовым курсом Android
Глубокое погружение в промышленную Android-разработку
Весь курс построен на языке Kotlin
Много практики и живого общения с преподавателями
Глубокое изучение Gradle, Dagger 2, RxJava 2, а также процесса тестирования Android-приложений
Выстраивание инфраструктуры «с нуля»
Проектирование архитектуры приложений

Необходимые знания:
— Опыт разработки под Android от 1 года
— Знание Java Core или Kotlin
— Знакомство с системой контроля версий git
— Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components
— Опыт работы с сетью и хранилищами данных в Android
— Понимание принципов RESTful API

Выпускной проект

На протяжении всего курса вы будете работать над собственным проектом. Это будет тонкий клиент к какому-либо сервису с публичным API.
Основной упор будет сделан на качество кода, архитектуру проекта, покрытие тестами, безопасность, красивый и аккуратный дизайн, разбиение на модули (по фичам либо по слоям), процесс сборки на CI и доставке apk.

Например, вы можете использовать следующие API для курсового проекта:
— API YouTube или другого видеосервиса — тогда в его приложении будет подключен ExoPlayer, помимо вышеописанных критериев основной упор будет сделан на воспроизведение видео, сохранение стейта видео и тп.
— API Ethereal-price или любой другой сервис, который мониторит информацию по курсам криптовалюты. Тогда упор будет сделан на кастомные вью с графиками, их скорость и интерактивность.
— API Imgur или любой другой фоторедактор (клон инстаграмма). В этом случае, упор будет сделан на скорость работы, удобство использования инструментов и т.д.

Плюсы такого подхода:
— Вы сразу будете видеть конечную цель курса
— По прохождению курса у вас будет готов проект в GitHub с commit history, который можно упомянуть в резюме

Последний месяц курса посвящен доработке проекта, который вы разрабатывали в течении курса, и консультациям с преподавателем. Вы сможете реализовать недостающие фичи, дописать UI тесты и т.д.

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

Продолжительность: 65:28:47
Длительность обучения: 5 месяцев

Преподователи
Антон Казаков — Руководитель направления Android-разработки в Альфа Банк.
Окончил магистратуру Казанского авиационного института по специальности «Радиотехника и телекоммуникации».
В Android-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».
На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.
Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.