Вакансия: программист под OS X::Журнал СА 11.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г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Вакансия: программист под OS X

Архив номеров / 2015 / Выпуск №11 (156) / Вакансия: программист под OS X

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

Вакансия: программист под OS X

Рынок десктопов в последнее время лихорадит, но настольные системы от Apple, работающие под управлением OS Х, пользуются неизменной популярностью. В России ниша разработчиков под эту систему уже, чем для Unix/Linux, но хорошие специалисты без работы не останутся. Итак, что хотят работодатели?

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

Александр Владимирович Серков, инженер-программист (OS X), ООО «Доктор Веб»

1. Примерно такими же, как и любой другой программист для любой другой платформы/области, – он должен знать инструментарий, с которым работает, и уметь его использовать. А также не помешает умение обучаться и находить ответы на неожиданные вопросы в приемлемые сроки. В дополнение ко всему этому хорошо бы еще знать язык программирования Objective-C (если писать что-то, связанное с GUI, то без Objective-C пока скорее всего не обойтись, да и часто некоторые системные вещи требуют знания этого языка) и иметь представление о наиболее важных библиотеках (фреймворках), являющихся частью этой операционной системы. О системах контроля версий, коммуникабельности и умении работать в команде говорить не буду.

2. Разнообразный. OS X – это более-менее современная и быстро развивающаяся ОС, и для нее подходит почти весь инструментарий, доступный для других *nix-like (и не очень) операционных систем. Но все же Objective-C, сопутствующие фреймворки и Хсode (IDE для OS X от Apple) пока являются «главным» инструментом для разработчика (Swift еще скорее всего все же игрушка, но в перспективе...). И, конечно, С/С++. Многое в OS X написано на этих языках, даже если имеет «официальный» интерфейс на Objective-C.

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

4. Насколько я знаю, от трех лет. Однако реально уровень опыта, как мы считаем, все-таки определяется не годами, а выполненными проектами/задачами, их сложностью и величиной.

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


Виктор Брыскин, Senior iOS Developer, Comindware (www.comindware.com/ru/)
Полина Семенюк, HR-менеджер, Comindware

1. В.Б.: Разработчик под OS X (сейчас операционная система называется именно так) не сильно отличается от любого другого разработчика, и особых специфических требований здесь практически нет. Разница только в инструментарии и API.

Абсолютно точно необходимо знание языков и фреймворков, которые применяются на платформе, – в основном из языков это Objective-C. Сейчас, впрочем, набирает популярность Swift, на котором также можно вести разработку. Нелишним будет и знание С++, умение писать на этом языке очень помогает сделать жизнь разработчика проще, в связи с тем, что Objective-C – очень старый язык, лишь в последнее время начавший активно развиваться, и многие вещи проще писать на С++. С другой стороны, система ООП и ObjC Runtime, применяющаяся в Objective-C, позволяет очень просто писать довольно сложно реализуемые на других языках вещи.

В решении задач очень помогают навыки автоматизации с использованием скриптовых языков – это Shell, Python или Ruby.

Естественно, нужно понимать специфику OS X в плане распространения и развертывания приложений. В ОС встроен магазин приложений, которым можно и нужно пользоваться.

2. В.Б.: Основная среда разработки – это, конечно же, IDE Xcode, но возможны и альтернативы, например, AppCode от JetBrains. Этого вполне достаточно для того, чтобы разрабатывать приложения – в Xcode встроены и инструменты разработчика для профилировки приложений и даже клиент системы контроля версий, поддерживающий SVN и Git. Однако большинство разработчиков пользуются внешними Git-клиентами, выбор которых – вопрос привычки и дело вкуса.

3. П.С.: Мы ищем людей с высшим образованием. Более того, у нас есть сотрудники, которые продолжают образование, например, учатся в аспирантуре. Мы рады, когда наши сотрудники продолжают совершенствоваться в профессиональном плане, и поддерживаем их в этом.

4. П.С.: Наш подход не кардинально отличается от других компаний на рынке, для Comindware важно, чтобы сотрудник имел опыт работы в данной отрасли не менее трех лет. Для нас также очень важно, чтобы сотрудник стабильно работал на предыдущих местах, а не менял работу несколько раз в течение года.

5. П.С.: Каких-то особых требований, связанных именно с нашей компанией, нет. Одновременно есть ряд технических требований, которые для нас важны, а именно:

  • Уверенное владение Objective-C, iOS Guidlines
  • Cocoa Pods, Frameworks, static libraries
  • Знание шаблонов проектирования и принципов SOLID
  • Знание ARC и MRC
  • Multithreading, GCD

Павел Морозов, главный OS X-разработчик, Paragon Software Group/mobile applications (www.slovoed.com)

1. В первую очередь любой сотрудник, вовлеченный в создание программного обеспечения для OS X, должен быть убежденным пользователем этой операционной системы, особенно программист. Революционные идеи Apple и их воплощение в действительность в виде готовых продуктов являются примером для подражания даже у конкурентов. Именно поэтому качественное приложение для OS X должно соответствовать фирменному стилю Apple. Основой такого соответствия является доскональное владение принципами создания идеальных приложений для OS X, изложенными в библии разработчиков, известной под названием OS X Human Interface Guidelines.

Естественно, разработчик должен уверенно владеть языком Objective-C и как минимум иметь представление о стремительно набирающем популярность языке Swift.

Очень важен также и общий кругозор в смежных областях, особенно в веб-технологиях.

Крайне приветствуется знание одного или более скриптовых языков, подобных Perl/Python/Ruby/PHP/Bash/Apple Script.

2. Основным средством разработки является Xcode с сопутствующими инструментами. Альтернативные IDE, такие как AppCode, у нас также в ходу, как и просто различные тестовые редакторы. Для коллективной работы и обмена информацией используется Redmine.

