Компания: Property Finder
Местоположение: Каир, Египет
Property Finder — ведущий портал недвижимости в регионе Ближнего Востока и Северной Африки (MENA), призванный формировать инклюзивное будущее недвижимости, возглавляя растущую технологическую экосистему региона. В основе этого лежит четкая и мощная цель: изменить жизнь в регионе к лучшему.
Основанная на ценности больших амбиций, Property Finder ежедневно связывает миллионы ищущих недвижимость с тысячами специалистов по недвижимости. Платформа предлагает беспрепятственный и обогащающий опыт, давая покупателям и арендаторам возможность принимать обоснованные решения. С момента своего основания в 2007 году Property Finder превратился в надежного партнера для застройщиков, брокеров и тех, кто ищет жилье. Как ведущая технологическая компания, она продолжает создавать среду, в которой люди могут процветать и вносить значительный вклад в трансформацию рынка недвижимости в MENA.
Обзор роли
В качестве Middle iOS Engineer вы присоединитесь к межфункциональной продуктовой команде, состоящей из инженеров, менеджера по продуктам и дизайнера. Вы будете полностью отвечать за разработку функций, от этапа планирования до выпуска в App Store, и будете частью iOS-направления, которое устанавливает наши стандарты в области архитектуры, качества и инструментов. Мы перестраиваем приложение для iOS 26, поэтому вы будете работать с современной, модульной кодовой базой SwiftUI и формировать новый пользовательский опыт.
Ключевые обязанности
- Создание продуктовых функций в SwiftUI, работа с дизайнерами и менеджерами по продуктам для предоставления отполированных, доступных экранов, поддерживающих правосторонние арабские раскладки.
- Работа в рамках нашей архитектуры: MVVM с @Observable view models, адаптерный слой между UI и бизнес-логикой, внедрение зависимостей Factory и локальные Swift packages для UI, навигации, сетевых запросов и отслеживания.
- Интеграция с серверными службами через асинхронные сетевые запросы (async/await) и коннекторы API, сгенерированные на основе спецификаций OpenAPI, включая нашу систему UI, управляемую сервером (backend-driven UI), где сервер определяет, какие разделы отображаются на экране.
- Выпуск функций с использованием feature flags и A/B тестов, а также их инструментация с помощью аналитики, чтобы продуктовые решения основывались на данных.
- Написание модульных тестов (XCTest и Swift Testing с сгенерированными mock-объектами) и snapshot-тестов, а также вклад в наши сквозные наборы тестов.
- Участие в цикле выпуска: CI на GitHub Actions, fastlane, TestFlight и поэтапный выпуск в App Store, с последующим мониторингом сигналов сбоев и производительности после каждого выпуска.
- Обзор pull requests, написание и обсуждение RFC, а также повышение производительности, стабильности и удобства разработки приложения.
Желаемый опыт
- Более 3 лет профессиональной разработки под iOS, включая как минимум одно приложение, выпущенное в App Store и поддерживаемое в продакшене.
- Глубокие знания Swift и практический опыт работы с SwiftUI: управление состоянием (@State, @Binding, @Observable), жизненный цикл представления (.task, onAppear), списки, формы и навигационные потоки.
- Прочный опыт работы со Swift Concurrency (async/await, tasks, actors) и рабочее знание Combine.
- Четкое понимание архитектуры и разделения обязанностей: MVVM или аналогичный паттерн, паттерн репозитория, внедрение зависимостей, принципы SOLID и код, разработанный для тестируемости.
- Продуктовое мышление: безопасный код без принудительных разверток или
fatalError шорткатов, корректная обработка состояний загрузки, ошибок и пустых состояний, обратная совместимость со старыми версиями iOS и внимание к производительности SwiftUI.
- Способность объяснять компромиссы, например, как сохранять данные локально или как структурировать модуль, и обосновывать сделанный выбор.
- Модульное тестирование как часть обычного рабочего процесса. Уверенное владение Git, рабочими процессами pull-request и code review.
Приятно иметь
- Опыт работы с модульными приложениями, построенными на Swift packages, и с инструментами генерации проектов, такими как XcodeGen или Tuist.
- Опыт работы с UI, управляемым сервером (backend-driven UI), или серверным UI. Опыт работы с UIKit и взаимодействие SwiftUI/UIKit.
- Инструментация аналитики (Google Analytics 4, Firebase) и фреймворки A/B тестирования.
- Мобильная CI/CD: fastlane, GitHub Actions, TestFlight и поэтапные выпуски.
- Локализация и правосторонние раскладки.
- Опыт работы с Kotlin Multiplatform или модулями React Native в нативном приложении.
- Инструменты мониторинга сбоев и производительности, а также автоматизация snapshot-тестов или UI-тестов.
Наше обещание талантам
В Property Finder мы верим, что таланты процветают в среде, где вы можете быть лучшей версией себя. Где вы получаете возможность творить, развиваться, расти и заботиться. Наша команда состоит из самых лучших и ярких умов, объединенных общим стремлением изменить жизнь в регионе к лучшему. Мы привлекаем лучшие таланты, которые хотят оказывать влияние. Мы твердо верим, что когда наши люди растут, мы все добиваемся успеха.
Руководящие принципы Property Finder
- Думай о будущем в первую очередь
- Данные лучше мнений, скорость лучше совершенства
- Оптимизируй для воздействия
- Действуй как владелец
- Самый большой риск — это не рисковать вообще