Senior Backend Developer (.NET)

Прямой работодатель  EMEX ( emex.ru )
Сеньор
Информационные технологии • Разработка • C# • Backend • ASP.NET MVC • ASP.NET Core • ASP.NET WEBAPI • Ecommerce
29 марта
Удаленная работа
Опыт работы любой
Работодатель  EMEX
Описание вакансии

Привет! Меня зовут Евгений, я руковожу разработкой команде HWC в группе компаний EMEX. Сейчас мы расширяем команду и ищем Senior Backend Developer (.NET).

О команде

EMEX — компания с большой и интересной историей, один из первых маркетплейсов на рынке РФ. Cейчас EMEX — международный холдинг, который включает торговый, информационный, и фулфилмент бизнесы: EMEX.ru,EMEX.DWC в ОАЭ, фулфилмент оператор HWC.

  • Информационный бизнес — соединяет покупателей и поставщиков и агрегирует информацию о 38 миллионах товарных предложениях.
  • Торговый бизнес — самостоятельно приобретает и продает товары, и задает планку качества продуктов на маркетплейсе.
  • Фулфилмент бизнес — формирует глобальную доставочную сеть и позволяет осуществлять доставку в более, чем 30 стран мира.

EMEX — стабильный бизнес: на протяжении 20+ лет мы прибыльны каждый квартал. Достигнув определенного размера бизнеса и масштаба операций, компания столкнулась со всеми последствиями быстрого роста. Сейчас у бизнеса есть задача — быть эффективным, а для этого нужно достичь промежуточных целей по измеримости и управляемости. Для этого мы перепроектируем структуру всех компаний и значительно усиляем наш информационный бизнес.

Нами движет не только и не столько экономическая цель, а наше видение и миссия. Мы хотим внести вклад в изменение экономического и социального уклада: от монополии корпораций к конкуренции талантов.

Для этого мы создаем и развиваем конкурентную среду:

  • определяем роли и функции пользователей и соединяем их для создания цепочки ценности;
  • развиваем собственную экспертизу в каждой роли;
  • создаём стандарты и инструменты для реализации функций;
  • обеспечиваем взаимодействие пользователей и гарантируем сделки между ними;
  • привлекаем новых пользователей и выходим на новые рынки.

О команде и продукте

