Senior Android Developer

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

Для кого этот курс:
- Android разработчики Junior и Middle позиций, которые хотят вырасти до следующей профессиональной ступени и выполнять больше творческой и ответственной работы.
- Для тех, кто хочет претендовать на участие в принятии технических и архитектурных решений по продукту в своей компании.

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

Какие самые важные области прохождение курса позволит подтянуть студенту?
- Умение вести диалог с бизнесом
- Навки управления командой
- Продуктовое видение
- Тестирование и документация

Длительность - 5 месяцев, из которых последний - проектная работа.

Проект: простое приложение, разрабатываемое группами по 3-4 человека. Тема приложения вторична, первичны подходы к разработке.
Программа обучения
Модуль 1
Организация разработки, снижение неопределенности
Модуль 2
Архитектура приложения
Модуль 3
Встраивание качества в код через автоматическое тестирование
Модуль 4
Особенности платформы, популярные технологии, фишки
Модуль 5
Разработка приложения с нуля
Организация разработки, снижение неопределенности
Развитие навыков организации разработки, коммуникаций с командой, формализации и декомпозиции требований.
Оценить модуль
0
0
Квалификации и скиллы разработчика
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Определять уровни квалификации разработчика.
2. Систематизировать свои скиллы и скиллы команды.
3. Выбирать полезные скиллы для применения в своем проекте с минимальным риском снижения скорости разработки и качества продукта.
Оценить занятие
0
0
Формализация и корректировка требований бизнеса
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Выявлять контекст и потребность, заложенные в запросе на фичу.
2. Выявлять конфликт требований бизнеса с ограничениями платформы и предлагать варианты его решения.
3. Формализовать требования бизнеса.
Оценить занятие
0
0
Декомпозиция задач, оценка и планирование разработки
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Использовать различные подходы и методики декомпозиции задач.
2. Выбирать наиболее подходящий для проекта подход и методику декомпозиции задач.
3. Использовать способы пессимистичной и оптимистичной временной оценки с учетом применяемых скиллов разработчика.
4. Определять временные рамки разработки для озвучивания их "бизнесу".
Оценить занятие
0
0
Контрактное программирование: диалог со смежными командами
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Достигать соглашения по программным контрактам взаимодействия со смежными командами с учетом платформенных ограничений с обеих сторон.
2. Снижать уровень неопределенности во взаимодействиях со смежными подразделениями с целью недопущения нежелательных побочных эффектов в работе системы.
Оценить занятие
0
0
Технические долги и рефакторинг, время для его проведения
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Выявлять и классифицировать технические долги в разработке.
2. Находить горячие точки задолженностей.
3. Сознательно закладывать технические долги в разработке с минимальными негативными последствиями.
4. Планировать выплату технических долгов.
Оценить занятие
0
0
Новшества и инициатива в разработке, проактивная разработка
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Выделять время специально для обзора и анализа новшеств.
2. Анализировать и определять пользу и вред новшеств для проекта в целом.
3. Планировать внедрение новшеств с минимальным ущербом для проекта.
Оценить занятие
0
0
Работа в команде, парное программирование, программирование толпой
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Планировать разработку с учётом скиллов разработчиков.
2. Планировать разработку парным программированием
3. Планировать разработку программированием толпой
Оценить занятие
0
0
Организация git-flow, code review, CI/CD
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Организовывать и вести разработку по git-flow.
2. Проводить приемку кода (code review) по наиболее эффективному сценарию.
3. Понимать назначение CI и CD, и организовать CI и DI в соответствии с требованиями проекта.
Оценить занятие
1
0
Архитектура приложения
Развитие, углубление и отработка архитектурных навыков в разработке.
Оценить модуль
1
0
Принципы ООП и ФП, их ключевые особенности
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Создавать классы и интерфейсы, налаживать взаимосвязи между ними согласно принципам ООП.
2. Создавать и комбинировать функции согласно принципам ФП.
Оценить занятие
0
0
Принципы ООД: SOLID, IoC, DI
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Создавать классы и интерфейсы(контракты) с учетом принципов SOLID.
2. Создавать структуру пакетов проекта согласно принципам гранулированности и зависимости
3. Реализовывать IoC через Service Locator и DI.
Оценить занятие
1
0
Порождающие шаблоны проектирования и их применение
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Реализовывать порождающие шаблоны проектирования.
2. Определять их применимость к конкретным задачам.
Оценить занятие
1
0
Структурные шаблоны проектирования и их применение
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Реализовывать структурные шаблоны проектирования.
2. Определять их применимость к конкретным задачам.
Оценить занятие
1
0
Поведенческие шаблоны проектирования и их применение ч1
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Реализовывать поведенческие шаблоны проектирования.
2. Определять их применимость к конкретным задачам.
Оценить занятие
1
0
Поведенческие шаблоны проектирования и их применение ч2
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Реализовывать поведенческие шаблоны проектирования.
2. Определять их применимость к конкретным задачам.
Оценить занятие
1
0
Выделение слоев абстракций, чистая архитектура, архитектура UI
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Проектировать архитектуру приложения с учетом специфики платформы.
2. Выделять слои абстракции в приложении.
3. Выбирать структуру пакетов, удобную для поддержки и пере-использования.
Оценить занятие
2
0
"Запахи" кода, приемы архитектурного рефакторинга
Важно! С приложенными материалами необходимо ознакомиться до вебинара!

