Ruby Developer
Прямой работодатель Wallarm ( wallarm.com )
Опыт работы от 3 до 5 летот 150 000 до 300 000 ₽
Про нас
Команда Wallarm работает над обеспечением комплексной защиты веб-приложений от разных типов атак. Немного фактов о нас:
- Имеем экспертизу в области ИБ и проводим аудиты с 2013 года
- Wallarm прошел отбор в Y Combinator (известный инкубатор в Кремниевой Долине, из которого вышли Dropbox, Stripe, Docker и др. известные компании)
- Мы — резидент Сколково с 2014 года (компания стала победителем конкурса проектов по информационной безопасности iSecurity)
- Компания привлекла более $10M инвестиций и вышла на международный рынок
- Продуктами Wallarm пользуются более 200 клиентов по всему миру, в том числе: Avito, Qiwi, hh.ru, Ivi.ru, Wargaming и др.
Архитектура решения
Наш основной продукт — это платформа Wallarm WAF (Web Application Firewall) для защиты веб-приложений и API от взломов и хакерских атак. Глобально платформа делится на 2 компонента: облако и фильтрующие ноды.
Фильтрующая нода:
- Устанавливается в инфраструктуру клиента и анализирует все входящие запросы
- Блокирует атаки
- Код написан на C и интегрируется с веб-серверами NGINX и Envoy
- Взаимодействует с облаком для реализации дополнительных механизмов защиты
Облако имеет микросервисную архитектуру и включает в себя:
- Базовую платформу по управлению системой защиты приложений (общие настройки безопасности, управление пользователями, интеграции со сторонними системами)
- Модули анализа, группировки, ранжирования и постаналитики обнаруженных атак
- Модуль защиты приложений от атак типа bruteforce
- Инструменты сбора внешнего сетевого периметра клиента и активного поиска уязвимостей
- Инструменты для обеспечения непрерывного тестирования безопасности приложений на этапе разработки (дополнительный продукт компании — Wallarm Framework for Application Security)
- Модуль построения профиля приложения на основе анализируемого трафика
- Модуль активной перепроверки существующих атак для выявления активных уязвимостей в приложении
- Модуль защиты от ботов
- и т.д.
Используемые технологии
- Интерфейс управления системой написан на React и представляет собой Single Page Application. Поэтому команды backend не занимаются версткой, а только разработкой API
- Большая часть компонентов и модулей написана на Ruby и Golang
- Некоторые компоненты и модули написаны на Python. Но, в основном, Python используется отделом QA для разработки интеграционных автотестов
- Облако разворачивается с помощью Kubernetes/Helm и Terraform
- Основные используемые фреймворки: Ruby On Rails (API only)/Sinatra; gin для Golang
- Основные используемые базы данных: PostgreSQL, Elasticsearch, Riak/S3, Tarantool и Redis
Команда
- Основной штат сотрудников расположен в Москве
- Второй офис (продаж) расположен в Сан-Франциско
- Остальные сотрудники и отдельные команды расположены географически в Санкт-Петербурге, Томске, Екатеренбурге, Якутске и других городах России
- Полный штат компании насчитывает около 70 человек и состоит из команд backend, frontend, DevOps, sales, support и т.д.
Чем предстоит заниматься
- Участие в проектировании, реализации и техническом сопровождении продуктовых задач
- Разработка новых и поддержка имеющихся микросервисов
Для тебя
- Официальное оформление и белая зарплата в рублях.
- Полная удаленка и/или просторный двухэтажный офис в Москве на Калужской. Работай там, где тебе хочется и работается приятнее и эффективнее всего. :)
- Выделенный бюджет на каждого сотрудника на обучение (английский язык, конференции, что-то еще, что хочется).
- Техника на твой выбор (да-да, этим никого не удивишь, но все-равно приятно же?)
- Хороший ДМС, если ты в Москве или Московской области.
Job requirements
Требования к кандидату (Middle)
- Знание Ruby и RoR
- Уверенное знание SQL, умение оптимизировать запросы
- Культура использования RSPEC
- Знание и умение пользоваться Docker, UNIX, git
- Знание и умение применять принципы DRY, SOLID, KISS, TDD, OOP, STI, Interactors/Service objects, GoF patterns
- Общий опыт работы в области разработки ПО не менее 2-х лет
Требования к кандидату (Senior)
- Умение проектировать высоконагруженные, отказоустойчивые и поддерживаемые приложения
- Умение при необходимости проектировать приложения с использованием NoSQL баз
- Умение вести продуктовую разработку и координировать взаимодействие с другими командами
- Знание и умение применять принципы DRY, SOLID, KISS, TDD, OOP, STI, Interactors/Service objects, GoF patterns
- Понимание теории сложности алгоритмов
- Умение работать с унаследованным кодом
- Общий опыт работы в области разработки ПО не менее 5-ти лет
Будет плюсом если есть
- Опыт работы или желание работать в области ИБ
- Знание Kubernetes/Helm
- Опыт работы с Elasticsearch
- Опыт разработки спецификаций Swagger
- Навыки DevOps