Senior Full Stack .NET Engineer (React)
Ми шукаємо 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 та ділитися досвідом з іншими розробниками.