Описание:
Задача: развитие и поддержка системы, работающей в области интернет-рекламы. Система представляет собой пул проектов для интернет-рекламы и включает подсистемы для алгоритмического выбора и показа объявлений, распределения трафика, отправки пуш-уведомлений. Наша цель – увеличение эффективности и производительности всех частей системы, что, в частности, предполагает как внедрение новых функций, так и оптимизацию/рефакторинг существующих для достижения оптимальной производительности. Стек: .NET Core, ASP.NET Core, Clickhouse, MSSQL, PostgreSQL, MongoDB, Docker, Docker swarm, RabbitMQ, Уровень: senior Требования кратко: Backend с небольшим опытом работы с классическим фронтом, Ангуляр будет плюсом Опыт не менее 4 лет, лучше больше Миддл+ (минимум), обязательно "должен уметь программировать" Опыт работы в корпорациях (банки, федеральная розница и т.п.) не важен, может даже быть недостатком
Требования к кандидату:
понимание современных принципов проектирования и разработки систем, практический опыт самостоятельной разработки систем/подсистем; опыт разработки систем с высокой нагрузкой и желание заниматься оптимизацией; уверенное знание платформы .NET/Core, опыт коммерческой разработки на платформе от 4 лет; значительный опыт работы с реляционными СУБД и понимание принципов их работы; понимание принципов проектирования БД и оптимизации запросов; опыт работы с колоночными СУБД (Clickhouse), понимание преимуществ и границ применимости; знание и опыт работы с ORM для доступа к БД (EF/Core, etc.), понимание ограничений и опыт профилирования работы ORM; опыт разработки ASP.NET приложений (MVC, WebApi, etc.), понимание REST; опыт работы с нереляционными СУБД (в частности, MongoDB, Redis) опыт работы с брокерами сообщений (в частности, RabbitMQ) опыт использования docker и docker-compose понимание принципов работы веба: протоколы, статусы, кэширование; умение оценивать объем работ с достаточной достоверностью; желание погружаться в предметную область разрабатываемой системы. Будет плюсом: умение настраивать сервера (nginx, IIS) для оптимальной производительности; в идеале – иметь представление о работе сетевого стека в Linux; опыт работы с кластерами docker swarm; опыт работы с CI/CD инструментами (в частности, GitLab pipelines); опыт работы с инструментами профилирования приложений; понимание работы фронта; знания и опыт в верстке, JavaScript.