О компании
IC Line — клининговая компания, разрабатывающая масштабируемую экосистему для операторов, клиентов и партнёров. Мы создаём многоуровневую платформу с распределённой архитектурой и высокой степенью автоматизации бизнес-процессов.
Сейчас мы ищем сильного Full Stack разработчика, способного проектировать архитектуру и реализовывать сложные решения от бэкенда до мобильного приложения.
Задачи
Разработка и развитие API и мобильного приложения на основе Python (FastAPI) и Flutter (Dart).
Проектирование архитектуры с использованием Clean Architecture и паттернов Repository, Unit of Work, Dependency Injection.
Реализация бизнес-логики через Use Cases и поддержку асинхронных процессов (Celery, Redis).
Интеграция с внешними сервисами (уведомления, платежные системы, Firebase, геолокация).
Работа с базой данных PostgreSQL, миграциями (Alembic) и ORM (SQLAlchemy).
Реализация ролей и аутентификации (JWT, python-jose, passlib).
Участие в DevOps-практиках (Docker, docker-compose, Nginx, systemd).
Поддержка и развитие мобильного приложения на Flutter: реализация сложных UI, управление состоянием (BLoC/Cubit), работа с данными (Dio, Hive, shared_preferences).
Реализация push-уведомлений и разрешений (Firebase Messaging, permission_handler).
Требования
Бэкенд (Python/FastAPI):
Уверенные знания Clean Architecture, SQLAlchemy, Alembic.
Опыт проектирования и реализации REST API с продуманной структурой.
Опыт работы с PostgreSQL, оптимизация запросов.
Понимание асинхронности и работы фоновых задач (Celery + Redis).
Опыт внедрения JWT-аутентификации, ролевой модели доступа.
Владение Docker и знание принципов CI/CD.
Фронтенд (Flutter/Dart):
Опыт построения сложных приложений с использованием BLoC/Cubit и Clean Architecture.
Работа с Dio, Hive, shared_preferences.
Опыт интеграции Google Maps, геолокации, платёжных SDK.
Опыт работы с push-уведомлениями (Firebase Messaging) и адаптивным UI.
Будет плюсом:
Опыт с SQLAdmin или аналогичными административными панелями.
Знание паттернов Feature-Sliced Design.
Опыт написания юнит и интеграционных тестов.
Личные качества
Проактивность, умение предлагать архитектурные улучшения.
Готовность к самостоятельной работе и высокой ответственности.