Middle/Senior iOS Developer

Array ( [_job_location] => Array ( [0] => От 3 000 $ До 5 000 $ ) [_application] => Array ( [0] => https://hh.ru/vacancy/84201840 ) [adressgeod] => Array ( [0] => ) [_company_tagline] => Array ( [0] => О КОМПАНИИ Небольшая продуктовая компания, выпускаем по 1 приложению в квартал Приложения входят в TOP-100 в Health & Fitness Наши приложения фичерит Apple Команда меньше 10 человек, довольно много и глубоко погружаемся в рабочие задачи Нет овертаймов, но мы усердно работаем в рабочее время Вакансия: Middle/ Senior iOS Developer Базовые требования: Хорошие знания Swift 5 (мы работаем на 5.8) Базовые знания ФП-фреймворков (мы работаем на RxSwift, но знание ReactiveSwift или Combine не является проблемой) Мобильные паттерны проектирования – MVC-MVP-MVVM, Session/Environment, Fabric/Fabric method, Singleton, Adapter, Delegate/Closure, etc. KISS Умение написания алгоритмов, оценочной сложности, умение оценивать свои и не свои алгоритмы Git Бонусами будут: Опыт работы с Firebase Опыт работы с Lottie Опыт написание кастомных контролов различной сложности Использование SpriteKit как в играх, так и врезок в обычные приложения Инди, фан, пет, возможно коммерческий опыт геймдева Условия: Официальное трудоустройство в компанию в Грузии Зарплата 3000 – 5000 $ (Net) по результатам собеседования Идеально, если вы тоже в Тбилиси Мы не против удаленной работы, но будем рады видеть вас в офисе в Тбилиси 1-2 раза в неделю Вакансия:  Designer/ Illustraror Обязанности: Разработка дизайн-концепции мобильных приложений “с нуля” Создание визуальных элементов и графического контента для мобильных приложений, включая UI/ UX. Это работа над продуктом целиком – от интерфейса до иллюстраций/ анимаций Требования: Опыт работы графическим дизайнером от 3 лет Знания Adobe Illustrator, Photoshop, After Effects, Sketch Понимание основных принципов дизайна, композиции, цвета Самостоятельность, желание рисовать (в том числе желание рисовать разное, не только в своем стиле) Развитое воображение, креативность, увлеченность своим делом Опыт работы с мобильными приложениями и знание принципов UI/ UX будет большим плюсом Условия: Официальное трудоустройство в компанию в Грузии Достойная зарплата по результатам собеседования Идеально, если вы тоже в Тбилиси, но если нет, то нет) Мы не против удаленной работы, но будем рады видеть вас в офисе в Тбилиси 1-2 раза в неделю ) [_id_hh] => Array ( [0] => hh::84201840 ) [_id_api] => Array ( [0] => 145091 ) [rmp_vote_count] => Array ( [0] => 16 ) [rmp_avg_rating] => Array ( [0] => 5 ) [contacts_company] => Array ( [0] => a:0:{} ) [_company_website] => Array ( [0] => ) [xyz_smap] => Array ( [0] => 1 ) [xyz_smap_insert_og] => Array ( [0] => 1 ) [_eb_reusable_block_ids] => Array ( [0] => a:0:{} ) [rank_math_internal_links_processed] => Array ( [0] => 1 ) [_filled] => Array ( [0] => 0 ) [_featured] => Array ( [0] => 0 ) [post_views] => Array ( [0] => 33 ) ) Array ( [0] => WP_Term Object ( [term_id] => 33 [name] => Полный день [slug] => full-time [term_group] => 0 [term_taxonomy_id] => 33 [taxonomy] => job_listing_type [description] => [parent] => 0 [count] => 26251 [filter] => raw ) [1] => WP_Term Object ( [term_id] => 2900 [name] => Стажировка [slug] => junior [term_group] => 0 [term_taxonomy_id] => 2900 [taxonomy] => job_listing_type [description] => [parent] => 0 [count] => 9931 [filter] => raw ) )

At team LLC

О КОМПАНИИ Небольшая продуктовая компания, выпускаем по 1 приложению в квартал Приложения входят в TOP-100 в Health & Fitness Наши приложения фичерит Apple Команда меньше 10 человек, довольно много и глубоко погружаемся в рабочие задачи Нет овертаймов, но мы усердно работаем в рабочее время Вакансия: Middle/ Senior iOS Developer Базовые требования: Хорошие знания Swift 5 (мы работаем на 5.8) Базовые знания ФП-фреймворков (мы работаем на RxSwift, но знание ReactiveSwift или Combine не является проблемой) Мобильные паттерны проектирования – MVC-MVP-MVVM, Session/Environment, Fabric/Fabric method, Singleton, Adapter, Delegate/Closure, etc. KISS Умение написания алгоритмов, оценочной сложности, умение оценивать свои и не свои алгоритмы Git Бонусами будут: Опыт работы с Firebase Опыт работы с Lottie Опыт написание кастомных контролов различной сложности Использование SpriteKit как в играх, так и врезок в обычные приложения Инди, фан, пет, возможно коммерческий опыт геймдева Условия: Официальное трудоустройство в компанию в Грузии Зарплата 3000 – 5000 $ (Net) по результатам собеседования Идеально, если вы тоже в Тбилиси Мы не против удаленной работы, но будем рады видеть вас в офисе в Тбилиси 1-2 раза в неделю Вакансия:  Designer/ Illustraror Обязанности: Разработка дизайн-концепции мобильных приложений “с нуля” Создание визуальных элементов и графического контента для мобильных приложений, включая UI/ UX. Это работа над продуктом целиком – от интерфейса до иллюстраций/ анимаций Требования: Опыт работы графическим дизайнером от 3 лет Знания Adobe Illustrator, Photoshop, After Effects, Sketch Понимание основных принципов дизайна, композиции, цвета Самостоятельность, желание рисовать (в том числе желание рисовать разное, не только в своем стиле) Развитое воображение, креативность, увлеченность своим делом Опыт работы с мобильными приложениями и знание принципов UI/ UX будет большим плюсом Условия: Официальное трудоустройство в компанию в Грузии Достойная зарплата по результатам собеседования Идеально, если вы тоже в Тбилиси, но если нет, то нет) Мы не против удаленной работы, но будем рады видеть вас в офисе в Тбилиси 1-2 раза в неделю

Подробнее

КРАТКОЕ ОПИСАНИЕ ВАКАНСИИ

Базовые требования:

  • Хорошие знания Swift 5 (мы работаем на 5.8)
  • Базовые знания ФП-фреймворков (мы работаем на RxSwift, но знание ReactiveSwift или Combine не является проблемой)
  • Мобильные паттерны проектирования – MVC-MVP-MVVM, Session/Environment, Fabric/Fabric method, Singleton, Adapter, Delegate/Closure, etc. KISS
  • Умение написания алгоритмов, оценочной сложности, умение оценивать свои и не свои алгоритмы
  • Git

Бонусами будут:

  • Опыт работы с Firebase
  • Опыт работы с Lottie
  • Опыт написание кастомных контролов различной сложности
  • Использование SpriteKit как в играх, так и врезок в обычные приложения
  • Инди, фан, пет, возможно коммерческий опыт геймдева

Условия:

  • Официальное трудоустройство в компанию в Грузии
  • Зарплата 3000 – 5000 $ (Net) по результатам собеседования
  • Идеально, если вы тоже в Тбилиси
  • Мы не против удаленной работы, но будем рады видеть вас в офисе в Тбилиси 1-2 раза в неделю

ПОДРОБНОЕ ОПИСАНИЕ ВАКАНСИИ

Мы не ищем полного совпадения кандидата по стеку технологий – это редко когда возможно. Главные требования – хорошие знания Swift, понимание ФП, основных паттернов и алгоритмов, опыт и желание работать с графикой, анимациями, получать удовольствие от изучения нового и решения невозможных задач.

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

  • Swift 5.8 и всегда последний, который идет вместе с последней стабильной версией xCode.
  • RxSwift/RxCocoa 6.5 и всегда последний, pod update всех подов каждые 2 месяца. Если нет опыта с RxSwift, но есть опыт с ReactiveSwift, Combine, любым другим ФП фрэймворком – это не является проблемой, главное понимать ФП-парадигму и уметь на базовом уровне работать с основными ФП-операторами (distinct, combineLatest, throttle, flatMap, etc.)
  • верстка сделана на SnapKit, но можно использовать любой любимый фрэймворк, главное требование – без StoryBoard и, по возможности, без xib. SwiftUI пока нет, большую часть нашего UI на нем просто невозможно сделать без мешанины с UIKit, но возражений против его использования тоже нет
  • главный паттерн – KISS, т.к. проекты технически сложные, и over-architectured, характерный для многих энтерпрайз-решений, сильно снизит темп
  • архитектура – четкий Flow (не RxFlow по некоторым причинам), высокая модульность, Session/Environment с четкими сроками жизни объектов, связки MVVM/MVP where applicable (в некоторых местах хорошо ложится на MVVM, в других – лучше на MVP из-за специфики приложений). Никаких синглтонов без очевидной необходимости, но если срок жизни объекта равен сроку приложения – религиозных запретов на использование синглтонов и прочей статики тоже нет. I из SOLID, O из SOLID, S из SOLID – самые уважаемые буквы.
  • TDD где удобнее начинать с тестов, тесты на критический функционал. Но без фанатизма, никаких энтерпрайзных code coverage нет и никогда не будет.
  • скрипты валидации ресурсов, конвертации ресурсов – на swift, CD – на shell через xcodebuild, CI отсутствует (пока).
  • всегда минимум memory ликов, периодический профайлинг как Allocations, так и CPU/GPU. Хорошим плюсом будет дружба с Instruments, умение находить лики, глитчи, боттлнеки по пефомансу.
  • в проектах есть и будет написано много кастомных контролов. Опыт написания простых и сложных кастомных контролов категорически приветствуется.
  • UIKit – работа с draw(in rect:), CALayer, понимание render tree, responder chain, CADisplayLink будет хорошим плюсом.
  • в некоторых проектах используется SpriteKit, Fragment Shaders, иногда напрямую Metal, физический движок soft body JelloSwift, возможно будем использовать какой-нибудь rigid body типа box2d. Связанные и свободные, из кода и из редактора эмиттеры частиц. Опыт в разработке инди-игр по фану, либо работа в коммерческом геймдеве в любом виде и роли, любовь к играм с точки зрения графики – большой плюс.
  • Lottie и BodyMovin для нас является не только подом “векторных гифок” для красивых кнопок, но и важной частью движка приложения, т.к. на нем завязано большое количество функционала как фитнес, так и релакс-приложений. Присутствует fork Lottie на основе Lottie 4.0 с впиливанием нужных фич (профайлинга рендеринга, фишек для динамической кастомизации и т.п.) – раз в год переходим на последнюю версию Lottie.
  • Firebase всегда последней версии (на текущий момент 10.9.0) – используется как основной бэкэнд, поэтому используются почти все имеющиеся фичи. Storage, Crashlytics, RemoteConfig, Auth, RTDB, Analytics, Functions на CoffeeScript когда чего-то не хватает. Опыт работы с Firebase будет хорошим плюсом.
  • Git – по возможности, стандартный GitFlow, на данный момент несколько упрощенный (но с ростом команды будет все ближе к полноценному GitFlow).
  • SwiftLint последней версии с почти стандартным конфигом, на данный момент в проекте 0 Warning-ов, и в деве/мастере это правило.
  • deployment target – (actualiOSVersion – 2) == 14, раз в год после нового года автоинкрементится. Хотя поды все свежие, и использование хороших подов против велосипедов поощряется – поды с количеством звезд <1000, или заброшенные годы назад – отвергаются к использованию за редкими исключениями.
  • trello а не jira, никакого тайм-трекинга, никаких бесполезных коллов по 3 часа, никакой лишней бюрократии. ПМ (и проджект и продакт) один – это фаундер компании, все вопросы решаются быстро и напрямую.
  • алгоритмы – т.к. требуется достаточно часто их и писать, и понимать для высокопроизводительной графики. Не надо знать на память 10 видов сортировок, надо понимать что такое ассимптотическая сложность. Не надо знать 5 видов хэш-функций, надо знать что такое хэш.

Мы – продуктовая компания, время на рефакторинг/апдейт есть всегда, для этого между спринтами выделяются чисто технические спринты по мере накопления чисто технических задач в бэклоге. Стандартные аргументы вида: “зальем в прод как есть, потом само пофиксится” не принимаются. Мы быстро растем – и именно поэтому качество всегда важнее количества.

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

Сфера деятельности:

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

Пожалуйста, укажите в отклике, что нашли эту вакансию на Pawetta.ru

Чтобы откликнуться на эту работу, пожалуйста, посетите hh.ru.