Ведущий инженер-разработчик Linux Terminal Server (RDS / VDI) — Россия, Санкт-Петербург
150 000–180 000 ₽
ОткликнутьсяКомпания: ••••••••
Локация: Россия, Санкт-Петербург
Формат: Удалённая работа
Занятость: Полная занятость
Грейд: Senior
Мы ищем опытного инженера-разработчика для проектирования и реализации терминального сервера на базе Linux, который должен заменить текущую инфраструктуру, построенную на Windows Server 2008.
Сейчас пользователи удалённо подключаются к серверу и работают в индивидуальных терминальных сессиях. Внутри сервера запускаются:
• Windows-приложения;
• веб-браузеры;
• приложения, опубликованные через RemoteApp;
• собственная программная оболочка на C#, заменяющая стандартный рабочий стол Windows.
При подключении пользователь попадает в специализированный интерфейс (без доступа к обычному рабочему столу), выбирает нужный автомобильный каталог и запускает соответствующее приложение.
PV48 проекта — разработать аналогичную терминальную платформу на базе Linux, сохранив существующую логику работы, пользовательский интерфейс и возможность одновременной работы множества клиентов.
Основные задачи
1. Проектирование архитектуры
• Анализ текущей инфраструктуры Windows Terminal Server.
• Изучение используемых приложений, способов их запуска и зависимостей.
• Разработка архитектуры многопользовательского терминального сервера на базе Linux.
• Подбор технологий для удалённого подключения, управления сессиями и публикации приложений.
2. Совместимость и запуск приложений
• Исследование возможностей запуска существующих Windows-приложений в Linux.
• Работа с Wine, CrossOver и другими технологиями совместимости.
• Определение стратегии: какие приложения можно запускать нативно, а для каких нужна альтернативная архитектура.
• Обеспечение запуска браузеров и приложений в отдельных пользовательских сессиях.
• Сохранение сценариев запуска, аналогичных RemoteApp.
3. Разработка пользовательской оболочки
• Изучение существующей оболочки на C#.
• Перенос оболочки на Linux либо разработка аналогичного решения.
• Реализация интерфейса выбора автомобильного каталога.
• Настройка автоматического запуска оболочки после подключения пользователя.
• Организация запуска выбранных приложений из оболочки.
• Ограничение доступа пользователя к системному окружению согласно текущей логике работы.
4. Многопользовательская работа
• Обеспечение одновременной работы большого количества пользователей.
• Реализация изоляции пользовательских сессий.
• Управление процессами и ресурсами пользователей.
• Обеспечение стабильной работы приложений при длительных подключениях и переподключениях.
• Продумывание управления пользовательскими профилями, файлами и настройками.
5. Внедрение и оптимизация
• Разработка и развёртывание рабочего прототипа.
• Проведение нагрузочного тестирования.
• Оптимизация потребления оперативной памяти и процессорных ресурсов.
• Обеспечение отказоустойчивости, безопасности и удобства администрирования.
• Подготовка технической документации и инструкций по эксплуатации.
Требования к кандидату
• Сильные знания Linux на уровне системного инженера / разработчика инфраструктурных решений.
• Опыт разработки и настройки многопользовательских Linux-систем.
• Практический опыт построения терминальных серверов, VDI или аналогичных решений.
• Понимание принципов работы RDP, удалённых рабочих столов, публикации отдельных приложений и управления пользовательскими сессиями.
• Практический опыт работы с Wine, CrossOver или другими технологиями запуска Windows-приложений в Linux.
• Уверенные знания C# и .NET.
• Опыт разработки или переноса приложений с Windows на Linux.
• Опыт работы с виртуализацией (KVM/QEMU, Proxmox или аналоги).
• Знание сетевых технологий и принципов разграничения доступа.
• Навыки автоматизации администрирования Linux.
Обязательное требование: активное владение AI-инструментами для разработки (AI-assisted coding)
Необходимо уверенно использовать современные инструменты (Cursor, Claude Code, GitHub Copilot, ChatGPT и другие) для:
• проектирования архитектуры;
• написания и рефакторинга кода;
• анализа существующих приложений;
• поиска и устранения ошибок;
• разработки и тестирования программных компонентов.
Важно не просто уметь пользоваться нейросетями, а эффективно применять их в реальной разработке: понимать полученный код, проверять его корректность и нести ответственность за результат.
Будет преимуществом
• Опыт построения терминальных серверов на Linux.
• Опыт миграции инфраструктуры с Windows Server на Linux.
• Опыт работы с Windows Remote Desktop Services, RemoteApp, Citrix или аналогичными системами.
• Опыт настройки Active Directory, LDAP и централизованной авторизации.
• Опыт разработки графических приложений под Linux.
• Знание Avalonia UI и других кроссплатформенных технологий для C#.
• Опыт оптимизации серверов с большим количеством одновременных пользовательских сессий.
Ожидаемый результат
Нам нужен не просто специалист, который установит Linux и настроит удалённый доступ. Результатом работы должна стать полноценная терминальная платформа, в которой:
• Пользователь может удалённо подключиться к серверу.
• Для каждого пользователя создаётся отдельная рабочая сессия.
• После подключения автоматически запускается наша программная оболочка.
• Пользователь выбирает необходимый автомобильный каталог.
• Запускаются соответствующие приложения и браузеры.
• Несколько пользователей могут одновременно работать независимо друг от друга.
• Система стабильно работает под нагрузкой и не требует постоянного ручного вмешательства администратора.
Работа предполагает самостоятельное техническое проектирование, выбор оптимальных технологий, разработку прототипа и последующее внедрение готового решения.