Как нанять разработчика Flutter: описание задач, вопросы на интервью
Обязанности разработчика Flutter Flutter обычно используется для разработки мобильных приложений и их веб-аналогов. Чтобы творить эффективно, часто нужно работать в больших командах и следовать современным парадигмам разработки. Поэтому, если вы хотите нанять разработчиков Flutter, они должны:
- Иметь базовое представление об Agile-разработке и почему это необходимо
- Уметь писать краткий, хорошо документированный (или самодокументированный) код
- Понять, как оптимизировать клиентское программное обеспечение
- Соблюдайте правила компании и обладайте базовыми социальными навыками
Почему разработчики Flutter должны следовать Agile
Agile является стандартной практикой в разработке программного обеспечения и является абсолютным предпочтением большинства разработчиков. Если ваши ит специалисты не понимают Agile, им может потребоваться больше времени для получения результатов или адаптации к изменениям требований, если они возникнут.
Почему читаемый код имеет значение для Flutter
Код не существует в вакууме - даже если он работает прямо сейчас, все может измениться в будущем. А если код запутан, как лапша, и никто не знает, как работают его функции, то вы не сможете легко его поддерживать или обновлять. Следовательно, уметь писать читаемый, хорошо документированный код необходимо любому разработчику.
Почему разработчикам Flutter нужно оптимизировать свой код
Большинство приложений Flutter существует на устройствах iOS и Android, что означает, что их производительность должна быть сбалансирована с низким энергопотреблением мобильных процессоров и коротким временем автономной работы. В то же время и Google, и Apple настаивают на плавных и плавных интерфейсах, а также на большом количестве анимации. Результат требует очень тщательного балансирования и делает оптимизацию кода ключевым навыком.
Почему разработчики Flutter должны обладать социальными навыками
Голливуд создал для разработчиков программного обеспечения образ антиобщественных ботаников. Хотя в этом нет необходимости, разработчики работают в командах и часто нуждаются в общении как друг с другом, так и с другими отделами. Следовательно, вам нужны дизайнеры, которые могут ясно излагать свои мысли, выглядя профессионально и уважительно.
Необходимые навыки для разработчика Flutter
Flutter совершенно новый - SDK даже поставляется с собственным языком программирования под названием Dart. И относительная новизна действительно уравнивает правила игры между разработчиками с различным опытом в прошлом.
Поэтому список необходимых навыков для разработки Flutter краток:
- Знание (и волнение) о флаттере
- Опыт разработки под Android и / или iOS
- Опыт работы с инструментами контроля версий, такими как Git
1 Пример описания должности для старшего разработчика Flutter Наша компания нанимает старшего разработчика мобильных приложений Flutter, чтобы создать платформу для текстовых приключений, доступную как на iOS, так и на Android - подумайте о 80 Days of Lifeline. Нам нужен опытный разработчик, который поможет нам спроектировать эту платформу с нуля и координировать разработку на всех уровнях.
Квалификация
- Разработайте два или более приложений для iOS / Android с помощью Flutter. Либо развернуто в AppStore / Google Play, либо доступно на Github;
- 5+ лет в разработке мобильного программного обеспечения;
- Опыт работы со сторонними библиотеками и API;
- Понимание жизненного цикла гибкой разработки;
- Опыт автоматизированного тестирования и сборки;
- Опыт работы с Git, Jenkins или другими инструментами управления версиями;
- Возможность писать читаемый код, создавать обширную документацию для существующего кода и преобразовывать ранее написанный код в читаемое состояние.
- Средний + знание английского языка.
Плюсом будет
- Опыт Java / Swift;
- Понимание Android Keyboard API;
- Опыт оптимизации приложений для Material Design.
2 Пример описания должности для старшего разработчика Flutter Наша компания нанимает старшего разработчика мобильных приложений Flutter для создания фреймворка для текстовых приключений, доступного как на iOS, так и на Android - подумайте о 80 Days of Lifeline. Нам нужен опытный разработчик, который поможет нам спроектировать эту платформу с нуля и координировать разработку на всех уровнях.
Квалификация:
- Разработал два или более приложений для iOS / Android с Flutter; либо развернуты в AppStore / Google Play, либо доступны на Github
- 5+ лет в разработке мобильного программного обеспечения
- Опыт работы со сторонними библиотеками и API
- Понимание жизненного цикла гибкой разработки
- Опыт автоматизированного тестирования и сборки
- Опыт работы с Git, Jenkins или другими инструментами управления версиями
- Возможность писать читаемый код, создавать обширную документацию для существующего кода и реорганизовывать ранее написанный код в читаемое состояние.
- Средний + знание английского языка
Плюсом будет
- Опыт Java / Swift
- Понимание Android Keyboard API
- Опыт оптимизации приложений для Material Design
Вопросы для собеседования для разработчика Flutter Когда дело доходит до найма разработчиков Flutter, вам понадобятся как хард, так и софт навыки. И хотя в некоторых случаях это может привести к уравновешиванию, вам никогда не следует отдавать предпочтение одному набору навыков, полностью игнорируя другой.
Вопросы для определения профессиональных навыков разработчика Flutter - Какой формат следует использовать для файлов макета?
- Вопрос с подвохом - нет файлов верстки. Вместо этого Flutter использует виджеты и не требует разделения на код и макет, как старые фреймворки Android.
- В чем основное различие между Flutter и WebView?
- Веб-приложения должны проходить через разные уровни перед выполнением, что требует больше ресурсов и вызывает задержку. Приложения Flutter компилируются в собственный код ARM, чтобы работать быстрее и эффективнее.
- Для чего нужны три папки внутри проекта Flutter?
- В папке lib хранятся файлы Dart - aa, ядро проекта. Папки iOS и Android содержат инструменты для адаптации ядра к конкретной платформе и получения необходимых разрешений и функций для конкретной платформы.
- Как лучше всего обеспечить единообразное форматирование кода Flutter?
- Команда DartFMT заменяет пробелы форматированием руководств Dart.
- В чем принципиальная разница между функциями обработки в Android и Flutter?
- В Dart функции являются объектами первого класса и могут передаваться в качестве параметров другим функциям. Это упрощает обратные вызовы и делает код более читабельным.
- Что такое ScopedModel?
- Компоненты ScopedModel или Business Logic - это общие шаблоны архитектуры, которые отделяют бизнес-логику от кода пользовательского интерфейса. Он используется для повышения производительности и использования менее динамичных (с отслеживанием состояния) виджетов.
Вопросы для определения личностных качеств разработчика Flutter
- Расскажите мне о ситуации, когда вам пришлось сделать то, чего вы никогда раньше не делали. Как вы справиться с этим? Что вы узнали из этого?
- Вам когда-нибудь приходилось работать с кем-то трудным? В чем была проблема? Как вы это решили?
- Какие три критерия вы считаете наиболее важными для хорошей рабочей культуры?
- Вы когда-нибудь создавали неудачную рабочую стратегию? Как вы приспособились? Какие меры предосторожности вы использовали?
- Вспомните время, когда вы столкнулись с серьезной проблемой, но ваш менеджер был недоступен. Как вы ее решили? Как бы вы справились с этим сейчас?
На эти вопросы нет правильных или неправильных ответов. Тем не менее, они позволяют вам заглянуть в психику вашего будущего сотрудника, одновременно определяя, насколько хорошо он впишется в культуру вашей компании и командную химию.