
C# .Net Backend Developer, Москва.
▷ Работодатель: EMEX
(профиль,отзывы)
💰 From 0 RUR. | Режим: office |
10
* This listing is inactive or archived *
Привет! Меня зовут Евгений, я руковожу разработкой команде HWC в группе компаний EMEX. Сейчас мы расширяем команду и ищем .Net Backend Developer.
EMEX — международный холдинг, который включает торговый, доставочный и информационный бизнесы: торговая площадка EMEX.DWC (https://emexdwc.ae) в ОАЭ, логистический оператор HWC и EMEX.ru (https://emex.ru/about) — первый профессиональный маркетплейс автозапчастей в России.
Мы не просто развиваем бизнесы, позволяющие покупать, продавать и доставлять товары — уже больше 20 лет мы создаем ценность для всех пользователей: обеспечиваем автовладельцам свободу передвижения; помогаем продавцам увеличивать продажи, а сотрудникам — раскрывать потенциал.
- Мы доставляем заказы из разных точек планеты, несмотря на ограничения. Во время пандемии и закрытых границ нам удалось сохранить логистические цепочки, поэтому в сегодняшнем дне мы продолжаем предлагать эффективные доставочные решения.
- Наша цель — экспансия на новые рынки: мы работаем над созданием глобальной доставочной и информационной сети. Мы представлены на рынках Ближнего Востока и СНГ, и исследуем, куда выходить дальше: мы рассматриваем как развивающиеся рынки, например, в африканских странах, так и развитые — в европейских странах.
- Мы активно обновляем технологии, на которых работаем. Часть наших продуктов переходит на более новый стек, а часть — пишется на нем с нуля. Например, в бэкенде мы переходим на .NET 6, а фронтенд переписываем на React.
Более подробную информацию о наших продуктах, стеке и о том, по каким процессам работает наша команда, ты можешь найти по этой ссылке: https://emex-group.notion.site/C-Net-Backend-Developer-EMEX-99208cabf0e24ccfb5948daa4c50d98e
О команде и продукте
Сейчас команда состоит из меня, 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, прототипирование, если это необходимо. В результате появляется оценка длительности, трудоемкости и стоимости задачи.
- Команды работают недельными итерациями: понедельник - планирование, вторник-четверг - митинги, пятница - демо.
- До выпуска в “бой”, проводится тестирование в тестовых средах. Разрабатываются автотесты на 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 подходом — мы сейчас активно внедряем его в нашей команде.
Что мы можем предложить
- Ты сможешь развиваться как разработчик вместе с нашим быстрорастущим продуктом и решать неординарные проблемы.
- У тебя будет возможность решать задачи так, как ты посчитаешь эффективным. Если твои решения целесообразны, мы предоставим тебе все необходимые ресурсы.
- Ты будешь участвовать в создании продукта, с которым работают пользователи в разных регионах мира.
- Мы сторонники горизонтальных коммуникаций: каждый в нашей команде, начиная с фаундеров, открыт к общению, готов ответить на возникающие вопросы и поделиться тем, что знает сам; любой специалист может обратиться к руководителю напрямую.
- Забота о сотрудниках. Мы внимательно относимся друг к другу и готовы помочь решить проблему. Например, если обстоятельства вынуждают сотрудника переехать в другой город или страну — мы всегда открыты к диалогу. Если ты работаешь в РФ, мы сможем обеспечить тебя ДМС и предоставить всю необходимую технику для работы.
- Сотрудники EMEX самостоятельно выбирают где работать: уже много лет мы поддерживаем удаленный формат работы. Во-первых, мы не контролируем рабочие часы — для нас важен результат. Во-вторых, ты можешь работать, находясь за пределами России, оформив договор с офисом нашей компании в Дубае.
О процессе собеседования
Общение с нашей командой выглядит так:
Знакомство и обсуждение позиции с рекрутером → Техническое собеседование с тим лидом и руководителем разработки → Q&A сессия, на которой мы постараемся по максимуму ответить на твои вопросы → Оффер.