Ответ
Как IT Project Manager, я считаю, что ответственность за производительность системы распределяется между всей командой. Разработчик может быть лишь одним из факторов:
- Качество кода - неоптимальные алгоритмы, отсутствие кеширования, N+1 запросы действительно влияют на скорость. Пример плохого кода:
# Плохо: O(n^2) сложность
for user in users:
for post in posts:
if post.user_id == user.id:
process_post(post)
- Но есть и другие факторы:
- Архитектурные решения (Tech Lead/Architect)
- Инфраструктура (DevOps)
- Требования продукта (Product Owner)
- Тестирование производительности (QA)
- Процессы - отсутствие code review, нагрузочного тестирования, мониторинга - это уже зона ответственности PM.
Вывод: вина редко лежит только на разработчике. Это системная проблема, которую нужно решать на уровне процессов и командной работы.