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