Это создает проблемы для большинства IT рекрутеров. Большинство из них не имеют опыта, чтобы действительно сказать, подходит данный кандидат на вакансию или нет. Я имею в виду, что вы точно не хотите в итоге получить большую выборку не релевантных кандидатов, с которой вам нужно провести собеседование. Это приведет к часам технических собеседований, на которые у вашей ИТ-команды просто нет времени.
Что нужно знать, чтобы проверить навыки разработчика iOS?
Мы подготовили всю информацию, необходимую для эффективной проверки навыков IOS программистов. К концу статьи вы научитесь понимать техническую часть, сможете задать правильные вопросы, понять жаргон и расшифровать резюме
ит специалиста. Что наиболее важно, вы узнаете, какие тесты вы можете использовать для отбора кандидатов, чтобы на собеседование приглашали только лучшие. Но перед этим важно изучить основы.
1. Что такое iOS?
iOS - это операционная система, которую Apple разработала для работы своего вездесущего iPhone. Не только для лидерства на рынке телефонов, Apple использовала свою операционную систему для ряда других устройств, включая iPad, Apple Watch и Apple TV. Итак, если вы возьмете на работу разработчика iOS, он будет писать код под iOS? Не совсем так.
Когда вы говорите о IOS разработчике, вы на самом деле говорите о разработчике, который использует один или оба языка, проприетарных для iOS. Начиная с 2008 года Apple выпустила собственный проприетарный язык программирования Objective-C для использования в iOS. Четыре года назад к нему присоединился Swift. Хотя это единственные два языка, доступные для iOS, вы также можете использовать эти языки для разработки программного обеспечения для macOS. Но даже если их можно использовать в обеих операционных системах, в некоторых ключевых моментах они немного отличаются.
- Objective-C является рефлексивным, основанным на классах объектно - ориентированным.
- Swift - это мультипарадигмальный, протокольно-ориентированный, объектно - ориентированный, функциональный, императивный и блочно-структурированный.
Swift в значительной степени заимствовал свои общие языковые идеи из Objective-C вместе с JavaScript, Ruby и Python. Это также намного удобнее, чем Objective-C, в основном потому, что он безопасен по типу. Это означает, что стало проще начать изучать программирование для iOS и повысить безопасность и стабильность приложений.
Вы обнаружите, что, хотя существует ряд устаревших систем, использующих Objective-C, Swift в основном стал предпочтительным языком программирования для iOS. Кривая обучения по написанию безопасного кода без ошибок немного круче с Swift, чем с Objective-C. Тем не менее, как только разработчики овладевают Swift, писать безопасный, свободный от ошибок код становится проще, чем это было с Objective-C. Swift использует ту же среду выполнения и SDK, что и Objective-C. Это означает, что он полностью обратно совместим со всем технологическим стеком iOS, а также с новыми инструментами только для Swift.
2. Что важно знать рекрутеру об iOS
Среда iOS регулярно меняется. Обычно раз в год происходит крупное обновление, которое сообщает об используемых языках, а также о направлении развития. Обычно о них объявляют на WWDC или Всемирной конференции разработчиков. Это крупнейшее событие в мире для разработчиков iOS, и все новые технологии iOS были анонсированы в основном докладе. Любой рекрутер, который ищет профиль программистов, должен принять во внимание то, что рассказывают на данной конференции, чтобы оставаться в курсе последних технологий iOS.
Две самые важные библиотеки, которые должны знать все разработчики iOS, - это UIKit и Foundation. Он просто не может создавать приложения без них, поэтому обязательно может использовать эти инструменты. В дополнение к инструментам, поддерживаемым Apple, существует огромное количество библиотек и фреймворков с открытым исходным кодом, которые IOS программисты могут использовать для создания своего программного обеспечения.
3. Как проверить навыки разработчика iOS на этапе отбора
3.1. Техническая проверка навыков на основе резюме
Вероятно, самое ценное, о чем может рассказать вам резюме программиста, - это типы проектов, в которых участвует кандидат. Они могут включать такие важные функции, как Bluetooth, локальные базы данных и работа со службами определения местоположения. Очевидно, было бы огромным плюсом, если бы они разработали приложение с нуля. Любое приложение можно проверить, перейдя в магазин приложений iOS.
Создание приложений - не единственный полезный опыт, который стоит искать в резюме кандидата. Приятно видеть опыт работы с другими языками, особенно с C ++. А также, что кандидат работал с определенной платформой, такой как Apple Watch или Apple TV. Из-за характера платформы вы можете увидеть знания о модульном тестировании и процессе отправки в App Store, а также опыт настройки непрерывной интеграции.
Хотя просмотреть резюме довольно просто, иногда словарный запас, необходимый рекрутеру, чтобы понять, что находится в резюме разработчика iOS, может сбивать с толку. Чтобы помочь вам, мы составили глоссарий, который поможет понять наиболее важные навыки IOS разработчика.
3.2 Глоссарий навыков iOS-разработчиков для технических рекрутеров
- Языки: Swift, Objective-C
- Общее: GCD, Operational Queue, Push Notifications, Awareness in code signing
- База данных: Sqlite, CoreData, Realm
- UI: UIKit, Core Animation, Autolayout, Size Classes, SnapKit
- Конкретные фреймворки (все работают как в Objective-C, так и в Swift): Core Location, MapKit, AVFoundation, StoreKit, Extensions, AddressBook, EventKit, CAllKit, SiriKit, Core Bluetooth
3.3 Дополнительная информация об iOS, которую было бы полезно знать рекрутеру
Новые функции были добавлены в каждую новую версию iOS. По мере добавления функций разрабатываются новые платформы для взаимодействия с ними (SiriKit, CallKit, WatchKit и MapKit). Помимо этого, разные версии операционной системы в основном одинаковы, только с добавлением новых расширений.
Наиболее распространенные названия технологий iOS, которые взаимозаменяемы
CoreData и SQLite могут использоваться как взаимозаменяемые
Насколько близки друг к другу соответствующие версии технологий iOS:
Все доступные версии Swift похожи друг на друга. Конечно, язык прошел несколько итераций от 1.0 до 4.2. и каждый из них внес свои специфические изменения. Однако, если у кого-то есть опыт работы с тремя версиями, у них не должно возникнуть проблем с использованием последней версии.
4. Навыки разработчика iOS: вопросы для собеседования
Собеседование - это важный момент, чтобы узнать, с какими проблемами столкнулся ваш кандидат и как он подходит к их решению.
4.1 Вопросы об опыте использования платформы для iOS-разработчика
Вопрос 1: Выберите некоторые технологии из резюме кандидата и попросите кандидата объяснить, что это такое и как они используются.
Почему следует задать данный Вопрос 1: Просто чтобы проверить их осведомленность об упомянутых технологиях.
Вопрос 2: Попросите кандидата описать наиболее интересный проект, в котором они принимали участие, и какова была их роль в этом проекте.
Почему вам следует задать Вопрос 2: Чтобы проверить, насколько сложными и разнообразными были проекты, которые разработчик разрабатывал, и какова его роль и уровень знаний (мидл, ведущий разработчик, архитектор).
4.2 Навыки iOS-разработчика: знания и умения
Вопрос 3: Попросите кандидата сравнить Swift и Objective-C.
Почему вам следует задать Вопрос 3: Он дает представление о том, насколько опытен разработчик, и работали ли они с Objective-C или нет. В большинстве случаев знания Swift недостаточно. Даже на начальном уровне кандидат должен уметь понимать и использовать как Objective-C, так и Swift.
Вопрос 4: Какие технологии iOS широко используются сейчас, а какие могут стать популярными в будущем?
Почему вам следует задать Вопрос 4: Он сообщает вам, обладает ли кандидат способностью анализировать и прогнозировать тенденции ИТ-рынка и отрасли на основе навыков разработчика iOS.
4.3. Поведенческие вопросы для iOS-разработчика
Вопрос 5: Был ли у вас опыт обучения и наставничества в Swift?
Почему вам следует задать Вопрос 5: Проверьте, может ли разработчик быть хорошим наставником для новичков.
Вопрос 6: Какими решениями и проектами вы больше всего гордитесь?
Почему вам следует задать Вопрос 6: Это поможет вам проверить уровень сложности задач в предыдущих проектах
5. Техническая проверка навыков работы с iOS с помощью онлайн-теста по программированию.
Скрины резюме и собеседования могут быть полезны при
подборе IOS разработчика, но на самом деле они не могут сказать вам, обладает ли ваш кандидат правильными навыками. Что вам действительно нужно, так это фактическая разработка программного обеспечения. Это может стать проблемой, если все сделано неправильно, потому что у кандидатов ограниченное количество времени и терпения для выполнения проекта кодирования. Онлайн тест кодирования может быть хорошим решением. Но как узнать, какой выбрать? У правильного должно быть несколько ключевых особенностей.
- Он включает в себя типы задач, которые кандидат фактически будет выполнять после приема на работу (и реальные навыки разработчика iOS, которые им понадобятся для этого).
- Он должен охватывать как технологию, так и технологический стек, в котором они будут работать.
- Он должен быть максимально приближен к естественному процессу развития - это означает: кандидат должен иметь доступ к собственной IDE. Они должны иметь возможность использовать все ресурсы, с которыми они обычно работают, включая библиотеки, фреймворки, Stack Overflow и даже Google.
- Он должен проверять навыки программирования, а также бизнес-логику.
- Он должен освещать типы решений по кодированию, которые принимает кандидат.
- Его должно быть легко взять откуда угодно, чтобы не беспокоить кандидата
К сожалению, большинство онлайн-тестов не удовлетворяют этим требованиям. Алгоритмные тесты могут сказать вам, умеет ли кандидат писать код, но не могут сказать, насколько хорошо кандидат знает среду, принимаемые решения и используемую бизнес-логику. По сути, они не воссоздают должное навыкам разработчика iOS. Кроме того, они представляют собой довольно неестественный способ написания кода. В результате они отталкивают многих программистов, которые не считают, что могут точно представить свои навыки таким образом. Эти ит специалисты рискуют выпасть из вашей воронки найма.