Team Lead Backend developer .NET (C#, ASP.NET Core)
Прямой работодатель Эмекс ( www.emex.ru )
Опыт работы от 3 до 5 летот 240 000 до 360 000 ₽
Привет! Меня зовут Дима, я руковожу разработкой в Эмексе. Ищу тимлида и одновременно бэкенд-разработчика в наш новый продукт «Эмекс. Продавцы».
О продукте
«Эмекс. Продавцы» – веб-приложение, которое даёт возможность небольшим магазинам продать свои товары на маркетплейсе автозапчастей emex.ru. Ценность для покупателей – быстрое получение товара недалеко от дома или автосервиса. Магазин получает дополнительный источник заказов и рекламу.
Мы запустили продукт в десяти регионах РФ. Проанализировали метрики, обратную связь от пользователей и составили роадмап для следующей версии. Главная фича – покупатель сможет заказать доставку товаров в свой город из магазинов по всей стране. В решение этой задачи вовлечены несколько команд: транспорт, хранение, сортировка и наша команда, которая разработает инструменты управления доставкой для магазинов.
Как всё устроено внутри
Все запросы пользователей обрабатываются аппаратным балансером Citrix Netscaler. Фронт на React общается с бэкендом на NET. Для authn/authz используем JWT-токены. Бэк с помощью Dapper общается с PostgreSQL. Интеграция с другими сервисами в основном асинхронная через сообщения RabbitMQ. Есть сценарии синхронного взаимодействия, в этом случае делаем запросы по REST API. Для запуска задач по расписанию используем планировщик Hangfire. В проекте опираемся на Clean Architecture.
Приложения хостим в Docker Swarm кластере в облаке Selectel, управляем контейнерами с помощью Portainer. Для логов – ELK и Jaeger, для метрик и мониторинга – Elastic APM, дашборды и уведомления в Grafana и Zabbix, Swagger для документации.
CI/CD-пайплайны настроены в Azure DevOps Server: собираем docker-образы фронта и бэка, запускаем тесты, сохраняем в nexus-репозиторий, оттуда по запросу разворачиваем на указанном окружении. Для прода реализовано обновление сервисов без перерыва в работе. Настройкой пайплайнов занимается DevOps команда, но никто не запрещает залезть самому.
Ближайшие планы
Задачи по продукту: разработать REST API для интерфейса работы с доставкой, собрать и запустить интеграцию с сервисами доставки. Про техническую часть тоже не забываем: нужно перейти с .Net Core 3.1 на .NET5 и подключить Consul для конфигурации.
Освоиться на новом месте помогут тимлид другой команды и архитектор.
Как работаем
В команде: вы, владелец продукта, дизайнер, архитектор, фронтендер, тестировщик. Движемся недельными итерациями, по понедельникам планирование в Google Meet, по пятницам демо.
Стремимся к асинхронной коммуникации, повседневное общение в Slack и почте, задачи на доске в Azure DevOps Server (типа досок Jira), код в git, ветки по git-flow, ревью кода другими разработчиками. Общение с другими командами для синхронизации действий по задачам, технические митинги с архитектором и другими тимлидами.
Как видим кандидата
- Умеет декомпозировать и оценивать задачи
- Отвечает за результат команды и прозрачность процесса разработки
- Знает современные версии C#: асинхронность, многопоточность и др.
- Умеет работать с PostgreSQL: запросы, хранимые процедуры, пул соединений
- Понимает, как взаимодействует фронт и бэк: HTTPS, CORS, Cookies, C# HttpClient
- Знаком с шаблонами проектирования: clean architecture, singleton и другими
- Умеет писать интеграционные и unit-тесты
Условия
- Фултайм c белой зарплатой, удалёнка
- Трудоустройство в штат или по договору на ваш выбор
- Минимум бюрократии, возможность самостоятельно принимать решения
- Возможность участвовать в других проектах, в том числе на международном уровне