12 декабря 2025
Мы создаём собственную систему управления автоматизированным тестированием - ключевой инструмент CI/CD, которым ежедневно пользуются разработчики компании. Это полноценное desktop-приложение с GUI и фоновым сервисом, оркестрирующим параллельное выполнение тысяч тестов.
Ищем разработчика, который будет участвовать в развитии архитектуры, проектировании и реализации новых возможностей, повышении надёжности.
Что вы будете делать:
Разрабатывать GUI-клиент на Python (PyQt/PySide): работа с базой тестов, фильтрация, формирование сессий, отображение результатов.
Разрабатывать и поддерживать ядро системы - фоновый сервис для параллельного выполнения тестов (таймауты, окружение, очереди, статусы).
Проектировать и реализовывать надёжное взаимодействие GUI и сервиса: работа через файлы, сокеты, механизмы блокировок.
Работать с JSON-конфигурациями, профилями, переменными окружения, сложными путями к данным.
Обеспечивать отказоустойчивость: транзакционное сохранение состояния, корректное восстановление после сбоев.
Оптимизировать работу с большими наборами данных - очереди тестов на тысячи элементов.
Работать над архитектурой, участвовать в code review, писать документацию.
Мы ожидаем:
Уверенный опыт разработки на Python 3.9+ от 3 лет (или опыт в другом языке + готовность перейти на Python).
Опыт создания desktop-приложений с GUI (PyQt6/PySide6).
Хорошее понимание параллелизма и межпроцессного взаимодействия: threading, subprocess, синхронизация, пулы.
Опыт проектирования IPC: файлы, сокеты, очереди сообщений.
Уверенная работа с файловой системой, путями, аргументами командной строки (argparse, pathlib).
Опыт работы со структурированными данными (JSON, сложные схемы, валидация).
Понимание принципов разработки надёжного ПО: обработка ошибок, консистентность данных, транзакционность.
Уверенное владение Git.
Понимание базовых принципов CI/CD и роли автотестов.
Архитектурное мышление: модульность, паттерны, поддерживаемый код.
Будет плюсом:
Опыт сетевого программирования (TCP-сокеты).
Знание C++ - для понимания контекста тестируемых продуктов.
Опыт упаковки Python-приложений (PyInstaller, cx Freeze).
Опыт разработки автотестов или работы с большими тестовыми наборами.
Опыт оптимизации производительности Python.
Что мы ценим:
Умение находить баланс между идеальным и практичным решением.
Ответственность за качество и надёжность - ваш код станет основой ежедневной работы разработчиков.
Самостоятельность и внимание к деталям.
Готовность к диалогу, командная работа, конструктивность в обсуждениях.