Вам предстоит:
1. Поддержка существующей системы
- Микросервисы;
- Большой кусок легаси-кода на .NET 4.7.2 под Mono;
- Хранимые процедуры в Оракле;
- Событийная модель и синхронное взаимодействие между сервисами через шину RabbitMQ/MassTransit .
2. Переписывание упомянутого куска легаси на NET 6 с полным изменением DAL
3. Переезд всей системы с ORACLE на Postgres, включая выделение домена данных нашей системы из общей БД и переписывание логики из БД на сервисы;
4. Многочисленные интеграции через REST или Kafka, в перспективе возможно Debezium;
5. Поддержка некоторого количества внутренних общих библиотек, лежащих в основе большинства наших сервисов и временами зависящих друг от друга;
6. Участие в увлекательных обсуждениях и принятии решений по нашему коду и их соответствия принципам 12-ти факторов, SOLID и т.п., выработка компромиссов, которые одновременно будут удовлетворять лучшим практикам, здравому смыслу и имеющимся ограничениям по времени;
7. Бизнес-задачи с непредсказуемыми требованиями и последствиями для существующей архитектуры, включая их предварительную оценку и последующие попытки в неё уложиться.
Какие знания и навыки для нас важны:
- Высшее техническое образование.
- Опыт работы в кросс-функциональной команде, налаживать эффективные коммуникации.
- Среди рабочих мест присутствуют крупные банки или крупные ИТ-компании.
- netcore 3.1+ (в т.ч. .NET 5,6,7, но не .NET 4, да, у MS свои приколы с нумерацией и наименованиями) 5+ лет опыта
- Entity Framework Core - 5+ лет опыта,
- любая SQL-СУБД в связке с EF Core - 5+ лет опыта.
Будет плюсом:
- фреймворк тестирования (mstest, nunit, xunit) - 3+ лет
- СУБД Oracle/Postgres
- RabbitMQ
- Kafka
- MassTransit
- Refit
- Serilog
- ELK-стек
- микросервисы (и распил монолитов)
- docker/kubernetes/openshift
- опыт переписывания логики с процедур СУБД на код
- понимание методологии приложения 12 факторов
- способность придумывать и отстаивать в дискуссии архитектурные и технические решения.