3, 4. Идеальный кандидат – это специалист с высшим техническим образованием и двумя-тремя годами опыта программирования для Mac OS X или iOS. Тем не менее соискатели, еще не окончившие вуз, также могут нас заинтересовать. Несомненным плюсом будет дополнительное образование в виде профильных спецкурсов, наличие успешных продуктов в App Store и активность в Open Source-сообществах.

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


Владимир Кукушкин, Mac Applications Development Group Manager, «Лаборатория Касперского»

1. Программист под OS X ничем не отличается от любого другого программиста – прежде всего он должен уметь объяснить программе, что она должна сделать.

2. Для того чтобы начать разработку приложений под OS X, помимо наличия устройства с этой операционной системой, нужно скачать из Mac App Store среду разработки – Xcode. Для большинства задач этого будет достаточно. Плюс под OS X встречаются реализации инструментов, знакомых по разработке под другие платформы, например, можно использовать vim, cmake, Qt, клиенты для всевозможных систем контроля версий. В составе Xcode для отладки есть lldb, а для профилирования – Instruments.

3. Такие же, как и к любому другому программисту. Несомненным плюсом будет прохождение курсов в онлайн-университетах, где можно найти тематические курсы по разработке под платформы Apple. Но нужно понимать, что такие курсы – никак не замена фундаментальному техническому образованию.

4. Опять же – такие же, как и у всех. Но есть один нюанс. В случае с разработкой, не связанной непосредственно с OS X, ее специфичными функциями или GUI, бывает очень ценен опыт разработки под Unix, ведь OS X – под капотом это тот же Unix.

5. «Лаборатория Касперского» – большая компания с большим количеством продуктов, выпускаемых для разных платформ. Нужно быть готовым к тому, что большая часть кода и технических решений (например, антивирусный движок) используется на трех-четырех платформах, и об этом нужно всегда помнить. Соответственно, и большая часть кода не имеет непосредственного отношения к OS X.


Дмитрий Обухов, основатель и разработчик, Wirelessheads

1. Хоть я и не люблю узкую специализацию и сам термин «программист под OS X», но, на мой взгляд, человек, который разрабатывает приложения под платформы от Apple, должен действительно обладать неким набором навыков, которые, по большому счету, к программированию не имеют отношения. Во-первых, он должен разбираться в проектировании интерфейса. Многие считают, что интерфейсом должен заниматься дизайнер (и это так и есть), но на практике, если человек, который пишет код, не интересуется интерфейсами или не имеет «чувства прекрасного», проект ждут большие проблемы. Во-вторых, OS X быстро развивается как со стороны Apple, так и со стороны комьюнити, появляются новые фреймворки и даже языки – за всем этим нужно успевать следить, нужно быть на острие технологий, и без большого вовлечения здесь не получится. И, наконец, разработчик под OS X должен быть и разработчиком под iOS (обратное – не верно). Так получается, что все новые технологии и практики появляются сначала на iOS, их необходимо перенимать и использовать на маке.

2. Xcode (IDE от Apple, бесплатное и есть все необходимое), CocoaPods (менеджер зависимостей), Sketch (векторный графический редактор). Все остальное опционально.

3. Не думаю, что компании предъявляют какие-то требования к образованию. Во-первых, в России разработчиков не учат, во-вторых, на рынке сейчас дефицит специалистов. В любой профессии основную роль играет опыт, разработчики не исключение, скорее даже наоборот, опыт – основной показатель.

4. Требования очень разные, и, если говорить об OS X, очень часто сотрудников приглашают развивать или поддерживать существующий продукт. Часто этот продукт портирован с другой платформы и написан на C/C++, поэтому в описании вакансии можно увидеть требования знания C++.

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

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

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


Алексей Цымлов, Senior Software Developer, Hyperboloid

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

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

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

В остальном необходимы, конечно, знание гайдлайнов, понимание MVC, навыки использования основных фреймворков Foundation, Cocoa, AppKit, CoreData, CoreAnimation, Quartz, умение работать со сторонними фреймворками, используя CocoaPods, и опыт подготовки приложения для публикации в App Store.

2. Основной инструмент – это среда разработки Xcode. Хотя ребята из JetBrains сделали классную IDE под названием AppCode, но ее использование затрудняется пока несколькими ограничениями. Со временем, я уверен, эти проблемы будут решены, и мы получим мощнейший инструмент, такой же как IntelliJ IDEA и ReSharper. По крайней мере я на это надеюсь и жду этого дня. Но пока основной средой остается Xcode.

В качестве системы контроля версий используется Git. Очень редко – Subversion.

Для трекинга задач нужно уметь работать с такими системами, как, например, Jira и Trello.

У нас в «Гиперболоиде» иногда бывает такое, что заказчик, для которого мы создаем приложение, настаивает на использовании своей трекинговой системы. Если заказчик с громким именем и платит хорошие деньги, отказать ему сложно. Поэтому разработчику приходится быть профессионалом и подстраиваться. В случае с крутыми заказчиками это даже приятно. Да и ничего сложного в этом нет.

3, 4. Ситуация такова, что рынок перегрет предложениями работодателей. Российских разработчиков активно «хантят» из-за рубежа. Сказывается и курсовая разница – иностранные компании, имеющие валютный оборот, могут предложить гораздо более существенную компенсацию. Помимо этого, они предлагают помощь в релокации, аренду жилья на первые несколько месяцев, выплачиваются подъемные. Это очень заманчиво.

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

5. Разумеется, особенно ценятся специалисты, способные разрабатывать для нескольких платформ – как для десктопов, так и для мобильных устройств.

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

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


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

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

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

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

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