Ответ
Пришел на этапе активной разработки MVP. Команда уже сформировала базовую архитектуру (Spring Boot + микросервисы), но многие фичи были в процессе реализации.
Моя роль:
- Доработка core-логики (добавил модуль аналитики с Kafka Streams)
- Оптимизация запросов к PostgreSQL (уменьшил N+1 проблемы через EntityGraph)
- Интеграция с внешним API платежей
Пример кода, который пришлось рефакторить:
// Было
@Transactional
public List<Order> getUserOrders(Long userId) {
return orderRepo.findByUserId(userId); // Ленивая загрузка -> N+1
}
// Стало
@EntityGraph(attributePaths = {"items", "payment"})
@Query("SELECT o FROM Order o WHERE o.user.id = :userId")
List<Order> findOrdersWithDetails(@Param("userId") Long userId);
Параллельно участвовал в код-ревью и помогал с деплоем в Kubernetes.