Яндекс.Метрика
Назад к карьере
Полная занятостьМобильная разработкаУдаленно

iOS-разработчик (Senior)

Мы ищем iOS-разработчика уровня Senior в команду, которая развивает мобильное приложение Пачка.

О продукте

Пачка — корпоративный мессенджер с сотнями тысяч пользователей и крупными клиентами. Делаем его как основной продукт компании и сами ежедневно используем в работе.

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

Команда распределённая и уже много лет работает удалённо — процессы и коммуникации выстроены под такой формат.

Что предстоит делать

  • Самостоятельно вести разработку фич: от проработки решения до релиза
  • Проектировать решения, декомпозировать задачи
  • Учитывать все состояния фич и пограничные кейсы, а не только happy path
  • Обсуждать решения, задавать вопросы и участвовать в технических обсуждениях
  • Работать с существующим кодом и улучшать его
  • Писать тесты и поддерживать качество кода

Мы ожидаем

Обязательно:

  • Опыт разработки и поддержки iOS-приложений на Swift в продакшене от 5 лет
  • Опыт коммерческой разработки на SwiftUI от 1 года
  • Хорошее понимание архитектуры iOS-приложений
  • Понимание принципов SOLID и Clean Architecture и умение применять их на практике
  • Опыт работы с асинхронностью и сетевым взаимодействием
  • Умение читать и улучшать существующий код
  • Опыт code review и командной разработки

Будет плюсом:

  • Опыт работы с модульными приложениями
  • Reactive-подходы

Что для нас особенно важно

Мы ищем человека, который:

  • Вовлечён в продукт и переживает за результат
  • Умеет работать самостоятельно и доводить задачи до результата
  • Не боится задавать вопросы и прояснять требования
  • Внимателен к деталям интерфейса, логики и UX-состояний
  • Думает о поддерживаемости кода и архитектуре
  • Умеет коммуницировать: если в задаче чего-то не хватает — задаёт вопросы, уточняет и обсуждает

Если вам важно просто закрывать задачи — скорее всего, мы не подойдём друг другу.

Как мы работаем

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

Мы не стремимся реализовывать макеты любой ценой, но для нас важен аккуратный UI: консистентность, состояния (loading/empty/error), отступы/типографика и внимание к мелочам. Если решение получается неоправданно сложным или хрупким, обсуждаем и вместе с дизайном и продуктом ищем более удачный вариант.

Используем принципы SOLID и архитектурные практики там, где они реально помогают. Мы гибкие и не усложняем процессы ради процессов.

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

Регулярно улучшаем developer experience, автоматизируем рутину и стараемся упрощать разработку там, где это возможно.

Команда небольшая, поэтому решения принимаются быстро, обсуждения проходят напрямую, и у разработчиков есть реальное влияние на продукт и технические решения. Code review и обсуждение архитектуры — обычная часть работы, а не формальность.

Наш стек

Мы разрабатываем модульное iOS-приложение на Swift, с layered-архитектурой и большим количеством внутренних модулей. У нас достаточно сложное приложение: realtime-фичи, звонки, модульная архитектура и большой объём кода, поэтому нам важны инженерное мышление и аккуратность в реализации.

В проекте есть легаси-части, которые мы постепенно переписываем и улучшаем.

Используем:

  • UIKit (legacy UI) и SwiftUI (новые модули)
  • Swift Concurrency
  • PromiseKit (legacy)
  • Combine и RxSwift (legacy)
  • CoreData
  • Moya, WebSocket
  • Swinject
  • Texture/AsyncDisplayKit (legacy)
  • Swift Package Manager и CocoaPods
  • XCTest (unit и UI-тесты)
  • GitLab CI и Fastlane
  • SwiftLint
  • XcodeGen

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

Формат работы

Полностью удалённая работа. Работаем распределённой командой, основные коммуникации — в чате и на созвонах по необходимости.

Интервью

  1. Познакомимся, поговорим про опыт
  2. Техническое интервью
  3. Систем-дизайн интервью
  4. Интервью с фаундерами

Как откликнуться

Если откликается такой формат работы — присылайте:

  • Краткое описание ваших проектов, ваша зона ответственности в них и достижения
  • Несколько слов о задачах, которые вам особенно запомнились и почему. Расскажите техническим языком, как рассказывали бы на синке iOS-команды
  • Ссылку на git (если есть)

Заинтересовала вакансия?

Заполните форму на странице карьеры или напишите нам напрямую.