Сейчас команда состоит из меня, 2-х фронт разработчиков (React), 3-х бэк разработчиков (C#), тестировщика, дизайнера и продакта.

Продукт представляет из себя сайт, который объединяет логистические инструменты (микросервисы) и помогает с помощью них гибко настроить процесс отправки, получения, хранения и сортировки товара. Плюс у нашего продукта открытое API, которое позволяет легко интегрировать его с системами пользователя.

Пользователями разрабатываемых продуктов являются как автоматизированные сортировочные центры, через которые проходят миллионы заказов в месяц, так и небольшие пункты выдачи заказов.

О технологиях и процессах в разработке

Новые продукты мы разрабатываем в стеке React JS + C# .NET LTS + PostgreSQL.

Для взаимодействия с пользователем разрабатываем web-приложения на react, работа с состоянием через redux, но рассматриваем разные варианты. Взаимодействуем с бэк через http/rest, web-socket, signalR. Общие компоненты распространяем через свой npm manager. Серверную часть разрабатываем на C# .NET LTS. Придерживаемся микросервисного подхода при разработке, хостим сервисы в docker. Для доступа к данным используем linq2db. Общий код и контракты распространяем через nuget пакеты. Для сбора логов и анализа используем elastic и posthog. Для конфигурирования используем consul. В качестве хранения данных используем PostgreSQL. Для межсервисного взаимодействия используем REST, Kafka или RabbitMQ. Задачи команда ведет на доске в Azure DevOps Server (TFS). Для контроля версий используем git в Azure DevOps Server. CI/CD настраивается там же. Организацией, развертывания сервисов, сайтов и организацией тестовых стендов занимается команда Dev/Ops. Документацию ведем в Notion и в репозитории.

Наши web-приложения:

  • интерактивные - звуковое сопровождение, сканирование штрих-кодов, фотографирование и т.п.;
  • кросс-платформенные и должны работать на смартфоне, PPC (КПК), laptop и desktop;
  • мультиязычные т.к. используются по всему миру;
  • масштабируемые и с низким временем отклика, т.к. операции сканирования и обработки должны выполняться мгновенно.

Как мы работаем над продуктами?

  • Задачи ставятся владельцем продукта и проходят архитектурную экспертизу, где конкретизируются функциональные и системные требования.
  • Далее задача прорабатывается вместе с владельцами, архитекторами и лидами других команд. В проработку задачи входит - закрытие белых пятен в требованиях от владельца и архитекторов, обсуждение будущих макетов сайтов, мобильных или десктоп приложений вместе с дизайнером в Figma, прототипирование, если это необходимо. В результате появляется оценка длительности, трудоемкости и стоимости задачи.
  • Команды работают 2 недельными итерациями: первый день - планирование, последний день - демо.
  • До выпуска в “бой”, проводится тестирование в тестовых средах. Разрабатываются автотесты на cypress, пишутся unit-тесты. Команда тестирования, помогает с тестированием кросс-командных разработок.
  • Команда работает удаленно из разных регионов РФ и стран, но в московском часовом поясе.

При разработке мы выделяем время для работы с техдолгом, перехода на новые версии или прототипирование новых подходов.

Есть legacy на .NET, WCF, MS SQL, в котором необходимо разбираться.

Задачи, которые тебе предстоит решать

  • Участвовать в разработке массового продукта;
  • Прорабатывать и оценивать задачи совместно с владельцем продукта, архитекторами и тим лидом;
  • Проводить code review и контролировать качества кода;
  • Взаимодействовать с командами тестирования и DevOps.
  • Предлагать собственные решения поставленных перед тобой задач;
  • Участвовать во внедрении TDD подхода в нашей команде.

Цели, которые будут стоять перед тобой в ближайшие 3-6 месяцев

  • Через 3 месяца:
    • Разобраться в существующем коде.
    • Получить понимание работы системы в целом.
    • Научиться оценивать сроки и делать технический груминг задач.
  • Через 6 месяцев:
    • Перейти на самостоятельное и автономное решение поставленных перед тобой задач.
    • Приобрести уникальную экспертизу в какой-то из областей кода.

Как понять, что ты подойдешь

  • Работаешь со стеком C# ASP.NET Core, .NET, PostgreSQL и MSSQL от 5 лет;
  • Умеешь проектировать БД, ORM;
  • Используешь механизмы контейнеризации (Docker);
  • Имеешь опыт разработки микросервисов (ONION | DDD | CQRS);
  • Используешь Agile методологии;
  • Умеешь разбираться в продукте и существующем коде;
  • Будет плюсом: опыт разработки продуктов в логистике, работы над WMS/ERP/CRM системами;
  • У нас полностью распределенная команда, поэтому будет здорово, если ты имеешь опыт удаленной работы;
  • Умеешь вести документацию на английском языке (чтение/письмо);
  • Будет круто, если у тебя есть опыт работы с TDD подходом — мы сейчас активно внедряем его в нашей команде.

Что мы можем предложить

  • Ты сможешь развиваться как разработчик вместе с нашим быстрорастущим продуктом и решать неординарные проблемы.
  • У тебя будет возможность решать задачи так, как ты посчитаешь эффективным. Если твои решения целесообразны, мы предоставим тебе все необходимые ресурсы.
  • Ты будешь участвовать в создании продукта, с которым работают пользователи в разных регионах мира.
  • Мы сторонники горизонтальных коммуникаций: каждый в нашей команде, начиная с фаундеров, открыт к общению, готов ответить на возникающие вопросы и поделиться тем, что знает сам; любой специалист может обратиться к руководителю напрямую.
  • Забота о сотрудниках. Мы внимательно относимся друг к другу и готовы помочь решить проблему. Например, если обстоятельства вынуждают сотрудника переехать в другой город или страну — мы всегда открыты к диалогу. Если ты работаешь в РФ, мы сможем обеспечить тебя ДМС и предоставить всю необходимую технику для работы.
  • Мы поддерживаем удалённую работу и гибкий график (по времени ориентируемся на московский часовой пояс). Во-первых, мы не контролируем рабочие часы — для нас важен результат. Во-вторых, вы можете работать, находясь за пределами России, оформив договор с офисом нашей компании в Дубае.

О процессе собеседования

Общение с нашей командой выглядит так:

Знакомство и обсуждение позиции с рекрутером → Техническое собеседование с тим лидом и руководителем разработки → Оффер.


Специализация
Информационные технологииРазработкаC#BackendASP.NET MVCASP.NET CoreASP.NET WEBAPI
Отрасль и сфера применения
Ecommerce
Уровень должности
Сеньор
Загрузка формы отклика...