Компания "Крибрум" разрабатывает систему обработки, хранения и многофакторного анализа публично доступных данных, получаемых из разнообразных интернет-источников: социальные сети, СМИ, блоги и т.п.
Система ежедневно обрабатывает сотни миллионов текстовых документов, изображений и других типов данных. В составе системы разрабатываются собственные специализированные хранилища для больших объемов данных и инструменты для их обработки.
Что предстоит делать:
- Написание различных сервисов и библиотек на Rust (вариация микросервисной архитектуры);
- Творческий подход к каждой обрабатываемой платформе для достижения возможности оптимального извлечения интересующих данных;
- Эксперименты и исследования для достижения высокой производительности извлечения, основываясь на понимании базовых принципов работы сетей, DNS, TLS, особенностей браузеров, а так же различных сетевых протоколов (HTTP, GraphQL и прочие).
Мы ожидаем, что кандидат уверенно знает Rust и обладает общими знаниями computer-science:
- Зачем нужны маркер-трейты, для чего нужен Pin, основные принципы работы асинхронного кода в Rust и т.д;
- В своей работы мы используем tokio, cdrs-tokio, tokio-postgres, scraper, sled и много чего из инфраструктуры Rust. Знание этих библиотек не является обязательным, но будет хорошим бонусом при найме;
- Понимание устройства WEB: модель TCP/IP, Tor на уровне пользователя, устройство HTTP 1/2, TLS, DNS, структуры HTML, JS/TS на уровне чтения кода;
- Опыт базового администрирования Linux-систем: работа с SSH, использование SystemD или Init, работа с сетью (посмотреть свой IP, переадресовать трафик, настроить DNS), работа с файловой системой (настроить права доступа, примонтировать или отмонтировать ФС).
Плюсами будут:
- Наличие GitHub с примерами Rust-кода;
- Опыт быстрой обработки высокого потока трафика;
- Опыт работы с большими объёмами данных;
- Опыт разработки распределенных систем;
- Навыки работы с популярными и производительными базами данных (Redis, Sled, SQLite и т.д.);
- Опыт работы с различными headless-браузерами (selenium, playwright, puppeteer и т.д.);
- Знакомство с RabbitMQ, Cassandra, Postgres;
- Знакомство с SystemD для запуска сервисов;
- Знакомство с Ansible для автоматизации настройки серверов;
- Навыки работы с Prometheus/Grafana для мониторинга;
- Опыт профилирования приложений, написанных на Rust (perf, flamegraph, samply и т.д.);
- Опыт низкоуровневых оптимизаций кода для снижения потребления CPU/RAM.
Что мы предлагаем:
- Полностью новый код всей инфрастуктуры написан на Rust, нет legacy-кода;
- Полностью официальное оформление по ТК РФ;
- Работа в аккредитованной ИТ-компании;
- Гибкий график;
- Работа на полный рабочий день;
- Возможность работать полностью удалённо или в благоустроенном просторном офисе в Москве в районе метро Давыдково (своя кухня, зона отдыха и спорта);
- Обеды в бизнес-центре за счет компании в пределах суточного лимита;
- Заработная плата обсуждается индивидуально.