
Наш клієнт — це британський постачальник програмного забезпечення, який пропонує комплексні системи адміністративного та операційного управління для директорів похоронних бюро та фахівців галузі. Платформа, що включає програмне забезпечення нового покоління (NexGen) та спеціалізовану екосистему підтримки, допомагає командам похоронних служб оптимізувати процес реєстрації клієнтів, керувати індивідуальними робочими процесами, автоматизувати створення документів і шаблонів, а також забезпечувати безперебійну повсякденну діяльність.
Проєкт передбачає масштабування та вдосконалення технічної архітектури платформи Funeral Manager. Ми активно використовуємо конфігурацію з двома стеками, реалізуючи стратегію поступової міграції:
Legacy Stack: Середовище на базі Ruby, Ruby on Rails та Angular, що підтримує основні функції, операційні конфігурації та робочі процеси активних користувачів.
Стек нового покоління: Сучасна конфігурація на базі Elixir, React, GraphQL та WebSockets, розроблена з використанням функціонального доменно-орієнтованого проектування (DDD), гексагональної архітектури та походження подій.
Стратегія міграції: Використання шаблону «Strangler Fig» для поступової міграції функціональних можливостей з монолітної архітектури Ruby/Rails до системи Elixir, що керується подіями, без перебоїв у роботі клієнтів.
Основна інфраструктура повністю розміщена на AWS (EBS, ECS, Fargate, Aurora), а управління конвеєром CI/CD здійснює CircleCI.
Наша команда невелика, але потужна, і кожен новий співробітник вносить реальний внесок.
Керівництво: генеральний директор та технічний директор визначають бачення компанії та її технічну стратегію.
Продукт та інженерія: Наш молодший розробник Ruby (Full-Stack) активно займається створенням та вдосконаленням нашої платформи.
Служба підтримки клієнтів: команда з 3 осіб, яка дбає про задоволення наших користувачів.
Обов’язки
Вимоги до кандидатів.
Обов’язкові вимоги:
Ruby та Ruby on Rails: Підтверджений досвід роботи в комерційній сфері з обслуговування та розширення бекенд-систем на базі Rails.
Elixir: Доведений практичний досвід створення систем на Elixir у виробничих середовищах.
Розробка на React: Значний досвід роботи з React та сучасними фронтенд-бібліотеками.
Архітектурні шаблони: ґрунтовне розуміння функціонального доменно-орієнтованого проектування (DDD), гексагональної архітектури (порти та адаптери) та архітектури, керованої подіями.
Event Sourcing та моделі акторів: Практичний досвід роботи з Event Sourcing, збереженням стану, агрегатами на основі акторів, обробниками подій та менеджерами процесів.
Міграція систем: Практичний досвід або глибоке теоретичне розуміння шаблону «Strangler» для міграції застарілого коду.
API та дані в режимі реального часу: Глибоке володіння GraphQL та WebSockets.
Бази даних та кеш: Досвід роботи з реляційними базами даних (PostgreSQL) та інструментами кешування (Redis).
AWS та інфраструктура: Практичні знання сервісів AWS, зокрема EBS, ECS, Fargate та Aurora, а також CircleCI для автоматизованого CI/CD.
Важлива перевага / буде плюсом:
Angular: Досвід роботи або знання старих кодових баз Angular.
Тестування UI/UX та ізоляція компонентів: Досвід роботи з TanStack та Storybook.
Досвід у цій галузі: Досвід у розробці SaaS-систем або багатокористувацьких систем управління бізнесом.