Мы - кросс-функциональная команда, которая разрабатывает цифровую сервисную платформу автоматизации облачных вычислений (IaaS/PaaS). Платформа включает в себя компоненты для управления облаком, в том числе и систему управления виртуализацией гипервизора KVM.
Команда обладает большой экспертизой в области разработки систем управления виртуализацией и другого системного ПО. В процессе разработки используем самые последние версии языков программирования, фреймворков и библиотек.
Опыт и требования
- коммерческий опыт разработки на Python от 5 лет, включая участие в сложных проектах
- опыт работы в роли технического лидера или старшего разработчика (от 2 лет)
- глубокое понимание принципов проектирования (SOLID, KISS, DRY) и паттернов (Внедрение зависимостей, Фасад, Адаптер, Абстрактная фабрика и т.д.)
- умение проводить технический аудит кода , выявлять узкие места
Базы данных
- глубокое понимание оптимизации запросов: построение индексов, анализ планов выполнения (EXPLAIN ANALYZE)
- написание сложных SQL-запросов: агрегации, оконные функции, CTE, рекурсивные запросы
Отладка и оптимизация кода
- умение профилировать код: использование инструментов (cProfile, py-spy, memory_profiler)
- опыт отладки асинхронного и многопоточного кода
- оптимизация производительности (CPU-bound, I/O-bound задачи)
Инфраструктура (опционально и будет плюсом)
- теоретические знания базовых принципов построения современных сетей передачи данных ЦОД (топология, применяемые технологии, принципы сегментации и масштабирования);
- теоретические знания базовых методов организации хранения данных;
- опыт работы с платформами виртуализации (vSphere, Hyper-V, OpenStack, OpenNebula, Proxmox и т.д.). Понимание принципов виртуализации вычислительных ресурсов и предоставления их потребителям.
Задачи, которые предстоит решать
Проектировать и развивать архитектуру
анализ требований к новым фичам и выбор оптимальных архитектурных паттернов
проверка гипотез через написание PoC для оценки рисков и производительности решений
разработка модульной и масштабируемой архитектуры для микросервисов или монолитов с учетом требований бизнеса и SLA
создание и поддержка C4-диаграмм, UML-схем и диаграмм последовательностей для визуализации текущей и целевой архитектуры, диаграмм компонентов, последовательностей и взаимодействий
представление предложенных решений команде с обоснованием выбора (стоимость, сроки, scalability)
участие в подготовке документации: ADR (Architectural Decision Records), технические спецификации
Работать с технологическим стеком продукта
выбор фреймворков, библиотек и инструментов под требования фич или проекта
сравнение и выбор реляционных или nosql баз данных для конкретных сценариев
оценка долгосрочной поддержки технологий и их совместимости с кодовой базой системы
Рефакторить код компонентов, библиотек и модулей системы, работать с техническим долгом
Решать сложные проблемы
расследовать инциденты в тестовых, пилотных и продакшен контурах, локализовывать проблемы
искать и находить быстрые решения в условиях ограничений ресурсов
Взаимодействовать со смежными командами
принимать участие в планировании с продуктовой командой для оценки сложности фич и рисков
Мы предлагаем:
100% удалённую работу из любой точки РФ;
интересный проект.