Как мы делали Зимнюю Стажировку по iOS- и Android-разработке в Redmadrobot

    Привет, Хабр! Пришло время отчитаться о второй стажировке для разработчиков, которую мы завершили в конце марта. Если в прошлый раз, летом, программа была ориентирована на ребят уровня intern и junior, то на этот раз мы взяли планку выше и собрали стажеров junior и middle. Было круто, но постараться пришлось всем, и нам, и (в особенности) стажерам :)


    Superman firmach о файловой структуре проекта

    Отбор


    Система отбора хорошо зарекомендовала себя на прошлой стажировке, поэтому существенно мы ее не меняли: анкетирование на первом этапе и технический тест на втором. Нам поступило более двухсот заявок, 60 человек получили тестовые вопросы, в итоге была сформирована группа из 14 стажеров — 7 iOS, 7 Android. До конца дошли все, а 5 человек теперь работают в нашей команде.

    Немного хардкора


    В связи с тем, что слушатели были действительно подготовленные, мы провели серьезную чистку плана лекций и семинарских занятий. И в итоге получилось хардкорнее, чем в прошлый раз.
    Занятия проходили в московском офисе Redmadrobot трижды в неделю: по вторникам — общие лекции для обеих платформ, а в четверг и пятницу отдельные семинары в iOS- и Android-группах, непосредственно связанные с темами общих лекцией. За 8 недель мы успели рассмотреть принципы проектирования, работу с базами данных, разработку фреймворков и библиотек, UX и UI, взаимодействие и коммуникацию в команде. Традиционно о простых и базовых вещах не говорили, а старались поделиться тем, что сложно или нельзя найти в интернете.

    image
    Артур Сахаров ( mc_murphy ), технический директор Redmadrobot
    “От некоторых ребят были запросы в духе “А расскажите про реактивное программирование на Java и на Swift”. Это сейчас модно, но мы решили ничего не рассказывать про React. Хочешь его изучить — иди в интернет, читай статьи. По этой же причине мы убрали лекции по Apple Watch — эту тему тоже при желании можно изучить с нуля самостоятельно. Мы сфокусировались на нашем собственном опыте, о котором могут рассказать только разработчики Redmadrobot. Безопасность, взлом приложений, как мы разрабатываем архитектуру, какие “грабли” могут быть при работе над интерфейсом и так далее”.


    Чай, пряники, iOS и Android

    Реальный проект


    Мы взяли официальное API нашего клиента, компании “АльфаСтрахование”. Стажеры работали над различными сценариями и экранами в этом проекте, пользовались тем же самым сервером.

    Работа над ошибками


    image
    Егор Тафланиди ( BepTep ), архитектор Redmadrobot
    “В целом, что касается iOS, мы шире раскрыли те технологии, с которыми сами работаем в компании. Открыли собственные наработки — все библиотеки, которые касались как бизнес-логики, так и построения интерфейсов. Рассказали о best practices. В прошлый раз мы тоже это делали, но не настолько глубоко.”


    Это архитектурный дизайн, детка

    Мы постарались принять во внимание фидбэк, который получили от ребят на прошлой стажировке. Основные претензии тогда касались домашних заданий: многочасовых проверок в индивидуальном порядке и того, что сами задания (их было 7 разных) не всегда напрямую коррелировали с лекционным материалом. Во-первых, мы организовали проверку в группах. Например, в четверг в одной аудитории идет семинар у iOS, а в это время в другой аудитории проходит разбор домашнего задания у Android-группы, а в пятницу наоборот. И главное — теперь все задания у нас были увязаны в единый проект. Поэтому тот, кто по какой-то причине пропустил или недоработал в середине стажировки, наверстывал с трудом, а некоторые так и не успели доделать проект. На старте мы предупреждали, что для прохождения стажировки нужно быть готовым уделять подготовке 20-25 часов в неделю. Оказалось, к этому были готовы не все :)

    image
    Максим Ефимов ( MaximEfimov ), руководитель группы Android-разработки Redmadrobot
    “Я бы сказал, что стажировка была более интенсивная. Мы давали более сложные задания в соответствии с уровнем подготовки ребят. Надо отдать им должное, многие работали буквально на износ, были даже такие, кто уволился с работы, чтобы успевать готовиться. Мы шире раскрыли вопросы безопасности, меньше уделяли времени дизайну и UI.”

    Стажеры


    Аудитория была активная и отзывчивая. Ребята практически с первых дней стажировки организовали общий чат в Telegram (а также отдельно по iOS и по Android), через который общались и оперативно решали возникавшие вопросы. Но были в этом и негативные моменты, например, списывание :) Когда кто-то один делал ошибку, те, у кого не было собственного твердого мнения, повторяли ее, предпочитая принять общественную точку зрения.

    image
    Нина Дмитриева, iOS-разработчик
    “Стажировка очень понравилась, положительных моментов было намного больше, чем отрицательных. Если говорить честно — я была в восторге, получила все, что хотела.
    Из общих лекций очень понравился блок про архитектурный дизайн. Многое из того, о чем шла речь, я уже знала, но лекции систематизировали имеющиеся знания и дополняли их новыми. Еще клевая лекция была по базам данных. Программисты часто пользуются базами данных, но обычно каким-то небольшим кусочком, и остального не знают. Нам прочитали большую лекцию, которая затрагивает все аспекты, даже разные клевые мелочи, о которых я не подозревала. Если бы раньше передо мной встала какая-то задача — например, геометрические индексы — я бы, наверное, писала что-то свое. Успели затронуть даже временную сложность структур: когда лучше массивы, когда словари и так далее. Был хороший семинар по безопасности: как защититься при связи с сервером, как защитить само приложение, чтобы к нему не подключились извне, не посмотрели данные или банально не скопировали пароли. И еще понравилось занятие по UI и верстке. Если говорить о минусах, то хотелось бы еще больше «хинтовых» вещей — например, как справиться с какими-нибудь багами Apple, например, в плане той же верстки. Когда сталкиваешься с чем-то подобным во время работы, порой приходится гуглить по полдня. В “Роботе” же ребята с основной массой таких вещей уже сталкивались, и этот опыт всегда очень ценный, так как мог бы сэкономить другим кучу времени. Единственное, что было не очень полезно — лекция про дизайн”.


    image
    Сергей Зароченцев, Android-разработчик
    “Понравились лекции по Android-безопасности, раньше никогда об этом не задумывался.
    Здорово было, что в рамках стажировки мы работали не над кучей мелких проектов, а над одним большим. Это заставляло более внимательно относиться к архитектуре, расширению кода, рефакторингу.
    Ребята часто рассказывали о реальном опыте, кроме того, можно было задавать вопросы и получать на них ответы.
    Хотелось бы еще больше дополнительного времени на вопросы”.


    image
    Владислав Шипугин, Android-разработчик
    “Интересными и полезными в принципе были все лекции, хотя встречались, конечно, и кое-какие банальные вещи, известные любому хорошему программисту. Особенно я бы выделили лекции по архитектуре, по JMM для Android и по безопасности — об этом точно не каждый программист подумает, тем более начинающий. Обычно они откладываются на потом, либо вообще никогда не вспоминаются, а это вызывает большие проблемы в дальнейшей работе.
    Приходилось уделять очень много времени выполнению домашних заданий, и это получалось не у всех. Некоторые не справлялись и просто забивали. Лично мне пришлось отложить в сторону институт и уволиться с работы, чтобы успешно завершить стажировку, о чем я не жалею — я же здесь! На проекте мы поковырялись и с базами данных, и с безопасностью, вплоть до стеганографии. Это было интересно”!


    Что в итоге


    Мы постарались, чтобы вторая стажировка стала лучше и интереснее первой. Максимальный акцент был сделан на передачу стажерам такого опыта, который они не смогли бы получить самостоятельно и изучить в открытых источниках. И на этот раз ребята на протяжении всей стажировки работали над самым что ни на есть настоящим боевым проектом. Как уже говорилось выше, некоторые хотели, чтобы мы уделяли больше внимания ответам на вопросы и разбору кода, поэтому самые старательные стажеры получили сертификаты на Code Review в Redmadrobot, а пятеро лучших усилили нашу команду. Ну и все мы поели пиццу :) Зимняя стажировка точно не последняя — следите за анонсами в блоге.
    Метки:
    Redmadrobot 96,61
    №1 в разработке мобильных решений для бизнеса
    Поделиться публикацией
    Комментарии 15
    • 0
      Как-то у iOS тусовки все гламурненько. Это точно программисты?
      • 0
        Точно, просто для фото специально поменяли растянутые свитера на клетчатые рубашки ;)
      • 0
        Какие области знаний охватывал экзаменационный проект ( если такой был), то есть что должны были знать стажеры после прохождения стажировки? UI: sizeClasses, layoutguide, presentation controllers… DataBase: CoreData, Realm. Design patterns: MVC, MVP, MVVM?
      • 0
        В Спб не планируете стажировки проводить? :)
        • 0
          Пока не планируем: стажировка требует больших затрат времени команды, а в Питере у нас пока меньше разработчиков, чем в Москве. Нам же и работу нужно успевать делать в перерывах между занятиями :)
          • 0
            Можно пару разработчиков из Московского офиса командировать провести стажировку здесь, быстрее бы схантили людей в питерскую команду :)
        • 0
          «От некоторых ребят были запросы в духе “А расскажите про реактивное программирование на Java и на Swift”. Это сейчас модно, но мы решили ничего не рассказывать про React.»
          … потому что не знаем, что React не про реактивное программирование?
          • 0
            Имеются в виду расширения RxJava и RxSwift.
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              Виталий, при отборе стажеров мы каждого просматриваем с технарями и гуглим. Играют роль опыт, компетенции, возраст, сфера занятости. Так как кандидатов больше, чем мест, мы рассматриваем всех не в вакууме, но и относительно других претендентов.
            • 0
              [мимо]
              • 0

                А будете ли публиковать видео или хотя бы слайды с тезисами?

                • 0
                  Не планируем. По нашему мнению основная ценность стажировки в проектах, заданиях, домашней работе и дискуссиях с менторами. Без всего этого толку в слайдах немного, лучше почитать статьи и книги по тому плану, который мы анонсировали. Еще есть всякие видео с выступлений роботов на конференциях.
                • –5
                  «Мы сфокусировались на нашем собственном опыте, о котором могут рассказать только разработчики Redmadrobot.»

                  Смотрите map: focus -> концентрироваться. По-английски говорим focus, по-русски «концентрироваться». Фокусироваться в русском языке умеют оптические приборы, а люди нет.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое