IOS developer (Core Team)
Обязанности
Dodo Engineering — IT-подразделение международной компании Dodo Brands, развивающей 3 бренда:
- Додо Пицца: более 720 пиццерий в 15 странах;
- Дринкит: 3 кофейни в Москве и 1 в Самаре;
- Донер 42: 1 донерная в Москве.
Подробнее о Dodo Engineering можно прочитать в нашем RTFM.
Над Додо Пиццей работает несколько команд, поговорим о core-тиме.
Главная задача CoreTeam — поставлять универсальные решения для всех проектов, чтобы команды продуктовой разработки могли сосредоточиться на фичах.
Уже сделали:
- Модуль оплат, который подключён к стартапам Дринкит и Донер 42. Работы с платежами так много, что в следующем году над ними будет работать отдельная фича-команда.
- Инфраструктура для UI-тестов. Теперь у нас есть прокси, который может локально сохранить и подменить запросы к реальному стенду, от чего наши тесты стали быстрее и стабильнее. Покрытие регресс-плана UI-тестами 75%.
Универсальные модули для работы с аналитикой: один отправляет данные в Kusto, другой — прокси, который отправляет одно событие в разные аналитики. Нужно мигрировать приложение Додо Пиццы на этот фреймворк: придумать, как эффективно тестировать аналитику, и после этого мигрировать запросы на новый формат.
Планы:
Мы начали писать общие модули, когда у нас появились стартапы. По разным причинам код из Додо Пиццы не подходил, поэтому решения написаны с ноля. Большая задача сделать их полностью универсальными.
- Полностью универсальный модуль оплат. Мы возьмём шифрование разных эквайеров из Додо Пиццы, поменяем флоу работы с оплатой и обновим UI.
- Ещё больше прокачать аналитику и научить команды опираться на данные: собирать нужные, писать KQL-запросы в Kusto, строить дашборды. Универсальная библиотека аналитики позволит встраивать её в общие модули, от чего в Core будет доступ ко всем нужным данным и станет легко держать руку на пульсе.
- Автоматизировать релиз. Сейчас над приложением Додо Пиццы работает уже 6 команд, поэтому поток релизов стабильный, фич внутри много, нужно упрощать и ускорять процесс релиза.
Много других планов: общая авторизация, геококодинг и разное другое, но это уже в 2023, скорее всего.
Стек:
Самый разный, зависит от проекта. Особенных зависимостей у нас нет, архитектуры тоже обычные: VIPER, MVVM.
Минимальная версия iOS 12-13, все проекты используют разные части Firebase.
В кор-модулях точно будет много про тесты, поэтому можно ориентироваться на XCTest, Quick, Nimble и CustomDump.
Сейчас проекты на CocoaPods, Додо Пиццу переводим на Tuist и SPM, все движутся в сторону SPM.
В остальном можно влиять на стек и постепенно синхронизировать его между проектами.
Стартапы готовы писать на Combine и SwiftUI и начинают их внедрять.
Требования
- Опыт коммерческой разработки на Swift от 3 лет.
- Продукто-ориентированность, предлагать идеи для улучшения.
- Умение верстать нестандартные интерфейсы.
- Наличие рабочих или личных pet-проектов в AppStore или на GitHub.
- Самостоятельность и ответственность за свой код.
Условия
- Онбординг. В течении первых трёх месяцев тебе во всём помогает опытный разработчик, а потом останется твоим ментором. Не будет периода, когда ты не знаешь куда идти, у кого спросить и что делать. Погружение во все процессы максимально стремительное и гладкое.
- Кроссфункциональные команды. В каждой команде есть все нужные специалисты: Android, iOS, QA, бэкенд, продакт оунер. Все компетенции рядом, чтобы иметь полный контроль над задачей.
- Постоянная работа с техдолгом. Мы критически относимся к техдолгу, поэтому каждую неделю планируем работы по его устранению, берём их и исправляем (всё по договорённости с продактами).
- CoreTeam поставляет универсальные инструменты. За последние полгода сделали модули для универсальной работы геолокации, аналитики, оплаты. В планах сделать единую авторизацию, контроль безопасности и адресную систему.
- Collective Code Ownership. Мы не делимся по отдельным фичам, каждый продукт может повлиять на любую часть приложения. Например, программа лояльности может поменять меню, экран бонусов, заказ и трекинг заказа. Высокая свобода, но и высокая ответственность.
- Еженедельная встреча гильдий iOS- и Android-разработчиков всей компании. Рассказываем, чему научились, что попробовали, с какими проблемами столкнулись.
Мобайл комьюнити. Раз в месяц мы собираемся вместе с iOS и Android и обсуждаем совсем общие темы. Например, говорим про Trunk-based Development:
Приятные бонусы:- Формат работы — удаленно или в офисе на выбор
- Официальное оформление
- ДМС со стоматологией
- Возможность обучения - оплата профильных конференций и курсов, покупка профессиональной литературы
- Митапы, лекции, воркшопы, интенсивы и возможность прокачать личный бренд.