Разработчик мессенджера на базе Matrix/Element
Компания-лидер в проектировании и строительстве промышленных инженерных сетей ищет опытного разработчика для создания корпоративного мессенджера на базе Matrix/Element. Требуется глубокий опыт с Matrix SDK, серверной разработкой (Python/Go), криптографией и DevOps. Предлагают высокий доход, официальное оформление, работу в центре Москвы с возможностью гибридного формата.
Зарплата ниже рынка
На 20% ниже медианы Rust по 13 вакансиям за 90 дней.
Что предстоит делать
СоюзДонСтрой — ведущая компания в области проектирования и строительства промышленных инженерных сетей по всей России и странам СНГ. Наша компания занимает лидирующие позиции в сфере современной инженерии и является одним из ключевых исполнителей в рамках контрактов EPC (Проектирование, Строительство, Эксплуатация). На протяжении более 16 лет мы занимаем лидирующие позиции в области современной инженерии, являясь надежным партнером для реализации масштабных проектов любой сложности. Наш портфель включает более 100 успешно завершенных социальных, городских и промышленных объектов, реализованных для 26 субъектов Российской Федерации. Основные направления деятельности: - Проектирование и монтаж инженерных коммуникаций; - Строительство объектов водоснабжения, водоотведения, очистных сооружений; - Реализация сложных инфраструктурных решений для промышленности и городского развития. Команда и география: Головной офис расположен в Москве, у нас есть 5 обособленных подразделений в Ростов-на-Дону, Краснодаре, Ставрополе, Севастополе и Барнауле. В компании трудится более 900 профессионалов — инженеров, проектировщиков, строителей и специалистов по управлению проектами, объединенных целью создавать инфраструктуру, соответствующую самым высоким стандартам.
- Разработка серверной логики: Написание и кастомизация кода для домашних серверов Matrix (Synapse на Python или Dendrite на Go), включая реализацию пользовательских модулей авторизации, фильтрации контента и политик хранения данных.
- Управление федерацией: Настройка и отладка взаимодействия между домашними серверами (Federation API). Обеспечение корректного обмена событиями (PDUs, EDUs) между серверами в распределенной сети.
- Application Services (Интеграция): Разработка мостов (bridges) для связи Matrix с внешними мессенджерами (Telegram, WhatsApp, Slack) и корпоративными системами с использованием Appservice API.
- Безопасность и шифрование: Реализация сквозного шифрования (E2EE) на серверной стороне: управление ключами Olm/Megolm, настройка Blacklist/Whitelist серверов, интеграция с модулями PKI (Public Key Infrastructure).
- Масштабирование: Шардирование баз данных (PostgreSQL), настройка очередей (Redis, NATS) и балансировка нагрузки для обработки миллионов событий в час.
- DevOps: Деплой и обслуживание кластера серверов Matrix в Docker/Kubernetes, управление сертификатами TLS, настройка reverse-proxy (Traefik/Nginx).
- Интеграция SDK: Встраивание Matrix Rust SDK в мобильные приложения (Flutter/Dart, Kotlin, Swift) для обеспечения сетевого взаимодействия, криптографии и синхронизации.
- Реализация UI/UX: Разработка интерфейсов для чатов, каналов (комнат), истории сообщений, обмена файлами и настройки уведомлений. Ребрендинг или доработка кодовой базы Element (Element Android/iOS).
- Офлайн-режим и синхронизация: Реализация умного кэширования (SQLite, Realm) для работы без интернета и эффективной синхронизации большого объема исторических сообщений.
- E2EE на клиенте: Реализация проверки ключей безопасности (Cross-signing, SAS verification), импорт/экспорт ключей, отображение статуса шифрования в интерфейсе.
- Медиа и VoIP: Интеграция WebRTC для голосовых и видеозвонков, управление качеством передачи видео/аудио, отправка файлов через медиа-репозитории (Media Repo).
- Push-уведомления: Настройка доставки пушах через стандартные сервисы (FCM/APNS) с использованием Matrix Push Gateway.
- Интеграция SDK: Встраивание Matrix Rust SDK в мобильные приложения (Flutter/Dart, Kotlin, Swift) для обеспечения сетевого взаимодействия, криптографии и синхронизации.
- Реализация UI/UX: Разработка интерфейсов для чатов, каналов (комнат), истории сообщений, обмена файлами и настройки уведомлений. Ребрендинг или доработка кодовой базы Element (Element Android/iOS).
- Офлайн-режим и синхронизация: Реализация умного кэширования (SQLite, Realm) для работы без интернета и эффективной синхронизации большого объема исторических сообщений.
- E2EE на клиенте: Реализация проверки ключей безопасности (Cross-signing, SAS verification), импорт/экспорт ключей, отображение статуса шифрования в интерфейсе.
- Медиа и VoIP: Интеграция WebRTC для голосовых и видеозвонков, управление качеством передачи видео/аудио, отправка файлов через медиа-репозитории (Media Repo).
- Push-уведомления: Настройка доставки пушах через стандартные сервисы (FCM/APNS) с использованием Matrix Push Gateway.
- Интеграция SDK: Встраивание Matrix Rust SDK в мобильные приложения (Flutter/Dart, Kotlin, Swift) для обеспечения сетевого взаимодействия, криптографии и синхронизации.
- Реализация UI/UX: Разработка интерфейсов для чатов, каналов (комнат), истории сообщений, обмена файлами и настройки уведомлений. Ребрендинг или доработка кодовой базы Element (Element Android/iOS).
- Офлайн-режим и синхронизация: Реализация умного кэширования (SQLite, Realm) для работы без интернета и эффективной синхронизации большого объема исторических сообщений.
- E2EE на клиенте: Реализация проверки ключей безопасности (Cross-signing, SAS verification), импорт/экспорт ключей, отображение статуса шифрования в интерфейсе.
- Медиа и VoIP: Интеграция WebRTC для голосовых и видеозвонков, управление качеством передачи видео/аудио, отправка файлов через медиа-репозитории (Media Repo).
- Push-уведомления: Настройка доставки пушах через стандартные сервисы (FCM/APNS) с использованием Matrix Push Gateway.
- Откликаясь на данную должность просьба письменно ответить на перечень некоторых вопрос.
- Разрабатывали ли мессенджеры на базе Element-x?
- Как в Matrix реализован VoIP и видеозвонки? Какой протокол используется поверх Matrix (WebRTC) и как происходит сигналинг?
- С какими Matrix SDK вы работали? (Rust SDK, matrix-js-sdk, matrix-ios-sdk и т.д.) Расскажите про опыт интеграции.
- Как обрабатывать push-уведомления в Matrix клиенте? Что такое Push Gateway и как настроить доставку через FCM/APNS?
- Как в клиенте правильно реализовать поиск по истории сообщений? Какие ограничения есть у /search API и как с ними работать?
- Как работает Application Service API? Приведите пример: как написать мост (bridge) между Matrix и Telegram с использованием double puppeting?
Что ждём от вас
- Обязателен практический опыт в разработке мессенджера на базе element-x с брендирование и выпуском в store.
Что предлагаем
Стек и инструменты
Подходит ли вам эта вакансия?
Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть
Похожие вакансии
6 вакансий
Backend Developer
Разработка backend-сервисов для блокчейн-продукта: проектирование архитектуры, внедрение ZK-схем, интеграция с Ethereum и PoA-сетью. Требуется опыт от 6 лет с Node.js/TypeScript, от 1 года с Rust и криптографией. Работа полностью удалённая, fulltime, с официальным оформлением и соцпакетом.
Rust разработчик (центр компетенций)
Крупный банк создает центр компетенций по Rust и ищет опытного разработчика для проектирования архитектуры и интеграций. Требуется уверенное владение Rust, опыт с REST/gRPC, Docker, Kubernetes и Kafka. Предлагается удаленная работа на проект 6-12 месяцев.
Rust Developer (Middle+)
Разработка и поддержка backend-сервисов на Rust с использованием Docker, Kubernetes и Apache Kafka. Требуется опыт написания тестов. Предлагается удаленная работа на полный день.
Senior Rust разработчик
Ищем Senior Rust разработчика для работы над системным ПО — разработкой модулей для СУБД и переписыванием кода с C на Rust. Требуется уверенное знание Rust, опыт системного программирования и работы с базами данных. Предлагают удаленную работу, гибкий график и участие в масштабных проектах.
Senior Backend разработчик (Rust)
Ищем опытного Senior Backend разработчика на Rust для создания высоконагруженной платформы видеомониторинга и видеоаналитики с ML. Нужно проектировать архитектуру, оптимизировать производительность и менторить коллег. Предлагают гибридный график, ДМС, бонусы и обучение.
Middle/Senior Rust разработчик
~1 823 250 – 3 528 538 ₸ оценка
Ищем опытного Rust-разработчика для создания высокопроизводительного торгового движка. Требуется уверенное знание Rust, опыт с низколатентными системами и облачными технологиями. Предлагаем удаленную работу, гибкий график и интересные задачи в международной команде.