Описание вакансии
Вакансия: Ведущий разработчик группы. Back-end.
Применяемые при разработке Программно-технического комплекса инструменты и технологии: C#, ORM, Dapper, Entity Framework, WPF, ASP.NET Core/Web API; PostgreSQL, ClickHouse, Kafka; Node.js, Three.js, Web GPU; Portainer, Docker; Prometheus, Grafana; gRPC, REST, SignalR.
Компания:
Аккредитованная IT-компания. Специализация бизнеса – разработка программного обеспечения верхнего уровня: разработка и внедрение программно-технических комплексов для ведущих горных предприятий России — системы аварийного оповещения, точного позиционирования горнорабочих и транспорта, мобильные решения, средства радиосвязи и видеонаблюдения.
Является частью (дочерним предприятием) производственного холдинга. Группа компаний более 17 лет на рынке систем автоматики и горно-подземной связи. Разрабатываемые системы применяются более чем на 80 рудниках и шахтах России, Казахстана и Белоруссии. Среди клиентов такие компании как НорНикель, Алроса, УГМК и другие.
Основной проект – современная система точного позиционирования горнорабочих и транспорта на .NET 6 (без legacy-кода), позволяющая строить сложные трёхмерные модели шахт и рудников и предоставлять конечный результат в полном 3D как на десктоп (SharpDX), так и в мобильном варианте (Three.js), с визуализацией стационарных и подвижных объектов.
Компания является лауреатом горнопромышленного форума «Майнекс Россия» за разработку и внедрение систем в ПАО «ГМК «Норильский никель».
Основные задачи:
- Разработка программно-технического комплекса; Участие в переводе Desktop версии приложения на более современный стек;
- Участие в реорганизации сервера, оптимизация производительности серверной части, обеспечение отказоустойчивости и высокой доступности системы;
- Участие в дальнейшем развитии системы точного позиционирования горнорабочих и транспорта: участие в проектировании и поддержке архитектуры, компонентов и код-дизайна;
- Работа с ведущими разработчиками, системным архитектором, техлидом Web группы в ходе выполнения поставленных задач, улучшение существующих решений.
Квалификация (необходимые профессиональные знания и навыки):
- Высшее образование в сфере ИТ, математическое или техническое;
- Как минимум 5-х летний опыт в роли back-end инженера-разработчика;
- Знание принципов SOLID, опыт применения паттернов проектирования (в т.ч. IoC, DI);
- Опыт работы с многопоточным и асинхронным кодом (async/await);
- Понимание основных структур данных и алгоритмов;
- Значительный опыт работы с реляционными СУБД (SQL); Значительный опыт работы с PostgreSQL (продвинутый уровень владения); Оптимизация запросов, использование оконных функций;
- Значительный опыт работы с высоконагруженными системами;
- Опыт работы с коллекциями в C#;
- Опыт работы с крупными проектами и их рефакторингом;
- Уверенное владение .NET 6 и более поздними версиями, понимание изменений и улучшений в ASP.NET Core.
- Навыки работы с Git, понимание таких процессов, как code review, feature branching, pull requests и т.д.
- Понимание принципов безопасности и опыт внедрения механизмов защиты (SSL, аутентификация, авторизация).
Желательно:
- Опыт администрирования СУБД PostgreSQL;
- Опыт разработки WPF-приложений;
- Знание и опыт использования основных принципов микросервисной архитектуры, таких как монолитное приложение против микросервисов, изоляция данных, шаблоны разделения сервисов, коммуникации через REST или gRPC, оркестрация сервисов. Опыт работы с API Gateway для управления трафиком и роутингом между микросервисами;
- Оптимизация запросов в Entity Framework Core и работа с большими объемами данных; Опыт миграции с NHibernate: миграция сущностей и маппинга данных, поддержка уже существующих данных. Оптимизация производительности запросов при переходе; Прямые запросы (Dapper) в новых микросервисах;
- Практический опыт работы с Docker и Kubernetes для управления контейнерами и их развертыванием в облачной или локальной среде. Опыт работы с CI/CD-пайплайнами для автоматизации развертывания микросервисов;
- Опыт применения Domain-Driven Design (DDD) для разделения бизнес-логики. Command Query Responsibility Segregation (CQRS) как способ разделения логики запросов и команд в микросервисах;
- Знание инструментов для мониторинга и логирования микросервисов, таких как Prometheus, Grafana, Elastic Stack;
- Опыт написания юнит-тестов, интеграционных тестов и функциональных тестов для микросервисов.
Условия работы:
- Полностью удалённая работа в аккредитованной IT-компании;
- В штат предприятия со всеми обязательствами по ТК РФ;
- Полная занятость;
- Отпуск в соответствии с действующим законодательством (14+14 дней);
- 100 % компенсация больничного;
- График работы пн-пт, 09:00-17:30. Также (после месяца адаптации к продукту и процессам) возможен более гибкий график начала/окончания рабочего дня.
Заработная плата и бонусы: по штатному расписанию после удержания подоходного налога.
- Ведущий разработчик / Senior back-end, вилка: 280 000-300 000 руб/мес. (окончательное решение по итогам технического собеседования);
- Дополнительно: годовая премия по итогам работы всей группы;
- Индексация заработной платы ежегодная;
- Оплачиваемые компанией курсы повышения квалификации.