.NET разработчик

ООО Норд Клан
Краснодар
👨‍💻 Можно удаленно

Зарплата

до 200 000 ₽

Описание вакансии

Nord Clan мы занимаемся разработкой решений и алгоритмов машинного зрения, создаем высоконагруженные интеграционные проекты, личные кабинеты, системы дистанционного обслуживания для лидеров рынка. Нам доверяют ЦИАН, Банки.ру, Dostaевский, Wildberries, Naumen, Ренессанс, TuTu.ru и др

Тебе к нам, если ты хочешь:

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

  • работать среди людей, которые открыты твоим идеям;

  • самому влиять на результаты своей работы и на развитие компании.

  • можно еще много сказать, но лучше мы покажем небольшое видео о нас: https://youtu.be/49Ygq8lBNEo.

Мы ищем разработчика:

  • С опытом коммерческой разработки на C# от 2 лет, знанием технологического стека Microsoft, включая C#, MS SQL, ASP.NET, MVC/ASP.NET Core и т.д., знакомого с базами данных и web-разработкой.

  • Будет плюсом, если вы сталкивались с распределенными системами, докером и микросервисами.

  • Если вы не знаете C#, но имеете обширный опыт разработки на других языках (Python, php, Java) - пишите, мы поможем Вам влиться в команду.

Уже интересно?

Основные задачи, которые тебе предстоят:

Разрабатывать новые фичи - 65%, фиксить баги - 25% и рефакторить код - 10%.

Нам важно в человеке:

  • Умение доводить работу до рабочего результата с первого раза.

  • Умение работать в команде.

И еще немного о нас:

  • каждый сотрудник получает белую ЗП и оформляется согласно Трудовому Кодексу РФ (есть вариант оформления ИП, самозанятый);

  • у нас гибкий график, потому что мы заботимся о жаворонках и совах;

  • мы работаем как в офисе, так и удаленно, при этом, офисы расположены в двух городах: Ульяновск и Санкт - Петербург;

  • сертификат Oracle OCP за счет компании;

  • а еще мы каждую неделю играем в волейбол, общаемся с носителем английского языка, организовываем митап и играем в настолки :)

  • уютный офис в центре города, и в нем:

    • своя баскетбольная площадка;

    • ЗОЖ-уголок;

    • гитара, ковёр, кинотеатр и безлимитный бар;

    • кофе, чай, сладости;

    • собственная парковка и ништяки для велосипедистов.

  • There is also our English club for you to have fun, communicate, and improve. Plenty of topics: your awkward date, Trump chances for the second presidency, does alien life matter? - we got you covered, boys and girls

FAQ:

В каких проектах я приму участие:

Наши типичные проекты можно посмотреть на сайте https://nordclan.com/projects

Нужен ли английский, и на каком уровне?

Английский язык не требуется, но будет Вашим преимуществом для участия в зарубежных проектах компании.

Овертаймы, как часто бывают, какой подход к оплате?

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

Количество дней отпуска?

28 дней в году оплачиваемого отпуска с разбивкой по 14 дней.

Кто ревьюит мое резюме и принимает решение о найме?

TeamLead

Реальные примеры задач из бэклога:

[Feature] Рейтинг врача

У врача на основании поставленных за консультации оценок рассчитывается рейтинг, который должен отображаться клиентам, а также врачу-администратору

Изменения в БД

1) В БД сервиса Rate добавить в таблицу Rates новый столбец

DoctorId — uniqueidentifier — Идентификатор врача

2) В БД сервиса Doctor в таблицу Doctor столбы

AverageRate — decimal — Средняя оценка врача в данной специальности

RatesCount — int — Количество оценок, участвовавших в расчёте средней оценки

Логика обновления оценки

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

При вызове клиентом метода оценки /api/v1/Rate: необходимо отправлять в exchange rate.event.v1.direct с RoutingKey "newrate" сообщение вида:

{

"ActivityId" : "<ActivityIdGuid>",

"Score": <ScoreValue>,

"Comment": <CommentString>,

"ActivityType": "<ActivityTypeName>"

}

Метод recalcAverageRating вычитывать сообщения и пересчитать среднюю оценку врачу и новое количество, для чего производит следующие действия:

Рассчитать по данным таблицы, сгруппировав их по DoctorId, среднее значение и общее число оценок, участвовавших в расчёте.

Отправить в exchange rate.event.v1.direct с RoutingKey "newdoctoravgrate" сообщение вида:

{

"DoctorId" : "<DoctorIdGuid>",

"AverageRate": <AverageRateValue>,

"RatesCount": <RatesCountValue>

}

Метод setAverageRating вычитывает сообщение из очереди "newdoctoravgrate.doctor.v1.queue с RoutingKey "newdoctoravgrate" и обновляет данные в таблице Doctor в полях AverageRate и RatesCount соответственно.

[Bug] [Medcard] Дубли записей в мед карте по одной консультации

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

Источник - 2 параллельных запроса с фронта на создание записи в медкарте: запросы

Предложения по исправлению:

1. поправить фронт - не делать новый запрос на создание записи в медкарте, пока не завершился предыдущий

2. поправить бэк - добавить уникальный индекс на колонки RecordTypeId + ExternalId (когда не null) на таблице MedCardRecords. Предварительно вычистить дубликаты из БД, желательно миграцией. Оставить те записи, у которых есть ConclusionFileId (при наличии таковых, иначе - любую).

PS: по варианту 1 Web сказал, что дубли исключает. Нужно исключить дубли на сервере

Размещено 11/10/2021

Открыть в источнике

Оставьте свои контакты, чтобы работодатель мог связаться с вами

Настрой карьеру с RIT.WORK
за 30 секунд

С ботом rit.work Вы найдете работу, о которой всегда мечтали.

Укажи свой стек, опыт работы, зарплату и бот подберет для тебя подходящие офферы.

🚀 Создать подписку