::Журнал СА 10.2015
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

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

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

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

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

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

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

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

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

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

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

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

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

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

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

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

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

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

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 6237
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 6944
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 4230
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 3015
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3811
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3827
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6323
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3174
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3466
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7283
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10649
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12370
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 14005
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9130
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7084
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5393
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4620
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3431
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3164
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3405
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 3029
Комментарии: 0
Не думай о минутах свысока

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

Друзья сайта  

 Вакансия: Разработчик под iOS

Архив номеров / 2015 / Выпуск №10 (155) / Вакансия: Разработчик под iOS

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

Вакансия: Разработчик под iOS

На рынке мобильных операционных систем важное место занимает iOS. Количество приложений в магазине AppStore превышает 1,5 млн, а количество загрузок перевалило за 100 млрд. Многие компании и веб-сервисы считают необходимым размещать свои приложения в этом магазине. Сегодня в поле нашего зрения те, кто создает приложения для мобильной ОС от Apple

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

Артемий Соболев, iOS-разработчик в Parallels

1. Ключевые знания – это, конечно же, знание Objective-C и фреймворков UIKit, Foundation, поскольку без них сегодня не обходится ни одно более-менее нетривиальное iOS-приложение. Кроме того, необходимо отличное владение основным инструментом разработчика в экосистеме Apple – Xcode, который предоставляет богатейшие возможности не только для создания, но и для отладки и профилирования приложений.

Операционная система iOS, как и вся мобильная отрасль, сейчас бурно развивается, в ней постоянно появляется что-то новое для разработчика: новый язык программирования (Swift), новые фреймворки, API, возможности и т.д. Чтобы оставаться «на плаву», iOS-разработчик должен постоянно обновлять свои знания и навыки, поэтому любопытство, стремление к самообразованию, способность быстро вникать в документацию и примеры, разбираться в сложных вещах – критически важные навыки.

И, как и любому программисту, разработчику мобильных приложений под iOS необходимо обладать абстрактным мышлением, умением спроектировать архитектуру приложения, грамотно разбить его на модули, оформить в виде аккуратно написанного и читабельного кода (что особенно важно при работе в команде).

2. Основной инструмент – это Xcode, в который Apple постоянно добавляет новую функциональность как для создания UI и написания кода, так и для отладки и профилирования приложений. Новых экстраординарных решений пока нет. App Code добавляет возможности для быстрой навигации, но очень далек от Xcode по функциональности и может быть только дополнением к Xcode. Для быстрой навигации по документации можно порекомендовать Dash. Также нам в нашем проекте (мобильное приложение удаленного доступа Parallels Access) очень пригодилось использование фреймворка ReactiveCocoa (парадигмы Functional Reactive Programming) и Typhoon (для Dependency Injections). Кроме того, в последние годы Apple активно продвигает свой новый язык программирования Swift. Это очень перспективный язык, который позволят отловить множество ошибок на раннем этапе разработки. Но пока он переживает свои «болезни роста», поэтому в «боевом» коде, особенно в больших и сложных проектах, думаем, его стоит применять осторожно и дозированно.

3, 4. Практика показывает, что кандидаты, закончившие или заканчивающие ведущие технические вузы (МФТИ, МГУ, МИФИ, МГТУ им Баумана, МАИ), как правило, показывают хорошие результаты и могут быстро разобраться в сложных вещах, однако все, конечно, зависит от конкретного кандидата. Поэтому наличие релевантного опыта работы и навыков вполне может перевесить.

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

Честно говоря, хорошего специалиста отличает стремление вникнуть в суть вещей и внимание к деталям. Поэтому на собеседованиях мы часто спрашиваем о тонкостях при использовании, казалось бы, привычных и знакомых разработчику iOS-вещей. Это показывает, интересуется ли человек тем, что находится «под капотом» у фреймворков, и понимает ли, какие могут быть «подводные камни» при их использовании. Например, почти все использовали NSNotificationCenter, но, оказывается, далеко не все задумывались и могут ответить, в какой очереди придет callback, если postNotification было вызвано из background очереди.

Если у кандидата есть портфолио опубликованных в AppStore приложений, мы их обязательно посмотрим, почитаем отзывы. Если хотите лично убедиться, то у нас в компании как раз открыта вакансия iOS-разработчика.

5. Абсолютно must have требований нет, но есть ряд вещей, которые будут критически важны при работе у нас. Во-первых, при разработке своих продуктов, как мобильных, так и десктопных, Parallels вкладывает много ресурсов в качество UI (пользовательского интерфейса) и usability (удобства работы). Плавно работающий и удобный UI часто требует применения нетривиальных решений, чтобы обойти те или иные ограничения или «подводные камни» iOS, поэтому глубокое знание особенностей поведения iOS и ее UI-элементов – это жизненная необходимость.

Во-вторых, поскольку разрабатываемые нами мобильные приложения являются кросс-платформенными, с общим ядром на С++, то опыт разработки именно кросс-платформенных приложений будет большим дополнительным плюсом. В-третьих, поскольку проект большой, то хорошее знание и умение применять паттерны при проектировании и разработке – также большой плюс.


Егор Потяг, Mobile Developer в минском центре разработки Wargaming

1. Необходимо знать и понимать:

  • язык программирования Objective-C;
  • устройство жизненного цикла приложения на iOS;
  • структуру iOS-приложения и принципы взаимодействия с пользователем;
  • паттерны проектирования (Singleton, Delegate, MVC, Target-Action, Command, Observer);
  • базовые компоненты/контролы UIKit и их иерархическую зависимость;
  • базовые принципы сетевого взаимодействия.

Помимо вышеперечисленного, необходимо свободно ориентироваться в специфике разработки многопоточных приложений и асинхронного взаимодействия, иметь навыки самостоятельной разработки архитектуры приложения. Очень желательно иметь опыт разработки на C/C++ (для понимания глубинных механизмов языка).

