Ми шукаємо 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
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 та ділитися досвідом з іншими розробниками.