Ответ
Ключевые факторы, которые заставляют разработчика рассматривать смену работы:
- Отсутствие профессионального роста — нет возможности изучать новые технологии, повышать квалификацию или брать более сложные задачи.
- Токсичная рабочая среда — постоянные конфликты в команде, неадекватный менеджмент, микроменеджмент.
- Неконкурентная компенсация — зарплата не соответствует рыночному уровню и объёму выполняемой работы.
- Рутинные и неинтересные задачи — отсутствие сложных кейсов, задач на автоматизацию или архитектурных вызовов.
- Неэффективные процессы — чрезмерная бюрократия, бесконечные митинги, отсутствие налаженных практик CI/CD.
- Пренебрежение качеством кода — постоянное давление дедлайнов в ущерб рефакторингу и исправлению технического долга.
Пример (условный код, отражающий логику принятия решения):
def should_consider_leaving(self):
if (not self.has_growth_opportunities or
self.is_toxic_environment or
self.is_underpaid):
return True
# Решение принимается на основе баланса всех факторов
return self.pros < self.cons
Решение об уходе обычно принимается, когда совокупность негативных факторов перевешивает преимущества текущей позиции.