12 марта 2025
Задача: развитие и поддержка системы, работающей в области интернет-рекламы.
Система представляет собой пул проектов для интернет-рекламы и включает подсистемы для алгоритмического выбора и показа объявлений, распределения трафика, отправки пуш-уведомлений. Наша цель увеличение эффективности и производительности всех частей системы, что, в частности, предполагает как внедрение новых функций, так и оптимизацию/рефакторинг существующих для достижения оптимальной производительности.
Стек: .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.