Team Lead / Senior Python developer

Дата размещения вакансии: 07.05.2024
Работодатель: Thor Systems
Уровень зарплаты:
от 200000 RUR
Город:
Новосибирск
Требуемый опыт работы:
От 3 до 6 лет

Thor Systems — Российская IT компания, специализирующаяся на разработке кроссплатформленных мобильных приложений на основе React и React Native, автоматизации учета и создании микросервисных корпоративных систем для автоматизации полного цикла малых и средних предприятий, основываясь на архитектурном подходе DDD (Domain Driven Development). В связи с расширением количества проектов, мы ищем опытного Team Lead в нашу команду.

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

  • Оценка задач;
  • Обеспечение достижения целей;
  • Контроль выполнения задач в срок и согласно спецификации;
  • Распределение задач в команде;
  • Мотивация команды;
  • Тимлид это играющий тренер, 40% времени тимлида выделяется на разработку;
  • Контроль нагрузки команд по текущим и будущим проектам.
Требования:
  • Экспертные знания в области;
    Тимлид должен понимать, как делается продукт, не только в теории, но и на практике;

  • Критическое и аналитическое мышление. Умение работать с product owner, дизайнером, аналитиком и QA;

  • Опыт управления командой от 3х человек, планирование ресурсов и их контроль;

  • Организовывать рабочие процессы в команде;

  • Синхронизировать цели компании и команды;

  • Контролировать процессы и результат;

  • Оценка задач и сроков всех этапов, а также их разделение на спринты;

  • Обеспечение качественной работы софта после релиза.

Требования специфичные для python team lead:

Глубокие знания Python и его библиотек, опыт работы с фреймворками (например, Django, Flask), опыт работы с базами данных (SQL и NoSQL), знание принципов разработки ПО.
Знание принципов разработки ПО: Понимание принципов ООП (объектно-ориентированного программирования), SOLID-принципов, паттернов проектирования. Умение писать чистый, модульный и масштабируемый код.

Работа с базами данных: Опыт работы с различными типами баз данных, включая реляционные (например, PostgreSQL, MySQL) и NoSQL (например, MongoDB, Redis). Знание SQL для выполнения запросов и управления данными.

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

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

Domain-Driven Design (DDD):
— Основные принципы DDD: понимание концепций ограниченного контекста, агрегатов, сущностей, значений и репозиториев.
— Проектирование на основе DDD: разработка моделей домена, выделение контекстов, определение границ агрегатов и их инвариантов.
— Имплементация DDD в Python: использование DDD для построения эффективной и расширяемой архитектуры приложения на Python.

Celery:
— Асинхронные задачи с Celery: настройка и использование Celery для выполнения задач в фоне, планирования задач, мониторинга выполнения задач.
— Работа с очередями сообщений: интеграция Celery с RabbitMQ или другими брокерами сообщений для обеспечения асинхронной обработки задач.
— Планирование и периодические задачи: использование Celery Beat для запуска периодических задач и планирования выполнения задач по расписанию.

Микросервисная архитектура:
— Основные принципы: разделение приложения на небольшие автономные сервисы, каждый из которых отвечает за определенную функциональность.
— Коммуникация между сервисами: использование протоколов обмена сообщениями (например, HTTP, gRPC) для взаимодействия между сервисами.
— Масштабируемость и гибкость: возможность масштабировать отдельные сервисы независимо друг от друга, что обеспечивает гибкость и улучшает производительность системы.
— Управление данными: каждый сервис имеет свою собственную базу данных или использует подходы к управлению данными, такие как CQRS (Command Query Responsibility Segregation) и Event Sourcing.
— Мониторинг и отладка: необходимость эффективного мониторинга и отладки распределенной системы из микросервисов для обеспечения надежности и производительности.

Опыт работы с Docker, Docker swarm, хорошее понимание и применение Twelve-Factor App.

Условия:
  • Конкурентоспособную зарплату, обсуждение роста оплаты труда в зависимости от результатов
  • Гибкий график работы, возможность удаленной работы
  • Интересные и масштабные проекты