2. Стандартная среда разработки Xcode; сторонние продукты, облегчающие сопровождение приложения (Flurry, Crashlytics, TestFlight и т.п.); сторонние библиотеки, ставшие уже стандартом индустрии (CocoaPods, ReactiveCocoa, AFNetworking, Mantle, Masonry и т.д.).

3. Сотрудник должен обладать достаточным уровнем образования, чтобы выполнять проектные задачи, а также иметь возможность профессионально развиваться в будущем. Однако не стоит забывать и о том, что промышленная разработка программного обеспечения действительно требует высокой квалификации. Поэтому наличие профильного высшего технического образования у кандидата, как правило, является обязательным минимумом. Для успешной работы сотрудник должен обладать определенным уровнем системного мышления, пониманием принципов построения архитектуры приложений, знанием базовых моментов алгоритмизации, структур и баз данных и т.п. – всего того, что позволит далее совершенствоваться и углублять знания в конкретной узкой области. Развить это с нуля достаточно затратно по времени, а в итоге и финансово. Конечно, бывают самоучки-исключения, но ориентироваться на них не приходится.

4. Все зависит от конкретных задач. Если у сотрудника отсутствуют отдельные важные навыки, то обязательно должны быть знания из смежных областей, которые позволят обучить его специфике программирования под iOS в кратчайший срок. Например, если потенциальный кандидат имеет опыт разработки клиент-серверных приложений на других языках и написания многопоточных приложений для других платформ, то обучить его использованию определенных средств на iOS не составит большого труда. Другое дело, когда у кандидата в принципе отсутствуют знания в этих областях.

5. Требования могут предъявляться исходя из нужд конкретного проекта. К примеру, если сотрудника рассматривают на роль разработчика 3D-графики, то отсутствие знаний определенных разделов высшей математики и линейной алгебры может оказаться основным фактором для принятия решения о найме.


Дмитрий Коркин, ведущий iOS-разработчик компании Auslogics

1. Работа в компании Auslogics для всех соискателей начинается с выполнения тестового задания. Рассматривая тестовые работы на позицию iOS-разработчик, мы в первую очередь обращаем внимание на результат – корректно работающее приложение. Следующие критерии – выбор технологий, хорошая структура и архитектура проекта. В случае успешного выполнения мы приглашаем кандидата на техническое интервью, где и выясняем знание iOS SDK, принципов клиент-серверного взаимодействия, шаблонов проектирования.

Создание многопоточных приложений, в которых сохраняются и отображаются данные посредством привлекательного интерфейса, – также одна из задач штатного iOS-разработчика в нашей компании.

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

2. На официальном сайте Apple можно найти полный пакет программ, необходимых для iOS-разработки (Xcode, WatchKit). Разработчик должен ориентироваться в управлении приложений через iTunes connect и уверенно решать конфликты в системе контроля версий, Git – SourceTree клиент. Большой плюс – это знание фреймворков автоматического тестирования, инструментов отладки и профилирования приложения, опыт работы с менеджерами зависимостей – pod.

3. Как уже было отмечено ранее, в компании Auslogics выполнение тестового задания является неотъемлемой частью процедуры рассмотрения соискателей. Помимо этого, существует также техническое интервью. Именно эти две составляющие отбора позволяют оценить соответствие заявленного уровня знаний соискателя требованиям компании.

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

Принимая окончательное решение в пользу того или иного кандидата, мы анализируем умение соискателя рассуждать, искать оптимальные решения поставленных задач, качественно изучать новые технологии. Эти навыки гораздо важнее дипломов и сертификатов.

4. Для разработки мобильных приложений на высоком уровне обязательным требованием является наличие опыта работы со следующими фреймворками и технологиями:

  • API социальных сетей (Facebook, Twitter, Swarm).
  • Работа с базой данных, использование CoreData и библиотек-оберток типа MagicalRecord.
  • Работа с многопоточными приложениями.
  • Опыт работы с push-уведомлениями и встроенными покупками.
  • Знание принципов ручного управления памятью.
  • Опыт работы с сокетами (socket.io).
  • REST API, знание библиотеки AFNetworking (Alamofire).
  • Применение паттернов проектирования.
  • Опыт разработки кастомных интерфейсов.

5. Коллектив компании Auslogics работает в отличном от большинства других ИT-компаний формате – все сотрудники, кроме сиднейского офиса, работают на условиях полной занятости, но удаленно. Это дает немало свободы, но и требует большей самостоятельности, самоорганизованности и инициативности. Креативный подход, кропотливое отношение к написанию кода, видение конечного продукта и четкая его реализация являются залогом успеха работы над проектом.

Для нас немаловажно отношение сотрудника к продуктам компании. Именно «продуктовый» тип мышления разработчика определяет будущее качество кода. Широкий кругозор, знание предметной области и рынка приложений – преимущество, которое позволит разработать действительно качественный продукт.

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


Всеволод Иванов, технический директор Touch Instinct

1. Английский на уровне чтения технической документации; знание Objective-C и ООП; наличие в AppStore минимум двух приложений; умение эффективно использовать сторонние библиотеки (CocoaPods); понимание принципов работы баз данных.

2. Инструментарий разработчика мобильных приложений для iOS:

  • XCode
  • SourceTree
  • Adobe Assets

3. Высшее техническое образование, иногда – студенты последних курсов.

4. Опыт программирования от двух лет, наличие в AppStore реализованных приложений, опыт работы с какой-либо системой контроля версий (Git, Svn, Mercurial и т.д.), опыт разработки многопоточных программ.

5. Желание работать и развиваться на крупных проектах.

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


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

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

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

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

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