Про вакансію
Ми шукаємо Senior Full Stack .NET Engineer (React), який приєднається до команди розробки AdaptiveCash Platform.
AdaptiveCash — це enterprise FinTech платформа, що автоматизує процеси управління готівкою для банків та інкасаторських компаній. Платформа об'єднує складні операційні процеси, інтеграції з банківськими системами та клієнтські портали в єдину технологічну екосистему. Нею користуються банки в різних країнах світу.
Зараз ми розвиваємо нове покоління платформи AdaptiveCash: клієнтські та партнерські портали, інтеграційні API та масштабовану cloud-ready архітектуру. На цій позиції ви не просто реалізовуєте задачі, а впливаєте на те, як буде побудована нова версія продукту.
Що ви будете робити
• проєктувати та розробляти ключові модулі платформи AdaptiveCash від архітектури до production;
• брати участь в архітектурних рішеннях для нового покоління платформи (cloud-ready, модульність, масштабованість);
• розробляти та розвивати Web API для інтеграцій з банківськими системами та партнерами;
• розвивати клієнтські та партнерські веб-додатки (SPA) на React;
• працювати з enterprise кодовою базою, модернізувати legacy-частини системи;
• оптимізувати продуктивність сервісів, запитів і роботу з базою даних;
• проводити code review, задавати стандарти якості коду та інженерні практики в команді;
• менторити Middle-розробників і допомагати їм зростати;
• брати участь в оцінці задач, технічному плануванні та декомпозиції нових модулів;
• розвивати CI/CD процеси та брати участь у розгортанні системи;
• співпрацювати з бізнес-аналітиками, DevOps-інженерами та продуктовою командою, перекладати складні бізнес-вимоги в технічні рішення.
Наш технологічний стек
Backend
• .NET
• ASP.NET Core
• REST API
• NHibernate або інша ORM
• Oracle, MS SQL або PostgreSQL
Frontend
• React
• JavaScript / TypeScript
Infrastructure
• Azure DevOps
• CI/CD pipelines
• cloud або on-premise deployment
Minimum qualifications
• 5+ років комерційного досвіду розробки програмного забезпечення, з них не менше 4 років на .NET;
• досвід розробки та підтримки high-load або enterprise production-систем на .NET;
• досвід розробки SPA на React (Angular, Vue.js розглядаємо як додатковий плюс);
• глибокий досвід розробки Web API та інтеграційних сервісів;
• впевнена робота з реляційними базами даних: проєктування схем, оптимізація запитів, індекси, аналіз планів виконання;
• глибоке розуміння ООП, SOLID, патернів проєктування;
• досвід роботи з ORM (NHibernate, Entity Framework або інші) та розуміння, що відбувається «під капотом»;
• досвід участі в архітектурних рішеннях і технічному проєктуванні модулів;
• досвід code review та менторства інших розробників.
Ми очікуємо, що інженер на цій позиції:
• здатний самостійно спроєктувати та довести до production складний функціональний модуль;
• може запропонувати та обґрунтувати архітектурне рішення, розуміючи його trade-offs;
• має досвід роботи з великою production кодовою базою, зокрема з legacy-кодом;
• швидко розбирається у складній бізнес-логіці та ставить правильні питання бізнесу;
• має досвід побудови інтеграцій із зовнішніми системами та розуміє, як зробити їх надійними (обробка помилок, ретраї, логування, моніторинг);
• бере відповідальність за якість, продуктивність і стабільність свого коду в production;
• готовий ділитися експертизою та підтягувати рівень команди.
Буде плюсом
• досвід розробки FinTech або Banking систем;
• досвід інтеграції з зовнішніми системами через REST та SOAP;
• досвід роботи з cloud-інфраструктурою (Azure, AWS або інші);
• досвід міграції або модернізації legacy-систем;
• досвід роботи з message brokers (RabbitMQ, Azure Service Bus, Kafka);
• розуміння вимог до безпеки та комплаєнсу у фінансових системах;
• технічна освіта у сфері Computer Science або Software Engineering.
Ця позиція може не підійти, якщо
• ваш комерційний досвід на .NET менше 5 років або ви працювали переважно з іншим стеком;
• ви backend-розробник і не готові працювати з фронтендом на React;
• ви працювали лише над невеликими проєктами і не мали справи з великою enterprise-кодовою базою;
• вам некомфортно працювати з legacy-кодом і поступово його модернізувати;
• ви звикли реалізовувати задачі за готовими технічними рішеннями і не берете на себе відповідальність за архітектуру та якість модуля;
• вам не цікаво робити code review та ділитися досвідом з іншими розробниками.