Профессия Android-разработчик
На рынке Android-разработки не хватает кадров
3 867 вакансий Android-разработчиков выставлено сейчас только на одном hh.ru.
300 000 ₽ одна из самых высоких зарплат. Вызвана борьбой компаний за свободных профессионалов.
4 месяца обучения достаточно, чтобы устроиться junior Android-разработчиком.
Почему Android-разработка?
- Увеличение спроса
Через приложения люди вызывают такси, покупают еду, общаются. Телефоном пользуются всё чаще, а значит, мобильные разработчики становятся ценнее. - Это нужно компаниям
Крупному и среднему бизнесу нужны специалисты для реализации проектов. Наша цель — сделать из вас как раз такого специалиста. - Векторы развития
Можно делать мобильные игры, можно —бизнес-приложения или полезные программы для тысяч людей.
Предвосхищая требования компаний
Сейчас самый подходящий момент совершить рывок в сферу программирования и получить новую профессию с привлекательными перспективами и гарантированной занятостью.
Вместе с партнером — HR-агентством по подбору IT-специалистов SymbioWay — мы проанализировали тысячи актуальных вакансий на hh.ru и создали программу, которая отвечает ожиданиям самых требовательных работодателей. Только актуальные знания и опыт.
Первые дипломные работы
Вы научитесь основам программирования с нуля с индивидуальным наставником, напишете код для реальных проектов.
И проекты уровня PRO
Второй уровень обучения разработке под Android-устройства. Рассмотрим все инструменты и библиотеки, с которыми сталкивается middle-разработчик.
Программа курса
21 тема, разработанная на основе требований работодателей методологами-практиками программирования.
Без «воды», только важная информация.
Блок 1
1. Введение в Android-разработку
- Знакомство. Программа курса. Постановка цели
- Установка ожиданий
- Будем изучать Android и Java параллельно. Одно без другого невозможно
- Какие-то базовые примеры на Java сначала будем рассматривать в виде консольных приложений, а потом применять полученные навыки в Android-приложении
- Введение в Android
- Смотрим программу, в которой происходит создание приложений, — Android Studio
- Из чего состоит приложение: Интерфейс (файл с разметкой) и Код (логика работы этого интерфейса)
- Про эмулятор: что и зачем, как создать
- Установка Android Studio и эмулятора
- Скринкасты установки на разные операционные системы
- Как решать проблемы с запуском эмулятора
- Как проверить, что у вас стоит все что нужно из SDK
- Где и для чего применяется Java
- Как выглядит программный код
- Цель: начать привыкать к коду, быть готовым к тому, что там всегда есть что-то непонятное — как новичку, так и опытному программисту
- Домашнее задание
- Разбираем готовый, но небольшой код, в котором нужно исправить что-то очень простое
2. Синтаксис языка
Цель: получить знания об основе Java
- Что вообще бывает в коде
- Переменные в Java
- Boolean, операторы сравнения и условные операторы
- Циклы
- Разбираем сложный код
- Домашнее задание
3. Основы Android
- Какие существуют компоненты приложения в Android
- широковещательный приемник
- контент-провайдер
- сервисы
- активности
- Что содержится в папке проекта приложения
- Коротко о Манифесте приложения (паспорт и зачем он нужен)
- Немного о файлах разметки (немного об XML, простые примеры с запуском на эмулятор)
- Немного об активностях (зачем они нужны и как работают)
- Связь активности с файлами (классами), несущими функционал чистой Java
- Немного о цикле жизни активности
- Домашнее задание
4. Объекты, классы и методы
- Понятие класса и объекта
- Метод, параметры, return
- Статические методы и переменные
- Константы и Enum
- Создание объектов и конструктор
- Инкапсуляция, геттеры и сеттеры
- Копирование объектов
- Внешние библиотеки классов
- Домашнее задание
5. Соединение интерфейса и кода
- Работа с графическим интерфейсом (тексты, кнопки, списки)
- Работа с графическим интерфейсом (группы представлений)
- Реакция на щелчок по кнопке (привязываем функционал через onClick)
- Немного об интентах
- Передача и получение данных через интенты
- Ресурсы и локализация (картинки, звуки, XML-файлы)
6. Числа, строки и даты
- Примитивы и объекты
- Типы чисел и преобразование
- Операции с числами
- Строки, символы и подстроки
- Конкатенация и сравнение строк
- Регулярные выражения
- Календарь и метка времени
7. Чаще всего используемые View
- Основы gradle и способы подключения jar-ников
- CardView
- Домашняя работа
8. RecyclerView
- RecyclerView – что такое, пример использования, пример адаптера с предопределенными тестовыми темами и данными из массива
- Написание собственных итемов для списка и написание более сложного адаптера с асинхронной загрузкой данных (список файлов)
- Домашняя работа
9. Fragment
- Fragment и backstack, сохранение состояния фрагмента
- Activity и навигация подробно, сохранение состояния
- Домашняя работа
10. Intent и Reciever
- Intent
- Reciever
- Домашняя работа
11. Сенсоры и GPS
- Android framework location
- API Location Services
- Обзор сенсоров
- Правильное использование сенсоров на примере акселерометра
- Домашняя работа
12. Хранилища данных
- Файлы
- Persistent settings
- SQLite
- ORMLite
- Домашняя работа
13. Тестирование и отладка
- Отладка
- Unit tests
- Instrumentation unit tests
- Домашняя работа
14. Анимация
- View animation
- Property animation
- Layout animation
- Activity and fragment transition animation
- Домашняя работа
15. Многопоточность
- О программных потоках (UI-поток), Thread + Handler
- AsyncTask
- Домашняя работа
16. Ресурсы
- Работа с изображениями
- Основные типы ресурсов
- Стили и Темы
- Домашняя работа
17. Зачем нужны сервисы
- Started Service, Bound Service, IntentService
- ContentProvider: загрузка и отображение контактов телефона
- Домашняя работа
18. Работа с сетью
- Определение наличия сети
- Настройка библиотеки RetroFit
- Домашняя работа
19. Web Apps
- О Web Apps и области их применения
- WebView
- Авторизация пользовательского интерфейса
- Домашняя работа
20. Agile: как строится процесс работы в современных компаниях
- Обзор процесса разработки приложений
- Scrum
- Kanban
- Test-driven development
- Continuous Integration u Continuous Delivery
- Дизайн. Работа с Figma для разработчика
21. Индивидуальная дипломная работа
- Выпускной работой первого уровня будет создание приложения для просмотра лекций Skillbox
- Экран каталога: список курсов
- Экран курсов, на которые записан
- Экран курса — описание, список видео, комментарии, материалы
- Сделать оповещения и возможность выбрать адрес на карте
- Дизайн будет разработан в соответствии с гайдлайнами Google Material Design
Блок 2
1. Интенсивная практика: командная дипломная работа
- У вас будет лидер-наставник Под его руководством вы в составе команды создадите приложение для интернет-магазина Black Star Wear. Фактически эта часть программы приравнивается к стажировке. Вам выдадут ТЗ и дизайн проекта. Все процессы, через которые вы пройдете — это максимально приближенный к боевым условиям опыт. Именно так создается коммерческое ПО в фирмах-работодателях
- 3 месяца работы в команде
- 5 человек в составе вашей группы
Блок 3
1. Знакомство с программой курса
- Знакомство с лектором
- Чему вы научитесь, закончив этот курс
- Длительность и формат обучения
- Как выполнять домашние задания
- Курсовая работа
2. Разработка приложения для мобильных устройств
- Организация проекта, наименование файлов и ресурсов, конфигурации
- Основные модули приложения и организация взаимодействия между ними
- Шаблоны модулей и компонентов
- Запуск приложений на симуляторах и устройствах
3. Инструменты разработки и командной работы
- Cреда разработки МП (Xcode, Android Studio, Eclipse, etc.)
- Отладка приложений
- Работа с кодом в команде: gitflow, pull request'ы и code review
4. Интеграции и сервисы
- Интеграция с backend и сторонними сервисами
- Highload-сервисы и как их потреблять
- Использование сторонних библиотек в приложении
- Запуск приложений на симуляторах и устройствах
5. Тестирование и отладка
- Ручное тестирование: смоук, регресс и отчеты
- Тестирование на стейдже и на бою
- Верификация обновлений приложения
6. Аналитика и локализация неисправностей
- Сбор ошибок и исключений
- Локализация и устранение неисправностей
- Продуктовая аналитика: просмотр активностей пользователя в разрезе продукта
7. База знаний и документация
- Code style и документация
- База знаний по продукту и каналы коммуникации
- Версионирование приложений
8. Управление разработкой
- Ведение задач в таск-менеджере
- Управление релизами и версиями
9. Распространение приложений для тестирования и на пользователей
- Распространение приложений на собственные устройства
- Ключи и сертификаты для публикации в сторы
- Как пройти review в сторах
- Continuous integration / continuous delivery: сборка, автотесты и дистрибуция
- Удаленное управление устройствами и установкой приложений с помощью MDM (Mobile device management) решений
10. Поддержка, доработки и оптимизация приложения
- Обратная связь в приложении (идентификация пользователей)
- A/B-тестирование
- Обеспечение безопасности приложения
- Оптимизация проблемных компонентов
- Вопросы лицензирования third-party библиотек
Бонус-модуль
Система контроля версий Git
- Версии программного кода
- Установка Git
- Индекс и частичные коммиты
- Сравнение версий
- Отмена изменений и откат версий
- Репозитории и коллективная работа
- Ветки — создание и управление
- Слияние и разрешение конфликтов
- Полезные инструменты
- Правила работы с Git
Какие инструменты вы изучите
- Android Studio
Интегрированная среда разработки для работы с платформой Android - JSON
Текстовый формат обмена данными, основанный на JavaScript - Android SDK
Cредство разработки мобильных приложений для Android - Realm
NoSQL база данных для Android, iOS, Xamarin и JavaScript - IntelliJ IDEA
Среда разработки ПО для многих языков программирования - RxSwift
Фреймворк, который позволяет «реактивно программировать» - Java Core
Фундаментальные основы языка Java
Как проходит обучение
Представьте, что вы снова попали в школу, только учитель работает с вами удаленно, знания даются на порядок круче, а ритм обучения не позволяет расслабиться.
- Изучаете тему
Материал разбит на короткие видеоуроки, чтобы не уставать и лучше усваивать информацию. - Делаете домашнее задание
Если не получается, можно задать вопрос в общем чате и получить обратную связь. - Общаетесь с наставником
Преподаватель разбирает ошибки, вы исправляете их и двигаетесь дальше. - Защищаете диплом и развиваете карьеру
По окончании программы обучения у вас будут готовое портфолио, прокачанное резюме и работа.
Ваше резюме после обучения
Ожидаемая зарплата от 120 000 рублей.
Ключевые навыки:
- Разработка приложений для Android
- Работа с API, в том числе социальных сетей
- Программирование анимаций
- Опыт проектирования клиент-серверных приложений
- Работа с реактивными библиотеками
- Работа с многопоточностью в приложениях
- Работа с API Google, «Яндекса» и других систем
- Умение ставить и соблюдать сроки
- Контроль версий (Git)
- Умение разбираться в чужом коде