После занятия вы сможете:
1. Выявлять и классифицировать "запахи" кода.
2. Выбирать и применять методики рефакторинга в соответствии с проблемой и задачами кода.
Оценить занятие
1
0
Встраивание качества в код через автоматическое тестирование
Усвоение методик встраивания качества в продукт через различные виды автоматического тестирования
Оценить модуль
1
0
Цели тестирования, виды тестов, выделение сценариев из задач
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
0
0
Классические юнит-тесты, jUnit
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Поведенческие юнит-тесты, Mockito
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Инструментальные юнит-тесты, Robolectric
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Интеграционные и UI тесты, Espresso
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Интегрированная документация и спецификация, комментарии в коде
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
0
0
Практическое занятие: парное программирование
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Практическое занятие: программирование толпой
Важно! С приложенными материалами необходимо ознакомиться до вебинара!
Оценить занятие
1
0
Особенности платформы, популярные технологии, фишки
Углубление в особенности платформы и обзор популярных технологий в контексте изученного. Фишки и приёмы оптимизации.
Оценить модуль
1
0
Углубление в ЖЦ Application, Service, Activity, Fragmet, BroadcastReceiver, AlarmManager
Адаптация к DozeMode и др. ограничениям, накладываемым в последних версиях Android
Процессы и потоки в приложении, Looper, MessageQueue, способы переключения потоков
Работа с сетью (Http(s)URLConnection, Voley, Cronet, OkHttp, Retrofit, Websocket, Stomp, SyncAdapter)
Архитектурные компоненты для построения UI, ViewModel, LiveData, DataBinding. Обзор исторических альтернатив (Moxy, Mosby, Conductor и др.)
Хранение данных, Bundle, SharedPreference, SQLite, ROOM, ObjectBox и др. ORM
RxJava как транспорт данных и его место в архитектуре. Ручной DI и DI на основе Dagger
Алгоритмы и структуры данных. Оптимизация памяти и нагрузки на вычислительные мощности устройства
Разработка приложения с нуля
Разработка групповых проектов по 3-5 человек с применением и отработкой всех умений, полученных на курсе.
Оценить модуль
1
0
Опрос по программе "SENIOR ANDROID DEVELOPER"

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

Вопрос №1 из 7
Ваше имя и фамилия
Вопрос №2 из 7
Выберите один вариант ответа
Вам понятно, о чем этот курс?
оцените от 1 (не понял) до 5 (да, все ясно)
Вопрос №3 из 7
Выберите один вариант ответа
Является ли этот курс интересным лично для вас?
оцените от 1 (совсем не интересно) до 5 (круто, интересно, я бы пошел)
Вопрос №4 из 7
Выберите один вариант ответа
Как вы думаете, будет ли этот курс востребован на рынке?
оцените от 1 (совсем не интересно) до 5 (да, думаю, людям понравится)
Вопрос №5 из 7
Выберите один вариант ответа
Как вы оцениваете актуальность такой программы?
оцените от 1 (категорически устарела) до 5 (современная или даже на хайпе)
Вопрос №6 из 7
Выберите один вариант ответа
Можно ли реализовать в рамках курса предложенные идеи проекта?
оцените от 1 (не сработает, идея нерабочая) до 5 (да, проект получится отличный и полезный)
Вопрос №7 из 7
Комментарии и предложения - мы всегда им рады!