Напиши текст вакансии для должности "Middle/ Senior .NET разработчик". Название компании: "Норд Клан". Расположение: Санкт-Петербург. График работы: Полный день. Опыт работы: От 3 до 6 лет. Ключевые навыки: 'C#', '.NET Framework', 'SQL', 'Java', '.net core', 'Английский язык'

Nord Clan мы занимаемся разработкой решений и алгоритмов машинного зрения, создаем высоконагруженные интеграционные проекты, личные кабинеты, системы дистанционного обслуживания для лидеров рынка. Нам доверяют ЦИАН, Банки.ру, Dostaевский, Wildberries, Naumen, Ренессанс, TuTu.ru и др А еще, Nord Clan - это профессионалы своего дела, дружная команда, крутое руководство и постоянное развитие. Тебе к нам, если ты хочешь:   работать в компании профессионалов - универсалов, целеустремленных личностей, для которых результат всегда важнее процесса;   работать среди людей, которые открыты твоим идеям;   самому влиять на результаты своей работы и на развитие компании.   можно еще много сказать, но лучше мы покажем небольшое видео о нас: 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 дней. В офисе открытая или закрытая планировка? Смотрите - https://nordclan.com/blog/office_life А также: https://www.youtube.com/watch?v=49Ygq8lBNEo Кто ревьюит мое резюме и принимает решение о найме? TeamLead Реальные примеры задач из бэклога: [Feature] Рейтинг врача У врача на основании поставленных за консультации оценок рассчитывается рейтинг, который должен отображаться клиентам, а также врачу-администратору Изменения в БД 1) В БД сервиса Rate добавить в таблицу Rates новый столбец DoctorId — uniqueidentifier — Идентификатор врача 2) В БД сервиса Doctor в таблицу Doctor столбы AverageRate — decimal — Средняя оценка врача в данной специальности RatesCount — int — Количество оценок, участвовавших в расчёте средней оценки Логика обновления оценки При каждой новой оценке, поставленной клиентом, необходимо пересчитать среднюю оценку, а также число оценок, участвующих в отзыве При вызове клиентом метода оценки /api/v1/Rate: необходимо отправлять в exchange rate.event.v1.direct с RoutingKey &quot;newrate&quot; сообщение вида: { &quot;ActivityId&quot; : &quot;&lt;ActivityIdGuid&gt;&quot;, &quot;Score&quot;: &lt;ScoreValue&gt;, &quot;Comment&quot;: &lt;CommentString&gt;, &quot;ActivityType&quot;: &quot;&lt;ActivityTypeName&gt;&quot; } Метод recalcAverageRating вычитывать сообщения и пересчитать среднюю оценку врачу и новое количество, для чего производит следующие действия: Рассчитать по данным таблицы, сгруппировав их по DoctorId, среднее значение и общее число оценок, участвовавших в расчёте. Отправить в exchange rate.event.v1.direct с RoutingKey &quot;newdoctoravgrate&quot; сообщение вида: { &quot;DoctorId&quot; : &quot;&lt;DoctorIdGuid&gt;&quot;, &quot;AverageRate&quot;: &lt;AverageRateValue&gt;, &quot;RatesCount&quot;: &lt;RatesCountValue&gt; } Метод setAverageRating вычитывает сообщение из очереди &quot;newdoctoravgrate.doctor.v1.queue с RoutingKey &quot;newdoctoravgrate&quot; и обновляет данные в таблице Doctor в полях AverageRate и RatesCount соответственно. [Bug] [Medcard] Дубли записей в мед карте по одной консультации Причина: есть по 2 записи в медкарте по нескольким консультациям, см. запросы на прод-базе. Источник - 2 параллельных запроса с фронта на создание записи в медкарте: запросы Предложения по исправлению: 1. поправить фронт - не делать новый запрос на создание записи в медкарте, пока не завершился предыдущий 2. поправить бэк - добавить уникальный индекс на колонки RecordTypeId + ExternalId (когда не null) на таблице MedCardRecords. Предварительно вычистить дубликаты из БД, желательно миграцией. Оставить те записи, у которых есть ConclusionFileId (при наличии таковых, иначе - любую). PS: по варианту 1 Web сказал, что дубли исключает. Нужно исключить дубли на сервере