Вакансия: разработчик Xamarin::Журнал СА 03.2019
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Информация для ВАК
Звезды «СА»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Игры
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
27.03.2019г.
Просмотров: 540
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

27.03.2019г.
Просмотров: 450
Комментарии: 0
Автоматизация программируемых сетей

 Читать далее...

27.03.2019г.
Просмотров: 473
Комментарии: 0
Изучаем pandas. Второе издание

 Читать далее...

27.03.2019г.
Просмотров: 404
Комментарии: 0
Компьютерное зрение. Теория и алгоритмы

 Читать далее...

13.03.2019г.
Просмотров: 607
Комментарии: 0
DevOps для ИТ-менеджеров

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Вакансия: разработчик Xamarin

Архив номеров / 2019 / Выпуск №03 (196) / Вакансия: разработчик Xamarin

Рубрика: Карьера/Образование /  Рынок труда

Вакансия: разработчик Xamarin

Популярность мобильной разработки растет благодаря востребованности на рынке. Особое место на нем занимает Xamarin. Это технология, которая позволяет создавать приложения и для Android, и для iOS. Мы обратились к представителям компаний, чтобы выяснить, каких кандидатов они видят на этой позиции

  1. Какими знаниями и навыками должен обладать разработчик Xamarin?
  2. Каков инструментарий разработчика Xamarin?
  3. Каковы требования компании к уровню образования потенциальных сотрудников?
  4. Какие требования предъявляются к опыту работы?
  5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

Владислав СервитолаВладислав Сервитола, Xamarin Senior Developer, Spotware

1. Разработчик на Xamarin должен обладать фундаментальным знанием C#. Как бы странно это ни звучало. Ведь придется столкнуться с тем, как C# и .NET оборачивают Java из Android и Objective-C из iOS. И это будто один огромный мир оборачивает другой мир.

Кроме этого, он должен быть готов к следующему: комфортной разработки под Xamarin еще не появилось.

Обычное дело такой разговор:

– Не запускается проект на эмуляторе.

– А ты почистил bin/obj, кэш visual studio, кэш resharper, кэш xamarin на Mac нашим суперскриптом?

– О, помогло.

Я знаю людей, которых это и другая магия выводили из себя. Так что крепкие нервы очень не помешают.

Также я бы хотел видеть хорошее знание платформ Android и iOS. И я даже не имею в виду какие-то книжные знания. На этих платформах очень большая вариативность приемов работы с приложениями. К примеру, приложение может быть открыто по deep link или закрыто системой автоматически, а потом автоматически открыто обратно. Может не хватать и памяти, и экрана, и всего-всего. И Xamarin тут добавляет в этот блок свою магию. Поэтому хорошо бы, чтобы человек в достаточной мере представлял, как люди используют свои телефоны.

2. Тут вряд ли можно сильно ошибиться. Пользуюсь каждый день:

  • Visual Studio, Android Studio (верстка Android, профайлинг памяти),
  • Xсode (верстка iOS),
  • Synergy (расшарить одну пару клавиатура-мышь между Windows и Mac-устройствами),
  • стандартные эмуляторы девайсов,
  • GitExtensions для Git (тут на любителя абсолютно).

Можно добавить в список еще несколько программ и утилит, которыми пользуюсь иногда, но точно приходится Fiddler (тесты сетевого взаимодействия), adb (взаимодействие с Android-девайсами), mprof-report (пригодится при профайлинге памяти Android).

Есть люди, которым повезло заменить Visual Studio на Rider для Xamarin-разработки, но у меня так и не получилось, чтобы просто работало без постоянных проблем обычного запуска.

3. Если понимать под уровнем образования корочки какого-нибудь вуза, то этот момент в целом не так уж и влияет. Меня при проведении собеседования интересует способность подать свои мысли, кругозор, умение дойти до какого-то решения своим умом, даже если этого знания не было. Не просто сказать: я не знаю, давайте дальше. Под кругозором я, например, понимаю то, что на вопросах я пойму, что у человека есть математический бэкграунд и он не просто скажет: «Уу, ну тут будет долго исполняться, а тут быстро».

4. Нам прежде всего интересны люди с опытом большого проекта. По факту очень сложно найти такого Xamarin-разработчика. Поэтому мы в процессе поиска всегда интересуемся людьми просто с большим опытом в C#/.NET в целом.

5. Из требований могу припомнить только отсутствие судимости. Она необходима, чтобы оформить документы о статусе экспата. Причина в том, что наш офис находится на Кипре и приходится сюда переезжать. Специфика работы: финансовые инструменты. В моей компании считается, что распылять такую разработку на удаленных рабочих не продуктивно.


Денис ФедяевДенис Федяев, Xamarin-разработчик

1. Роль Xamarin-разработчика в конкретном проекте всегда имеет конкретную цель, определяющую требования к его знаниям и навыкам.

Хотя основная разработка ведется на языке C#, владение языками Java и Objective-C приветствуется. При создании приложений для мобильных платформ необходимо знать Android/iOS SDK. Некоторые простые приложения могут быть построены на базе Xamarin.Forms, что требует от разработчика дополнительных навыков.

Для успешной работы в команде будет плюсом владение инструментами Jira, Git, CI (Continuous Integration), а также понимание сути Agile-разработки.

