---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов. " /> ---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов. " />

Портал издательского дома "ПОЛОЖЕВЕЦ и ПАРТНЕРЫ"
---------------------------------------------------------------------------------
Выбираю•IT помогает в выборе будущей профессии абитуриентам
и студентам, в развитии профессиональных навыков молодым специалистам,
в выборе дополнительных программ обучения и специальных курсов.

О портале Каталог профессий

Разработчик 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, то я бы выделил такие, как коммуникация, ориентация на клиента, готовность обучаться и обучать.

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


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

 
Проект Издательского дома "Положевец и Партнеры"

По вопросам партнерства обращайтесь по электронной почте chooseit@samag.ru

Телефон: +7 499 277-12-45