Работа в Picodata

Компания Picodata — российский разработчик распределённой СУБД для критической инфраструктуры. Наша команда растёт; ниже открытые позиции и условия.

О компании

Компания Picodata основана экспертами по высоким нагрузкам с опытом разработки и внедрения систем, обслуживающих десятки тысяч запросов в секунду. Сотрудники компании — авторы собственных курсов по разработке и эксплуатации высоконагруженных приложений, регулярно выступают на конференциях.

Мы предоставляем полный спектр сервисов: от создания открытого и коммерческого ПО до внедрения, сопровождения и развития решений у заказчика. Наш софт обслуживает mission critical задачи и обеспечивает доступность выше 99,99 %. Заказчики — крупнейшие коммерческие и государственные организации России и СНГ.

Команда разрабатывает собственный продукт — распределённую СУБД с поддержкой плагинов на языке Rust — и внедряет решения на основе этого продукта.

Открытые вакансии

Ведущий разработчик Rust / C в продуктовую команду Picodata

Ваша роль

Реализация распределённых алгоритмов управления транзакциями, составом кластера, репликацией и перебалансировкой данных. Также вам предстоит:

  • Разрабатывать ядро продукта, в том числе писать разнообразные тесты.
  • Не только писать код, но и описывать свои идеи в формате RFC и документации, защищать их перед другими участниками проекта.
  • Отлаживать проблемы и чинить баги.
  • Ставить эксперименты: составлять бенчмарки, измерять производительность, изучать флеймграфы и проч.
  • Делать ревью кода.

Технологический стек

  • Ядро Tarantool на C и C++ — хранилище данных с подсистемой ввода-вывода, специализированные аллокаторы памяти, кооперативная многозадачность (stackful coroutines), цикл событий (libev). Поддерживаем собственный форк, по мере необходимости вносим изменения и взаимодействуем с апстримом.
  • Все верхнеуровневые подсистемы — менеджер кластера, схема данных, интерпретатор распределённого диалекта SQL, инфраструктурные библиотеки, плагины — реализованы на Rust. Все компоненты собираются в единый исполняемый файл; для работы с ядром активно используется FFI.
  • Тесты и вспомогательные скрипты — Python, Lua, Bash, Make.

Поддерживаем релизы под дистрибутивы Linux на двух архитектурах: x86 и ARM. Для удобства разработчиков частично совместимы с macOS.

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

Основные требования

  • Высшее или неоконченное высшее техническое образование.
  • Опыт работы программистом более 4 лет.
  • Знание Rust (предпочтительно) или других системных языков (C, C++), а также Java и Go.
  • Опыт системного программирования для Linux.
  • Опыт разработки распределённых систем.
  • Инструменты: cargo, git, gdb, perf, опционально eBPF.
  • Знание английского языка не ниже upper intermediate.

Будет плюсом

  • Знакомство с устройством СУБД (PostgreSQL, MySQL, SQLite, ClickHouse и т. п.) и/или умение их готовить (DBA/DevOps). Отдельной похвалы заслуживают коммиты в подобных проектах.
  • Способность поддержать разговор о системном программировании. Например, читали Роберта Лава или сами любите ковыряться в ядре Linux.
  • Открытые проекты на GitHub или других площадках — мы их с удовольствием изучим.

Условия

  • 100% белая заработная плата.
  • Официальное трудоустройство, предоставление документации для отсрочки от призыва и частичной мобилизации (IT-компания — производитель отечественного ПО).
  • Полная занятость, удалённая работа, график 5/2.
  • ДМС после прохождения испытательного срока, возможность приобретения ДМС на родственников, оплата 80% стоимости полиса ДМС детей до 18 лет работодателем. Программа действует по всей России.
  • Предоставляется оборудование по стандартам компании.
  • Центральный офис — г. Москва, м. Алексеевская.

Написать в службу HR →


Ведущий разработчик Rust в отдел решений Picodata

Ваша роль

Разработка и поддержка высоконагруженных систем на Rust с использованием СУБД Picodata для наших заказчиков: оптимизация производительности, реализация продуктовых фич, расширение телеметрии, улучшение эксплуатационных характеристик. Готовность не только разрабатывать исходный код, но и проактивно взаимодействовать с заказчиком: архитекторами, разработчиками, командой нагрузочного тестирования и сопровождения.

Стек

Основной язык — Rust. Также много работаем с Lua и Python; для понимания нюансов работы системы требуется знание C.

Инструменты: Rust, Tarantool, Git, Docker, Ansible, Kubernetes, Prometheus.

Требования

  • Высшее или неоконченное высшее техническое образование.
  • Опыт работы с Rust, C++, Java или Go от 3 лет.
  • Интерес к языку Rust.
  • Опыт работы с NoSQL СУБД.
  • Знание английского языка не ниже upper intermediate.

Будет плюсом

  • Опыт реализации проектов разработки cache-хранения больших данных с помощью технологий Tarantool / Hazelcast / Ignite / Infinispan / Gemfire в роли архитектора или старшего разработчика.
  • Знание принципов архитектурной организации витрин Tarantool и лучших практик их использования в качестве источника для быстрого подбора данных.

Условия

  • Полная занятость, удалённая работа, график 5/2.
  • Официальное трудоустройство, предоставление документации для отсрочки от призыва и частичной мобилизации (IT-компания — производитель отечественного ПО).
  • ДМС, возможность приобретения ДМС на родственников, оплата 80% стоимости полиса ДМС детей до 18 лет работодателем.
  • Оборудование по стандартам компании.
  • Уровень оплаты труда — по итогам собеседования.

Написать в службу HR →