Какие рабочие практики или условия вы считаете негативными и хотели бы избегать в новой команде?

«Какие рабочие практики или условия вы считаете негативными и хотели бы избегать в новой команде?» — вопрос из категории Софт-скиллы, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Негативные практики, снижающие эффективность и качество работы:

  1. Отсутствие процессов обеспечения качества:

    • Нет code review – ведёт к накоплению багов и снижению единообразия кода.
    • Отсутствие автоматизированного тестирования (юнит-, интеграционные тесты).
  2. Проблемы с кодом и технологиями:

    • Критический технический долг, который игнорируется в угоду скорости.
    • Устаревший стек технологий без плана модернизации (например, EJB 2.x, Spring 3.x).
    • «Магические числа» и спагетти-код без документации.
      // Пример плохой практики
      public void calculate() {
      // Что такое 86400 и 1000? Нет пояснений.
      int result = value * 86400 / 1000;
      // ... 200 строк сложной логики в одном методе
      }
  3. Неэффективные методологии управления:

    • Жёсткий waterfall вместо гибких итеративных подходов (Agile, Scrum).
    • Микроменеджмент – чрезмерный контроль вместо доверия и автономии разработчиков.
  4. Организационные проблемы:

    • Неясные требования и постоянно меняющиеся приоритеты без коммуникации.
    • «Hero culture» – поощрение работы в ночи для «тушения пожаров» вместо построения устойчивых процессов.

Идеальная среда: Прозрачные процессы, актуальные технологии, баланс между скоростью и качеством, культура взаимного обучения и конструктивной обратной связи.