Школа мобильной разработки приглашает молодых специалистов с опытом разработки на объектно-ориентированных языках программирования. Для обучения нужно иметь базовые знания алгоритмов и владеть Java. Знание других языков будет плюсом.

В Школе обучают разработке продуктов под Android. Занятия ведут разработчики Яндекса. Программа обучения включает теорию и практику. В этом году практических заданий будет даже больше, чем обычно. Занятия проходят в московском офисе Яндекса. Студентам из других стран и городов мы оплачиваем дорогу и проживание.

Как поступить

Вы должны создать мобильное приложение-галерею — задание описано на этой странице чуть ниже. На это у вас есть месяц — нужно закончить до 6 мая. Пожалуйста, регистрируйтесь на школу уже после того, как сделаете это задание. Приступайте к заполнению анкеты, приготовив ссылки на GitHub-репозиторий с кодом приложения и на apk-файл. Анкета закроется 6 мая в 23:59 по московскому времени.

После отправки анкеты вы получите приглашение в систему Яндекс.Контест — там можно будет сделать небольшое задание по алгоритмам. Оно необязательное, но высокая оценка за задание повысит ваши шансы на поступление. Это займёт всего два часа, но откладывать не стоит — задание будет доступно до 14 мая.

Тех, кто хорошо себя покажет, мы позовём на финальный этап отбора — это скайп-собеседование. Поговорим про мобильную разработку и ожидания от школы. О результатах отбора мы сообщим до 5 июня. Если у вас возникнут вопросы — пишите на mobileschool@yandex-team.ru

Задание

Необходимо создать приложение для Android на языке Java или Kotlin, обладающее следующей минимальной функциональностью:

  • На стартовом экране отображается лента картинок, разделённая на несколько столбцов. Есть возможность прокрутки.
  • По нажатию на картинку она открывается в новом окне, во весь экран.
  • Ленту картинок приложение получает по сети из любого открытого источника (например, через API Яндекс.Диска)

Чтобы вам было легче, мы подготовили иллюстрации с примерным видом экранов приложения:

Будет нелишним уделить внимание:

  • отсутствию падений и непредусмотренного поведения приложения при выполнении базовых действий;
  • понятности интерфейса – чтобы перед использованием приложения не приходилось читать инструкции;
  • общей плавности и отзывчивости интерфейса;
  • комментариям в коде;
  • обработке ошибок;
  • кэшированию (например, можно научить приложение сохранять предыдущий ответ сервера);
  • тестам.

Другие полезные советы можно найти в нашей статье про типичные ошибки на Хабрахабре.