2. Для запуска iOS-приложений не обойтись без Mac OS с установленным Xcode. Основная разработка ведется в Visual Studio for Mac. Для верстки Android-разметок я использую Android Studio. При работе с UI могут понадобиться Sketch и Zeplin.

3. Подавляющее большинство компаний, с которыми я работал, имели единственное, причем не обязательное требование – наличие степени бакалавра в инженерной сфере.

4. Начальное требование – это год-два опыта написания кода на любом объектно-ориентированном языке. Цель разработки не имеет значения: выполнение курсовых работ, разработка дипломного проекта или создание проектов на образовательных онлайн-платформах.

Требования к опыту разработчика для выполнения сложных задач могут, например, включать: опыт разработки мобильных приложений не менее пяти лет; опыт разработки приложений для банковской сферы, мобильных решений для EHR (Electronic Health Record) или других узких специализаций; «исторический» опыт не менее пяти лет для определения затрат времени на выполнение заданий; другие конкретные требования.

Для каждого Xamarin-разработчика большим плюсом будет один-два года опыта «нативной» разработки для Android и iOS.

5. Необходимо иметь в распоряжении физические устройства, поскольку эмуляторы не всегда подходят для отладки и тестирования мобильных приложений.


Роман БогунРоман Богун, Lead Software Engineer в компании Altexsoft

1. Разработчику необходимо быть экспертом не только в самой платформе Xamarin, но и хорошо знать платформу, с которой он работает, Android или iOS (или же обе).

Что касается технических знаний, я выделяю следующие:

  • уверенные знания C#, OOP, OOD, XAML, LINQ;
  • знание самой платформы Xamarin (Xamarin Native, Xamarin.Forms);
  • знание API для iOS и Android;
  • уметь создавать пользовательский интерфейс для iOS (Storyboard, XIB), Android (XML), Xamarin.Forms (XAML);
  • принципы SOLID, KISS;
  • архитектурные паттерны MVC, MVP, MVVM, a также GoF (Gang of Fours) паттерны;
  • архитектура REST, JSON;
  • базовые знания по БД и SQL, такие как нормальные формы, связи и отношения таблиц, а также элементарные операции с данными SELECT, DELETE, UPDATE, INSERT.

Так как Xamarin – это кроссплатформенная разработка, то необходимо знать особенности SDK каждой платформы (iOS и Android), а также знать рекомендации по созданию UI для каждой из платформ. Кроме того, разработчикам для Android необходимо изучить язык Java/Kotlin, по крайней мере на базовом уровне, а для iOS это будут Objectve-C или Swift.

Все дело в том, что все примеры кода в нативной документации (не относится к документации по Xamarin) выполнены на этих языках. То же самое касается и других полезных ресурсов, например, таких как StackOverflow. То есть чтобы понимать, что делает код.

Будет плюсом знание plugins, frameworks, libraries:

  • Mvvmcross;
  • TinyIoc, Ninject, Autofac;
  • SQLite, Realm;
  • Xamarin.Essentials.

2. Основным инструментарием Xamarin-разработчика является Visual Studio. Разработка приложений под Android и iOS может выполняться как в Visual Studio for Windows, так и в Visual Studio for Mac. Но в случае с iOS наличие устройства с Мас OS обязательно (Mac mini, Macbook, iMac). В целом для Xamarin-разработчика инструментарий выглядит так:

  • Visual Studio, Xcode, Android Studio;
  • Xamarin Profiler, Instruments (утилита для диагностики проблем в приложении, например, связанных с производительностью);
  • iOS Simulators (доступны после установки Xcode);
  • Android Emulators, поставляемые с Visual Studio, Genymotion (отличные эмуляторы);
  • Visual Studio App Center, Team City, iTunes Connect, TestFlight;
  • Git, SourceTree/Sublime merge.

3. Требований к уровню технического образования нет, по крайней мере к мобильным разработчикам, потому что опыт намного важнее. Есть очень толковые ребята, которые пришли в ИТ из других профессий, совершенно не связанных с техническими, и показывают очень хороший уровень. Но наличие сертификатов по необходимым технологиям будет плюсом потенциальному кандидату.

Но не стоит относиться к этому так, что если компании не требуют наличия высшего образования, то можно и не учиться. У большинства западных компаний наличие высшего образования у кандидата является обязательным пунктом.

Вы можете подумать, а как это связано с нашими ИТ-компаниями. Очень просто! Иногда клиенты сами решают, кто будет работать над проектом. Для этого они запрашивают у компании резюме потенциальных кандидатов на проект и проводят собеседования. И может получиться так, что вы не пройдете отбор и окажетесь за бортом.

4. Все зависит от того, на какую позицию претендует кандидат, если это Junior, то это может быть от 0 до 1 года.

А вот для Senior эта цифра будет 4+ лет опыта коммерческой разработки. Конечно же, не всегда решает количество отработанных лет, а знания, которые кандидат демонстрирует на техническом собеседовании и как их применяет на деле в период испытательного срока и в дальнейшем, уже работая в компании.

5. Как таковых специфических требований нет, в основном требования диктуют проекты. И если идет набор команды под конкретный проект, то и поиск кандидатов будет основан на технических требованиях проекта.

Что касается личных качеств, или soft skills, то я бы выделил такие, как коммуникация, ориентация на клиента, готовность обучаться и обучать.

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

Подготовил Игорь Штомпель


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru