Компания "DIGITAL TRAVEL CONCIERGE (ДИДЖИТАЛ ТРЭВЭЛ КОНСЬЕРЖ)"
Backend-разработчик в проекте отвечает за проектирование, разработку и поддержку серверной логики, API и функций управления данными микросервисов. Основная цель Backend-разработчика — гарантировать, что каждый микросервис эффективен, масштабируем и соответствует техническим и бизнес-требованиям проекта.
Обязанности:
Техническая экспертиза в разработке бэкенда:
Знание соответствующих языков: Отличные навыки в языках программирования бэкенда, таких как Java (Spring Boot), Python (FastAPI), Node.js, Go или C# (.NET Core).
Опыт работы с архитектурой микросервисов: Знание принципов проектирования микросервисов, таких как проектирование на основе домена, развязка сервисов и межсервисное взаимодействие.
Разработка 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 и автоматизации предоставления инфраструктуры.
Непрерывное совершенствование: участие в обзорах кода и ретроспективах для выявления областей для улучшения методов кодирования, тестирования или развертывания.
Сотрудничество с кросс-функциональными командами:
Участие в мероприятиях спринта: участие в планировании спринта, ежедневных стендапах и ретроспективах для соответствия целям и приоритетам команды.
Работа с командами по продукту и бизнесу: сотрудничество с владельцем продукта и бизнес-аналитиком для понимания требований, расстановки приоритетов функций и уточнения технических потребностей.
Поддержка команд фронтенда и интеграции: обеспечение плавной интеграции между бэкенд-сервисами и фронтенд-приложениями, предоставление поддержки и устранение неполадок при необходимости.
Если Вас заинтересовала вакансия, просим пройти предварительное интервью, заполнив форму.
09 Января
Алматы
Компания "ОЦ «Aiplus» (Qadam (Қадам))" Привет, наш будущий кандидат! Мы, компания AIPLUS, - лидеры в области дополнительного образования!...
09 Января
Разработчик С++( «Научно-Исследовательская Лаборатория «Гамма Технологии» )
Алматы
Компания "«Научно-Исследовательская Лаборатория «Гамма Технологии»" Обязанности: Разработка программного обеспечения Требования:...
09 Января
Power BI Consultant, Digital CFO group in Consulting( KPMG )
Алматы
Компания "KPMG" Are you passionate about transforming financial data into actionable insights? Do you thrive in a dynamic consulting...
09 Января
Алматы
Компания "Декатлон РК" Ищешь возможности для профессионального роста? Хочешь работать над интересными проектами и прокачать свои навыки?...
09 Января
Go-разработчик( «Научно-Исследовательская Лаборатория «Гамма Технологии» )
Алматы
Компания "«Научно-Исследовательская Лаборатория «Гамма Технологии»" Обязанности: Разработка программного обеспечения Требования:...