от 300 000 р/мес после удержания НДФЛ
Системный архитектор совместно с руководителем группы и техническим лидером команды проекта принимает решения по дальнейшему пути развития существующей системы. Обеспечивает общее видение проекта и контроль соблюдение требований. Осуществляет контроль за качеством и логикой кода.
На экспертном уровне Вы владеете большинством используемых технологий. Умеете проектировать (моделировать) решения, умеете обосновать выбранные решения команде, если необходимо – помогаете разработчикам.
Применяемые инструменты и технологии: C#, ASP.NET Core/Web API; ORM, PostgreSQL, ClickHouse; Node.js, Three.js, Web GPU/WebGL; Portainer, Docker; Prometheus, Grafana; gRPC, REST, SignalR.
Компания:
Аккредитованная IT-компания. Специализация бизнеса – разработка программного обеспечения верхнего уровня: разработка и внедрение программно-технических комплексов для ведущих горных предприятий России – системы аварийного оповещения, точного позиционирования горнорабочих и транспорта, мобильные решения, средства радиосвязи и видеонаблюдения.
Является частью (дочерним предприятием) производственного холдинга. Группа компаний более 17 лет на рынке систем автоматики и горно-подземной связи. Разрабатываемые систем применяются более чем на 80 рудниках и шахтах России, Казахстана и Белоруссии. Среди клиентов такие компании как НорНикель, Алроса, УГМК и другие.
Основной проект – современная система точного позиционирования горнорабочих и транспорта на .NET 6 (без legacy-кода), позволяющая строить сложные трёхмерные модели шахт и рудников и предоставлять конечный результат в полном 3D как на десктоп (SharpDX), так и в мобильном варианте (Three.js), с визуализацией стационарных и подвижных объектов.
Компания является лауреатом горнопромышленного форума «Майнекс Россия» за разработку и внедрение систем в ПАО «ГМК «Норильский никель».
Самое основное о проекте
Проведён технический аудит. Есть перечень задач и оценка трудоёмкости.
Перед командой проекта стоит задача перевода Desktop версии приложения на Web. Помимо этого необходимо реорганизовать сервер, повысить производительность, перейти на более современный стек.
Клиентская часть — это SPA (Single Page Application) browser. Отдельно разрабатывается мобильное приложение, которое повторяет функционал SPA, но в урезанном виде.
Проект бессрочный, минимум на два года запланированы работы по переработке текущего функционала. В дальнейшем продолжите развивать новый функционал системы точного позиционирования горнорабочих и транспорта.
Задачи:
- Проектирование и разработка архитектуры серверной части и веб-клиентов на платформе .NET Core и ASP.NET Core.
- Интеграция с различными внешними API (REST, SOAP), базами данных, системами очередей и кэширования.
- Обоснованное разделение монолитных компонентов на микросервисы (с оценкой рисков) и проектирование межсервисных интеграционных взаимодействий.
- Оптимизация производительности серверной части, обеспечение отказоустойчивости и высокой доступности системы.
- Консультирование команды разработки и поддержка группы тестирования в технических вопросах, участие в DevOps-процессах и автоматизации тестирования.
- Взаимодействие с внутренним бизнес-заказчиком, учёт бизнес-приоритетов и экономической эффективности принимаемых решений, анализ и декомпозиция требований к системе (формирование артефактов для команды разработчиков: описание структур данных, контрактов и т.д.).
- Контроль выполнения архитектурных норм и стандартов кодирования, участие в код ревью.
- Документирование архитектурных и технических решений в базе знаний.
Условия работы:
- Удалённый формат работы;
- В штат компании со всеми обязательствами по ТК РФ;
- Полная занятость;
- Отпуск в соответствии с действующим законодательством (14+14 дней);
- 100 % компенсация больничного (без справок);
- Зарплата на банковскую карточку два раза в месяц с отчислениями в Фонд социального страхования;
- График работы пн-пт, 09:00-17:30. Также (после месяца адаптации к продукту и процессам) возможен более гибкий график начала/окончания работы.
Заработная плата и бонусы:
- Заработная плата 330 000 руб./мес. после удержания подоходного налога;
- Дополнительно: годовая премия по итогам работы всей группы;
- Индексация заработной платы;
- Оплачиваемые компанией курсы повышения квалификации.
Необходимые профессиональные знания и навыки:
Предыдущий опыт работы в качестве full-stack разработчика (или бэкэнд разработчика со знаниями клиентской части), технического лидера / системного архитектора. Опыт работы с крупными проектами и их рефакторингом. Понимание работы приложений в облачной среде и контейнеризации микросервисов.
1. Навыки работы с .NET и ASP.NET Core.
- Опыт работы с .NET 6 и ASP.NET Core
- Уверенное владение .NET 6 и более поздними версиями, понимание изменений и улучшений в ASP.NET Core.
- Знание и опыт использования основных принципов микросервисной архитектуры, таких как монолитное приложение против микросервисов, изоляция данных, коммуникация между сервисами и организация микросервисов (API Gateway, Service Discovery и т.д.).
- Замена NHibernate на Entity Framework
- Практический опыт с Entity Framework Core, особенно в сценариях миграции с NHibernate:
- Миграция сущностей и маппинга данных.
- Работа с миграциями баз данных, поддержка уже существующих данных.
- Оптимизация производительности запросов при переходе.
- Практический опыт с Entity Framework Core, особенно в сценариях миграции с NHibernate:
- Понимание принципов SOLID, DDD и CQRS
- Опыт применения Domain-Driven Design (DDD) для разделения бизнес-логики.
- Command Query Responsibility Segregation (CQRS) как способ разделения логики запросов и команд в микросервисах.
2. Навыки для перехода с WPF (Windows) на веб + Linux
- Опыт работы с веб-технологиями:
- Хорошее знание HTML, CSS и JavaScript/TypeScript для создания пользовательских интерфейсов, особенно если WPF-приложение опирается на сложные UI-компоненты.
- Опыт работы с React
- Понимание работы REST API
- Переход на кроссплатформенные решения:
- Опыт миграции с WPF на веб-приложения с учетом работы в Linux.
- Знания и опыт работы с Docker для контейнеризации приложений на Linux.
- Понимание работы Linux для настройки, развертывания и поддержки веб-приложений.
- Миграция UI/UX:
- Опыт адаптации WPF интерфейсов на веб-технологии, с учетом различий в подходах к построению UI на десктопе и в вебе.
- Опыт переноса кастомных контролов и сложной бизнес-логики, завязанной на WPF, в веб-приложение.
- Работа с Responsive Design и кроссбраузерной совместимостью.
3. Опыт работы с микросервисами
- Архитектура микросервисов:
- Понимание ключевых концепций микросервисной архитектуры, таких как шаблоны разделения сервисов, общение через REST или gRPC, оркестрация сервисов.
- Опыт работы с API Gateway для управления трафиком и роутингом между микросервисами.
- Инструменты для микросервисов и контейнеризации:
- Практический опыт работы с Docker и Kubernetes для управления контейнерами и их развертыванием в облачной или локальной среде.
- Опыт работы с CI/CD-пайплайнами для автоматизации развертывания микросервисов.
4. Интеграция и работа с базами данных. Понимание реляционных и нереляционных баз данных:
- Опыт работы с PostgreSQL или другими реляционными базами данных.
- Понимание NoSQL решений для микросервисов (например, MongoDB, Redis).
- Оптимизация производительности:
- Знание способов оптимизации запросов в Entity Framework Core и работы с большими объемами данных.
5. Прочее
- Тестирование:
- Опыт написания юнит-тестов, интеграционных тестов и функциональных тестов для микросервисов.
- Обработка ошибок и мониторинг:
- Знание инструментов для мониторинга и логирования микросервисов, таких как Prometheus, Grafana, Elastic Stack.
- Работа с системой контроля версий (Git):
- Умение работать с Git и понимать такие процессы, как code review, feature branching, pull requests и т.д.
6. Коммуникация и работа в команде: Способность четко описывать проблемы, предлагать решения и взаимодействовать с различными членами команды (дизайнерами, фронтенд-разработчиками, DevOps-инженерами и т.д.).