Про вакансію
Якщо ви хочете створювати та володіти системами, які визначають, що клієнти JetBrains можуть використовувати, і точно їх оплачувати, ця вакансія для вас. Ви зосередитесь на розробці backend-сервісів, підтримці складних комерційних процесів та вирішенні складних задач розподілених систем у критичному ланцюжку кожного платного запиту.
Про JetBrains
Ми створюємо інтелектуальні інструменти для розробки програмного забезпечення для розробників і команд. Нашими продуктами користуються понад 15 мільйонів користувачів і більше 300 000 компаній, включно з 88 компаніями зі списку Fortune Global Top 100. Наша місія проста: зробити команди розробників більш продуктивними та масштабовано впровадити штучний інтелект.
Що ви робитимете
Відділ Cloud Platform у JetBrains створює інфраструктуру для аутентифікації, платних функцій, вимірювання використання та обліку. Команда Licensing & Billing є центром нашої комерційної моделі, яка перетворює купівлю клієнтом у те, що їм реально дозволено використовувати, і забезпечує точний облік для білінгу.
Складність наших систем прав, квот і вимірювання продовжує зростати. У цій ролі ви відповідатимете за коректність і розвиток цих backend-сервісів, повністю відповідатимете за повні потоки даних, вирішуватимете проблеми розподіленої узгодженості в умовах ненадійних upstream-систем і забезпечуватимете чисті міграції даних без зупинок сервісів.
Щоденні задачі:
- Проектувати, створювати та експлуатувати backend-сервіси, які визначають права клієнта та вартість використання.
- Повністю керувати потоками даних від отримання інформації про ліцензії та покупки до контролю квот і фіксації споживання.
- Розвивати доменну модель, що підтримує нові комерційні структури, що поєднують плани на основі кількості користувачів та моделей використання.
- Проектувати інтеграції з зовнішніми системами, забезпечуючи коректність через идемпотентність, впорядкування, узгодження та поступову консистентність.
- Планувати та виконувати міграції живих даних із використанням feature flags, подвійних записів, доповнень та перевірок на кожному етапі.
- Вбудовувати моніторинг у системи через визначення інваріантів, метрик та сповіщень для виявлення прихованих помилок раніше за користувачів.
- Проектувати внутрішні API з явним фокусом на версіонування, зворотну сумісність та зручність для інших команд JetBrains.
- Покращувати продуктивність і надійність систем під безперервним навантаженням, поступово виводячи з експлуатації застарілі підсистеми.
- Писати інтеграційні тести з реальними залежностями та підтримувати стабільну тестову інфраструктуру.
- Розслідувати інциденти в виробництві, знаходити корінні причини і впроваджувати довгострокові рішення.
Що вам потрібно мати
- Відданість інженерній точності, особливо у сфері, де помилки системи мають прямий фінансовий вплив.
- Прагматизм у проєктуванні розподілених систем, де головним обмеженням є коректність в умовах ненадійної доставки.
- Звичка довіряти метрикам, трасуванням і логам для розуміння поведінки системи в продакшені замість припущень.
- Комфортне орієнтування та спрощення великих існуючих кодових баз із спадщиною рішень.
- Чіткі, прямі навички комунікації для узгодження контрактів API з командами з різними пріоритетами.
- Фокус на тестуванні як на необхідному інструменті дизайну, а не як на доповненні.
Необхідні навички та досвід
- Досвід створення та підтримки backend-сервісів на платформі JVM із використанням Kotlin або Java.
- Глибокі знання реляційних баз даних, включно з транзакціями, рівнями ізоляції, блокуванням, індексацією та міграціями схем у живій системі (перевага PostgreSQL).
- Глибоке розуміння патернів розподілених систем, таких як идемпотентність, стратегії повторів, поступова консистентність і узгодження даних.
- Практичний досвід проведення живих міграцій даних або змін систем без простою з використанням feature flags і поступового впровадження.
- Досвід проєктування версійованих, зворотно сумісних API для інших інженерних команд.
- Досвід роботи з архітектурами, орієнтованими на події, та брокерами повідомлень на кшталт Kafka.
- Здатність діагностувати, налагоджувати та вирішувати інциденти у складних продакшн-середовищах.
- Володіння англійською мовою в письмовій та усній формі.
Який вигляд має успіх
Успіх у цій ролі означає створення надійної системи визначення прав і вимірювання, які команди продукту довірятимуть без зволікань. Ви успішно виконаєте міграцію живих комерційних систем, підтримуючи нові моделі білінгу без часу простою або розбіжностей даних. Приховані помилки автоматично виявлятимуться за допомогою інваріантів системи до того, як вони вплинуть на користувачів, а внутрішні команди безпроблемно інтегруватимуться через чисті, версійовані API.
Чому приєднатись до JetBrains?
- Висока базова зарплата, що відповідає вашим навичкам і досвіду.
- Гнучке робоче місце: можливість працювати вдома або в офісі.
- Віддалена робота до 30 днів на рік з-за кордону.
- Додаткові дні відпочинку для релаксу і відновлення сил.
- Допомога з медичним страхуванням для вас і вашої родини.
- Можливості навчання і розвитку: участь у конференціях, курсах і мовних заняттях.
- Підтримка з релокацією. Ми допомагаємо зробити ваш переїзд максимально комфортним і безстресовим.
- Мовні курси для покращення місцевої або англійської мови.
- Обідів на роботі або компенсація ланчів у робочі дні.
- Підтримка ментального здоров’я через доступ до професійних послуг.
- Спортивні бонуси: зал або внески на спортивний клуб.
- Внутрішні заходи: корпоративні святкування та командні зустрічі.
*Деякі пільги можуть відрізнятися залежно від локації.
#LI-KT1
Ми — роботодавець з рівними можливостями
Ми віримо, що чудові ідеї можуть належати будь-кому, незалежно від місця. Тому ми прагнемо створити відкрите та інклюзивне робоче середовище, що вітає кожного, незалежно від його походження, ідентичності, релігії, віку, потреб в доступності чи орієнтації.
Ми обробляємо дані, надані у вашій заявці, відповідно до Політики конфіденційності рекрутингу.
JetBrains публікує цю вакансію на власному сайті кар’єри. Заявки надходять безпосередньо до JetBrains: використовуйте кнопку "Apply" на цій сторінці.
Перекладено з оригінального оголошення; у разі розбіжностей діє оригінал. Оригінал оголошення
Відгукнутися
Форма відгуку англійською мовою. Резюме можна надіслати будь-якою мовою.