Middle / Senior Backend .NET Developer (Промышленный программно-технический комплекс) (удаленная работа)

12 января 2025

Уровень зарплаты:
от 250 000 до 300 000 руб.
Требуемый опыт работы:
Не указан

Вакансия: Middle / Senior Backend .NET Developer (Промышленный программно-технический комплекс)

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

Применяемые инструменты и технологии : C#, ORM, ASP.NET Core/Web API; PostgreSQL, ClickHouse; Node.js, Three.js, Web GPU; Portainer, Docker; Prometheus, Grafana; gRPC, REST, SignalR.

Компания :

Аккредитованная IT-компания. Специализация бизнеса разработка программного обеспечения верхнего уровня: разработка и внедрение программно-технических комплексов для ведущих горных предприятий России - системы аварийного оповещения, точного позиционирования горнорабочих и транспорта, мобильные решения, средства радиосвязи и видеонаблюдения.

Является частью (дочерним предприятием) производственного холдинга. Группа компаний более 17 лет на рынке систем автоматики и горно-подземной связи. Разрабатываемые систем применяются более чем на 80 рудниках и шахтах России, Казахстана и Белоруссии. Среди клиентов такие компании как НорНикель, Алроса, УГМК и другие.

Основной проект современная система точного позиционирования горнорабочих и транспорта на .NET 6 (без legacy-кода), позволяющая строить сложные трёхмерные модели шахт и рудников и предоставлять конечный результат в полном 3D как на десктоп (SharpDX), так и в мобильном варианте (Three.js), с визуализацией стационарных и подвижных объектов.

Компания является лауреатом горнопромышленного форума Майнекс Россия за разработку и внедрение систем в ПАО ГМК Норильский никель .

Основные задачи:

  1. Разработка программно-технического комплекса; Участие в переводе Desktop версии приложения на Web, переход на более современный стек;
  2. Участие в реорганизации сервера, оптимизация производительности серверной части, обеспечение отказоустойчивости и высокой доступности системы;
  3. Участие в дальнейшем развитии системы точного позиционирования горнорабочих и транспорта: участие в проектировании и поддержке архитектуры, компонентов и код-дизайна;
  4. Работа с ведущими разработчиками, системным архитектором, техлидом группы в ходе выполнения поставленных задач, улучшение существующих решений.

Квалификация (необходимые профессиональные знания и навыки) :

  • Опыт работы с высоконагруженными системами;
  • Как минимум 3-х летний опыт в роли back-end инженера-разработчика со знаниями клиентской части;
  • Опыт работы с крупными проектами и их рефакторингом;
  • Понимание работы приложений в облачной среде и контейнеризация микросервисов;
  • Опыт работы с .NET 6 и ASP.NET Core. Уверенное владение .NET 6 и более поздними версиями, понимание изменений и улучшений в ASP.NET Core. Знание и опыт использования основных принципов микросервисной архитектуры, таких как монолитное приложение против микросервисов, изоляция данных, коммуникация между сервисами и организация микросервисов (API Gateway, Service Discovery и т.д.);
  • Замена NHibernate на Entity Framework. Практический опыт с Entity Framework Core, особенно в сценариях миграции с NHibernate: Миграция сущностей и маппинга данных. Работа с миграциями баз данных, поддержка уже существующих данных. Оптимизация производительности запросов при переходе;
  • Понимание принципов SOLID, DDD и CQRS. Опыт применения Domain-Driven Design (DDD) для разделения бизнес-логики. Command Query Responsibility Segregation (CQRS) как способ разделения логики запросов и команд в микросервисах;
  • Переход на кроссплатформенные решения. Опыт миграции с WPF на веб-приложения с учетом работы в Linux. Знания и опыт работы с Docker для контейнеризации приложений на Linux. Понимание работы Linux для настройки, развертывания и поддержки веб-приложений;

  • Опыт работы с микросервисами. Архитектура микросервисов. Понимание ключевых концепций микросервисной архитектуры, таких как шаблоны разделения сервисов, общение через REST или gRPC, оркестрация сервисов. Опыт работы с API Gateway для управления трафиком и роутингом между микросервисами;

  • Инструменты для микросервисов и контейнеризации. Практический опыт работы с Docker и Kubernetes для управления контейнерами и их развертыванием в облачной или локальной среде. Опыт работы с CI/CD-пайплайнами для автоматизации развертывания микросервисов;
  • Интеграция и работа с базами данных: Опыт работы с PostgreSQL или другими реляционными базами данных. Понимание NoSQL решений для микросервисов (например, MongoDB, Redis).
  • Оптимизация производительности. Знание способов оптимизации запросов в Entity Framework Core и работы с большими объемами данных;
  • Понимание принципов безопасности и опыт внедрения механизмов защиты (SSL, аутентификация, авторизация).

Желательно

  • Навыки для перехода с WPF (Windows) на веб + Linux. Опыт работы с веб-технологиями. Знание HTML, CSS и JavaScript/TypeScript для создания пользовательских интерфейсов, особенно если WPF-приложение опирается на сложные UI-компоненты. Опыт работы с React. Понимание работы REST API;

  • Миграция UI/UX. Опыт адаптации WPF интерфейсов на веб-технологии, с учетом различий в подходах к построению UI на десктоп и веб. Опыт переноса кастомных контролов и сложной бизнес-логики, завязанной на WPF, в веб-приложение. Работа с Responsive Design и кроссбраузерной совместимостью;
  • Тестирование. Опыт написания юнит-тестов, интеграционных тестов и функциональных тестов для микросервисов;
  • Обработка ошибок и мониторинг. Знание инструментов для мониторинга и логирования микросервисов, таких как Prometheus, Grafana, Elastic Stack.
  • Работа с системой контроля версий (Git). Умение работать с Git и понимать такие процессы, как code review, feature branching, pull requests и т.д.

Условия работы:

  • Удалённая работа в аккредитованной IT-компании;
  • В штат предприятия со всеми обязательствами по ТК РФ;
  • Полная занятость;
  • Отпуск в соответствии с действующим законодательством (14+14 дней);
  • 100 % компенсация больничного (без справок);
  • Зарплата на банковскую карточку два раза в месяц с отчислениями в Фонд социального страхования;
  • График работы пн-пт, 09:00-17:30. Также (после месяца адаптации к продукту и процессам) возможен более гибкий график начала/окончания работы.

Заработная плата и бонусы :

Заработная плата по штатному расписанию после удержания подоходного налога:

  • Ведущий разработчик / Senior - вилка 280 000-300 000 руб/мес;
  • Разработчик / Middle - вилка 250 000 - 270 000 руб/мес.
  • Окончательное решение по итогам технического собеседования или выполнения ТЗ;

  • Дополнительно: годовая премия по итогам работы всей группы;
  • Индексация заработной платы;
  • Оплачиваемые компанией курсы повышения квалификации.