Обязанности и достижения:
Компания занимается разработкой системы безопасности ESM, предназначенной для установки в аэропортах и других объектах с высокими требованиями к безопасности.
Система построена на микросервисной архитектуре.
Я работаю в команде, которая отвечает за разработку базовых сервисов, например, сервис администрирования.
Работа организована по Scrum: ежедневные митинги, еженедельные встречи с продакт-менеджером и ежемесячные демонстрации результатов.
✔️ Мои обязанности:
◦ Разрабатываю и поддерживаю код на Python. Основной фреймворк FastAPI и основная база данных MongoDB.
◦ Анализирую требования, проектирую решения и определяю сроки для качественного и своевременного выполнения работы., чтобы все было сделано качественно и вовремя.
◦ Использую Pytest для тестирования функционала.
◦ Провожу рефакторинг Рефакторю легаси-кода, чтобы он был более читаемым и поддерживаемым.
◦ Использую в работе Docker для административных задач, таких как просмотр логов и перезапуск сервисов.
◦ Работаю с фронтенд-разработчиками над интеграцией интерфейсов и помогаю тестировщикам с функциональностью.
◦ Пишу документацию, чтобы все коллеги понимали, что было сделано и как это было реализовано.
◦ Провожу код-ревью коллег и предлагаю улучшения, чтобы наш код был лучше.
◦ Пишу статьи в Confluence, чтобы поделиться опытом с командой.
1. Сервис уведомлений.
Разработала систему, которая отправляет уведомления через SMS, электронную почту и Telegram на основе событий в системе.
◦ Оптимизировала скорость отправки уведомлений путем добавления приоритетов уведомлений по уровню критичности, что обеспечило мгновенную отправку сообщений высокого приоритета даже при большом объеме событий меньшего приоритета.
◦ Снизила нагрузку на систему при помощи обработки событий через стримы, что позволило уменьшить потребление ресурсов сервера, сохранив высокую скорость обработки данных.
◦ Увеличила стабильность доставки уведомлений благодаря внедрению механизмов повторной отправки в случае сбоев.
2. Сервис отчетов.
Расширила функциональность сервиса, добавив модуль для выгрузки данных в различные форматы (.xlsx, .docx, .odt, .pdf), что увеличило количество способов взаимодействия с данными.
◦ Оптимизировала процесс выгрузки отчетов в файлы, сократив время обработки с 10 минут до 2 минут.
◦ Внедрила функциональность прогресс-бара (истории), которая позволяет пользователям в любой момент скачать последнюю версию запрашиваемого отчета. Это избавляет от необходимости оставаться на одной вкладке и ожидать завершения выгрузки, позволяя пользователям одновременно работать с другими задачами и загружать отчеты по мере необходимости.
◦ Внедрила возможность настройки шаблонов для отчетов, что позволило автоматизировать создание типовых документов.
3. Сервис видеоданных.
На основе существующей архитектуры сервиса добавила новые модули для работы с API поставщиков видеоданных.
◦ Настроила взаимодействие с видеосервисами от поставщиков видеоданных, таких как SecurOS и Domination. Для каждого поставщика адаптировала методы взаимодействия с API, что позволило системе корректно обрабатывать все запросы.
4. Базовый фреймворк компании.
◦ Провела рефакторинг части устаревшего кода фреймворка, что позволило снизить количество багов и упростить дальнейшую поддержку системы.
◦ Создала модуль для отслеживания статуса запросов, который включает функциональность прогресс-бара (истории) для длительных процессов, таких как сборка и выгрузка отчетов, а также импорт справочников системы.
◦ Параллельно с исправлениями и доработками я обеспечивала актуальность документации, что облегчило понимание структуры и функциональности фреймворка для других разработчиков.
Стек: Python, JavaScript, HTML/CSS, PyTest, MongoDB, Redis, PostgreSQL, FastAPI, Docker, Linux (Ubuntu), Asyncio