Руководитель iOS-разработки роботов vani2 и ведущий iOS-разработчик firmach рассказали, какие хард- и софт-скиллы нужны для работы в Redmadrobot и других крупных компаниях на Live Stream c Contented. Для тех, кто пропустил или предпочитает буквы, записали самое ценное.
Какие хард-скиллы нужны iOS-разработчику, чтобы устроится джуниором?
Ваня: Под хард-скиллами подразумеваются навыки для выполнения конкретной работы как разработчика: знание языков программирования и алгоритмов, принципов работы операционной системы. В нашем понимании джуниор в мобильной разработке под iOS — это человек с минимальными знаниями платформы и языка Swift. Если у человека уже есть коммерческий опыт разработки приложений, то это уже, вероятно, будет мидл-разработчик.
Рома: Мы собирали программу для курса «iOS-разработчик» исходя из навыков, которые понадобятся для трудоустройства. Мы хотели дать человеку знания, с которыми он сможет собрать действующее приложение, пройти собеседование и попасть в компанию. Это навыки разработки интерфейса, создание простой анимации, работа с сетью, получением и отображением данных, представление о шифровании данных.
А софт-скиллы?
Ваня: В компаниях от сотрудника помимо хард-скилов требуется иметь хорошую устную и письменную коммуникацию. Так же нужно стараться быть проактивным: нельзя выполняя задачу сидеть на месте, ждать, когда что-то произойдет, все тебе объяснит и расскажет. Нужно критически мыслить о приложении, которые ты разрабатываешь, даже когда от вас этого не требуют. Надо относиться к приложению, как к своему собственному проекту.
На собеседовании мы, конечно, в первую очередь смотрим на хард-скиллы. Но какой смысл брать крутого программиста, с плохо развитыми софт-скиллами? С ним просто не сработается остальная команда и проект может уйти не туда, куда этого хочет команда.
Рома: Мы ждем проактивных людей, которые следят за индустрией и трендами, каждый год просматривают WWDC. Надо понимать, что Redmadrobot изначально были дизайн-студией, а направление разработки появилось позже. Поэтому нам нравится, когда наши разработчики тоже что-то понимают в дизайне и не лишены вкуса.
Как проходит собеседование, и какое тестовое задание вы даете разработчикам?
Рома: Пять лет назад, когда я устраивался в Redmadrobot, мне дали задание сделать Instagram. Тогда там, конечно, не было масок и Stories. Я сделал приложение с похожим функционалом: фотографиями, комментариями, лайками. В принципе, сейчас мы ожидаем, что мидл-разработчик может сделать что-то подобное.
Сейчас у нас нет тестового, кандидаты проходят несколько этапов устных собеседований. Мы задаем вопросы, чтобы выяснить, готов ли кандидат к работе.
Ваня: Мы смотрим, как человек будет вести себя в стрессовых ситуациях. Когда кандидат рассказывает о предыдущем опыте работы, задачах, которые он решал, мы спрашиваем, что бы он делал, если бы на эту задачу у него был всего один день. Мы смотрим, сумел бы он передоговориться с менеджерами и командой, изменить сроки или вид задачи.
Что делать со сложными вопросами на собеседовании?
Ваня: Не стоит расстраиваться, если вы не прошли собеседование. Вы можете знать 80 процентов, а спрашивать будут про остальные 20. Но даже если вы не ответите на половину вопросов, компания может взять вас на работу. Многие специально задают сложные вопросы, чтобы понять, как вы будете рассуждать и искать решение.
Рома: Я попал на работу к роботам со второго раза. Сначала пытался попасть в компанию, когда у меня еще вообще не было опыта iOS-разработки, потом немного подучился и пришел снова.
Ваня: Я тоже попал на работу только со второго раза. Я пару месяцев изучал iOS-разработку самостоятельно, поработал над проектом вместе с друзьями и попытался устроиться джуниором, но тогда требовались только мидлы. Через год я дотянулся до мидл-уровня, и меня взяли.
Как строится работа в команде?
Ваня: Команда роботов состоит из менеджера, разработчика, дизайнера и аналитика. В зависимости от проекта подключаются разные разработчики: iOS, Android, Backend.
Когда мы понимаем, какое приложение нам нужно, начинается подготовительная часть: аналитики собирают всю необходимую информацию, дизайнеры делают прототип и детализируют его, затем вступают разработчики.
Мы работаем по AGILE: берем какое-то количество задач, оцениваем их, работаем над ними в течение пары недель, а затем делаем предварительную сборку приложения, тестируем, исправляем дефекты и делаем релиз в App Store. Потом берем новые задачи и спринт повторяется.
Рома: Часто мы ориентируемся на рабочий процесс заказчика. У них могут быть свои сроки, например, спринты могут занимать не пару недель, а месяц. Или иногда команда может работать из офиса заказчика.
Можно ли после обучения на курсе «iOS-разработчик» устроиться на работу в Redmadrobot?
Ваня: Я проверяю работы студентов, которые сейчас учатся на курсе, и могу с уверенностью сказать, что они полноценные джуниор-разработчики. Как правило, мы не можем позволить себе брать джуниоров на работу, но у нас есть зимние стажировки, куда мы потенциально можем их принять. А уже после стажировки есть все шансы попасть в нашу команду.
А как попасть на зимнюю стажировку?
Ваня: В этом году у нас, вероятно, будет уже пятая зимняя стажировка. Сначала мы собираем заявки от ребят. Максимальный набор — 10 стажеров на платформу, а заявок, как правило, около 200 на платформу.
В первом туре мы делим всех на три группы:
- Опытные
- Без опыта
- С небольшим коммерческим опытом, с собственным проектом или фрилансом
Для первых двух групп наша стажировка не подойдет. Опытные и сами могут все узнать без стажировки. А людям без опыта будет слишком сложно. Зачем нам полтора-два месяца давать им базу, которую можно изучить самостоятельно или на нашем онлайн-курсе.
Мы отсеиваем неподходящих, и на втором туре остается уже 30-50 человек. Мы задаем оставшимся ребятам более подробные вопросы: просим показать работы, узнаем, чем они интересуются, был ли опыт командной работы. Часть людей сливается на этом этапе.
В итоге на стажировку попадают совершенно разные люди — от мидлов с годовым опытом коммерческой разработки до джуниоров с проектом только на GitHub. Чтобы попасть к нам в команду важен даже не опыт, а то, как человек старается, насколько он быстро учится.
Какие-то люди отваливаются по ходу стажировки. В итоге из 10 человек примерно трое остаются у нас в команде.
Какие знания нужны, чтобы начать учиться на онлайн-курсе?
Рома: Мы делали курс для людей, которые учатся или учились в техническом вузе и имеют хоть какое-то представление о разработке. Если писали что-нибудь на Basic в институте, то у вас получится пройти этот курс.
Ваня: Желательно, чтобы вы умели программировать на минимальном уровне.
Запись LIVE STREAM «Какие скиллы нужны для успешной работы iOS-разработчика»