Python-разработчик

Зарплата 500000 - 800000KZT
Компания DIGITAL TRAVEL CONCIERGE (ДИДЖИТАЛ ТРЭВЭЛ КОНСЬЕРЖ)
Город Алматы
Требуемый опыт От 1 года
Опубликована 17 февраля 2025 г.

Python-разработчик в проекте отвечает за проектирование, разработку и поддержку серверной логики, API и функций управления данными микросервисов. Основная цель Python-разработчика — гарантировать, что каждый микросервис эффективен, масштабируем и соответствует техническим и бизнес-требованиям проекта.

Обязанности:

  • Техническая экспертиза в разработке бэкенда:

    • Отличные навыки и опыт в Python FastAPI на уровне Middle/Middle+/Senior

    • Опыт работы с архитектурой микросервисов: Знание принципов проектирования микросервисов, таких как проектирование на основе домена, развязка сервисов и межсервисное взаимодействие.

    • Разработка API: Экспертиза в создании API RESTful и gRPC, включая проектирование конечных точек, обработку запросов и обеспечение безопасного обмена данными.

  • Навыки работы с базами данных и управления данными:

    • Знание баз данных: Опыт работы как с реляционными (например, PostgreSQL, MySQL), так и с NoSQL базами данных (например, MongoDB, Cassandra), а также способность оптимизировать запросы и управлять схемами.

    • Моделирование данных: Способность проектировать структуры данных, которые соответствуют функциональным требованиям каждого микросервиса.

    • Понимание согласованности данных: Знание методов обработки согласованности данных, транзакций и окончательной согласованности в распределенных системах.

  • Понимание DevOps и CI/CD:

    • Конвейеры CI/CD: Знакомство с инструментами CI/CD (например, Jenkins, GitLab CI/CD, GitHub Actions) и способность автоматизировать интеграцию и развертывание кода.

    • Контейнеризация: Опыт работы с Docker для упаковки микросервисов и понимание Kubernetes для развертывания и масштабирования.

  • Знание безопасности:

    • Безопасность API: Знание защиты API с использованием OAuth2, JWT и других методов аутентификации и авторизации.

    • Шифрование данных и контроль доступа: Опыт работы с шифрованием данных и управления контролем доступа для обеспечения безопасности данных.

  • Навыки решения проблем и отладки:

    • Устранение неполадок: Способность диагностировать и устранять проблемы в среде распределенных микросервисов.

    • Оптимизация производительности: Навыки анализа и повышения производительности приложений, включая эффективную обработку данных и ресурсов.

  • Знакомство с методологиями Agile/Scrum:

    • Опыт Agile: знакомство с принципами Scrum, включая работу в циклах разработки на основе спринтов.

    • Навыки совместной работы: способность тесно сотрудничать с членами кросс-функциональной команды, такими как разработчики интерфейса, инженеры DevOps и тестировщики QA.

Требования:
  • Разработка и внедрение микросервисов:

    • Разработка внутренних служб: проектирование и внедрение серверной логики для каждого микросервиса, обеспечение их соответствия функциональным и нефункциональным требованиям.

    • Реализация API: создание RESTful и/или gRPC API для каждого сервиса, определение конечных точек, которые обеспечивают безопасный и эффективный обмен данными с другими сервисами или клиентами front-end.

    • Обработка бизнес-логики: кодирование сложной бизнес-логики в внутренние службы, такие как расчет цен, управление заказами или обработка бронирований.

  • Управление базами данных и моделирование данных:

    • Проектирование баз данных: проектирование и создание схем баз данных и моделей данных, которые поддерживают потребности каждого микросервиса.

    • Оптимизация доступа к данным: оптимизация доступа к данным и запросов для обеспечения быстрой и эффективной обработки запросов.

    • Обеспечение согласованности данных: реализация методов согласованности и синхронизации данных, особенно для данных, совместно используемых несколькими сервисами.

  • Интеграция API и межсервисная коммуникация:

    • Реализация межсервисной коммуникации: обеспечение бесперебойной коммуникации между микросервисами с использованием протоколов обмена сообщениями (например, Kafka, RabbitMQ) и API по мере необходимости.

    • Документация API: документирование конечных точек API, форматов запросов и ответов, а также требований аутентификации для обеспечения ясности для других членов команды и внешних потребителей.

    • Обработка ошибок и устойчивость: реализация надежных механизмов обработки ошибок и повторных попыток для управления сбоями и обеспечения устойчивости сервиса.

  • Оптимизация производительности и масштабируемость:

    • Оптимизация кода и запросов: постоянная оптимизация кода, запросов к базе данных и механизмов кэширования для повышения производительности и сокращения задержек.

    • Обеспечение масштабируемости: проектирование бэкэнд-сервисов таким образом, чтобы они были масштабируемыми, что позволяет увеличивать нагрузку и пользовательский трафик по мере роста проекта.

    • Мониторинг и метрики: интеграция инструментов мониторинга для отслеживания производительности сервиса, сбора метрик и обнаружения узких мест производительности.

  • Реализация безопасности:

    • Безопасные API и данные: Внедрение элементов управления аутентификацией и авторизацией (например, OAuth2, JWT) для защиты API и предотвращения несанкционированного доступа.

    • Защита данных: Шифрование конфиденциальных данных, ограничение доступов к критически важной информации в соответствии с политиками безопасности.

    • Управление уязвимостями: Сотрудничество с инженерами по безопасности для выявления и устранения уязвимостей безопасности, регулярные проверки кода и конфигураций.

  • Тестирование и обеспечение качества:

    • Написание unit, модульных и интеграционных тестов: Разработка автоматизированных модульных и интеграционных тестов для проверки функциональности сервиса и обеспечения качества кода.

    • Сотрудничество с QA: Тесное сотрудничество с инженерами по QA для проверки функциональности, проведения проверок кода и обеспечения соответствия каждого микросервиса критериям приемки.

    • Отладка и разрешение проблем: Быстрое выявление и устранение ошибок, проблем с производительностью или других технических проблем, возникающих во время разработки или в процессе производства.

  • Непрерывная интеграция и развертывание (CI/CD):

    • Создание и развертывание микросервисов: настройка конвейеров CI/CD для автоматизации создания, тестирования и развертывания микросервисов.

    • Интеграция с инструментами DevOps: сотрудничество с инженерами DevOps для настройки контейнеров Docker, конфигураций Kubernetes и автоматизации предоставления инфраструктуры.

    • Непрерывное совершенствование: участие в обзорах кода и ретроспективах для выявления областей для улучшения методов кодирования, тестирования или развертывания.

  • Сотрудничество с кросс-функциональными командами:

    • Участие в мероприятиях спринта: участие в планировании спринта, ежедневных стендапах и ретроспективах для соответствия целям и приоритетам команды.

    • Работа с командами по продукту и бизнесу: сотрудничество с владельцем продукта и бизнес-аналитиком для понимания требований, расстановки приоритетов функций и уточнения технических потребностей.

    • Поддержка команд фронтенда и интеграции: обеспечение плавной интеграции между бэкенд-сервисами и фронтенд-приложениями, предоставление поддержки и устранение неполадок при необходимости.

Условия:
  • Оформление по трудовому кодексу РК
  • График ПН-ПТ с 9:00 до 18:00 (гибкий)
  • Удаленная работа
  • Карьерный рост
  • Бонусы по KPI
  • Отличная команда