Описание вакансии
Мы — Wfolio, продуктовая IT-компания, которая с 2016 года развивает платформу для фотографов: конструктор сайтов, облачное хранилище, интернет-магазины и инструменты для работы с клиентами.
Wfolio пользуются сотни тысяч клиентов по всему миру. Мы храним миллиарды фотографий и петабайты данных.
Wfolio — аккредитованная российская IT-компания.
Сейчас ищем старшего разработчика, который сможет самостоятельно вести продуктовые задачи от постановки до релиза.
Чем предстоит заниматься
-
Разбираться в существующем поведении продукта и уточнять задачу вместе с продуктовой командой.
-
Проектировать и реализовывать изменения в Rails-приложении, при необходимости затрагивая интерфейс и внешние интеграции.
-
Покрывать важное поведение тестами.
-
Ревьюить свой код и изменения других разработчиков, включая код, написанный ИИ-агентами.
-
Релизить изменения и проверять, как они работают после релиза.
-
Рефакторить код и улучшать документацию для людей и агентов.
Наш стек:
-
Большой монолит на Ruby 4 и Ruby on Rails 8.1
-
Данные в PostgreSQL и Redis и Sidekiq
-
S3-совместимые хранилища
-
Тесты на RSpec
-
Gitlab для хостинга кода и CI
-
Slim, SCSS, Turbo и Stimulus; в старых частях продукта — CoffeeScript и jQuery
Кодовую базу мы развиваем постепенно и не переписываем работающие части без практической причины. Надо разбираться как в новых, так и в старых частях продукта. Несколько вспомогательных сервисов написаны на Elixir. Опыт с Elixir или Phoenix пригодится, но для этой роли не обязательны.
Мы ожидаем от Вас:
-
Несколько лет практической работы с Ruby on Rails.
-
Хорошее знание Ruby, Rails, Active Record и PostgreSQL, включая транзакции, индексы, планы запросов и блокировки.
-
Опыт работы с фоновыми задачами, очередями, внешними API и вебхуками.
-
Умение писать поддерживаемые тесты на RSpec.
-
Умение диагностировать проблемы в рабочей среде по коду, логам и метрикам.
-
Умение самостоятельно реализовать интерфейс на HTML, CSS и JavaScript.
-
Практический опыт работы с ИИ-агентами: для вас они уже стали естественной частью рабочего процесса, а не отдельным экспериментом или инструментом для эпизодической генерации кода.
-
Умение проверять результат работы агента и принимать самостоятельные технические решения, а не полагаться на сгенерированный код как на готовый результат.
-
Опыт удалённой работы и хорошая письменная коммуникация.
-
Свободный письменный и разговорный русский. Английский должен позволять читать документацию и исходный код, а также вести техническую переписку.
-
Большим плюсом будет опыт в близких нам областях: биллинг и электронная торговля, хранение и обработка медиа, производительность больших Rails-приложений.
Условия:
-
Полная занятость и полностью удаленная работа. Страна проживания и гражданство не имеют значения.
-
Часовой пояс в пределах двух-трёх часов от Москвы.
-
Гибкое начало рабочего дня и четыре-пять часов пересечения с командой по московскому времени.
-
Для кандидатов из других стран обсуждаем эквивалентный бюджет и подходящий договорный формат.
-
Оплата необходимых рабочих ИИ-инструментов.
О роли
Большая часть задач в Wfolio — это развитие существующего продукта. Нужно разобраться, как он работает сейчас, понять контекст задачи и реализовать изменения с учётом устройства системы. Уметь разбираться в ТЗ, влиять на продукт, определяя детали и подход к решению вместе с продуктовой командой.
Основная часть работы — Ruby, Rails и PostgreSQL, задачи могут также затрагивать интерфейс и внешние интеграции. Если в процессе становится понятно, что проблему пользователя лучше решить другим способом, мы ожидаем, что разработчик предложит альтернативу и обсудит её с командой.
ИИ-агенты — обычный рабочий инструмент в Wfolio. Мы используем их в том числе в нетривиальных задачах, которые требуют разобраться в кодовой базе и затрагивают несколько частей системы. В репозитории есть документация и инструкции для работы агентов.
Опыт параллельной работы с несколькими агентами будет преимуществом. Архитектурные решения, проверка качества и ответственность за выпущенный результат всегда остаются за разработчиком.
Иногда встречаемся командой оффлайн — просто чтобы увидеться и хорошо провести время.