Должность: Flutter Developer | Senior
Компания: BlancVPN
Местоположение: Удаленно
ЧТО МЫ СОЗДАЕМ
BlancVPN ищет Flutter Engineer | Senior для поддержки разработки клиентского приложения в команде: вместе с разработчиками и владельцами смежных доменов (backend/infra) — от Flutter/Dart до нативного кода для iOS/Android/Windows/Linux, платформенных каналов (Pigeon) и интеграции с сетевыми ядрами, написанными на Go.
Цель этой роли — обеспечить стабильность клиента в постоянно меняющейся среде — в том числе во время блокировок, отключений, деградации каналов и обнаружения протоколов — и создать архитектуру, которая сможет выдержать эти трудности с помощью инженерных решений.
ЧТО МЫ ИЩЕМ
ОСНОВНЫЕ ТРЕБОВАНИЯ
- Свободное владение русским и английским языками (B2+)
- Опыт работы в мобильной разработке более 5 лет, значительная часть из которых была посвящена Flutter и сложным производственным проектам
- Нативная разработка для iOS и Android. Глубокое владение одной платформой: пользовательские модули, платформенные каналы или Pigeon, а также системные API. Уверенное владение другой платформой для написания кода и отладки
- Сетевой уровень ниже HTTP-клиента. TCP и UDP, TLS, сокеты, маршрутизация, поведение соединения при отключениях и деградации. Сетевой уровень реализован на нативном коде и ядрах Go, поэтому требуется опыт отладки сетей на этом уровне
- Опыт низкоуровневой разработки, даже минимальный. C или C++, Go, Rust, dart:ffi, cgo, бинарные форматы. Глубокая специализация в системе не требуется; необходим опыт решения задач вне Flutter
- Ответственность и проектирование. Сквозная ответственность за функциональность: определение проблемы, техническое решение, спецификация, выпуск и отслеживание метрик после выпуска. Примеры, когда кандидат разработал нетривиальную часть системы. Некоторые функции могут затрагивать смежные области — важно уметь координировать работу с владельцами backend/infrastructure, помогать в настройке, воспроизведении и диагностике проблем, а также добиваться успешного результата путем сотрудничества
- Отладка и исследование. Способность добраться до сути проблемы, даже если причина кроется в другом слое. Проверка гипотез с помощью прототипов и принятие обоснованных решений при отсутствии готового ответа
- Тестирование. Модульное, компонентное, интеграционное и end-to-end тестирование. Понимание, что следует покрывать автоматизированными тестами, а что выгоднее тестировать вручную
ПРИВЕТСТВУЕТСЯ
- Опыт в предметной области: VPN-протоколы (WireGuard, OpenVPN, Xray, Amnezia), обход блокировок и DPI
- Низкоуровневая разработка: бинарные протоколы и пользовательские реализации протоколов по спецификациям; опыт работы в условиях строгих ограничений по памяти (расширения, демоны, встраиваемые системы, движки); разработка в реальном времени с нуля (WebRTC, MQTT, пользовательские протоколы поверх WebSocket)
- Смежные области: серверная разработка, Go, Python, Linux-узлы, Docker, основы DevOps
- Desktop: службы и демоны, повышение привилегий, установка системных компонентов, расширения ОС; сетевые функции на уровне ОС (маршрутизация, DNS, фильтрация трафика); системная интеграция (системный трей Windows, панель меню macOS, автозагрузка и фоновая работа), установщики и подписание сборок
- Инфраструктура разработки: понимание того, как настроить внутреннюю клиентскую инфраструктуру, чтобы тестирование и доставка способствовали качеству продукта (автоматизированные прогоны, конвейеры выпуска, сборки и подписание для всех платформ, каналы обновлений, GitHub Actions, Fastlane, Codemagic)
- Публичный след: собственные пакеты на pub.dev, open source, статьи, низкоуровневые pet-проекты
ЧТО ВЫ БУДЕТЕ ДЕЛАТЬ
- Разрабатывать клиентское приложение: функции, архитектуру, производительность и стабильность выпуска
- Писать и поддерживать нативный код для iOS, Android, Windows и Linux там, где Flutter не справляется
- Понимать поведение соединения в реальных сетях: отключения, деградация канала, отработка отказов и особенности конкретного оператора
- Управлять функциями от начала до конца: планирование → техническое решение → реализация → выпуск → метрики/влияние (в сотрудничестве с командой и заинтересованными сторонами)
- Исправлять ошибки до корневой причины, в том числе те, что не относятся к Dart (по мере необходимости в сотрудничестве со смежными инженерами)
- Поддерживать и разрабатывать форки сторонних плагинов и ядер, обеспечивая совместимость и предсказуемое поведение
ЧТО МЫ ПРЕДЛАГАЕМ
🌍 Работайте откуда угодно — полностью удаленно (кроме России, Беларуси, Китая, Сирии, Ирана, Йемена, Северной Кореи и некоторых других регионов).
🗓️ Гибкая 5-дневная рабочая неделя — начинайте, когда вам удобно; примерное соответствие CET.
💻 Полное обустройство домашнего офиса — все необходимое оборудование за наш счет.
🌴 40 гибких оплачиваемых выходных + оплачиваемые больничные.
❤️ Льготы — VHI, оздоровительные программы, языковые курсы, поддержка ментального здоровья и реферальная программа.
📈 Возможности для роста — ежегодный бюджет на развитие + личные встречи команды.
ЭТАПЫ
👋 Приветственный звонок
🛠️ Технический звонок
🤝 Предложение о работе