Вы принимали решения о выборе технологий в текущем проекте?

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

Ответ

Решения принимались совместно с командой, но я активно участвовал в обсуждениях и предлагал варианты, которые затем согласовывались.

Примеры моих предложений и их обоснование:

  1. JPA вместо "чистого" Hibernate:

    • Почему: JPA — это стандарт, который обеспечивает большую переносимость кода между разными реализациями ORM.
      @Entity
      public class User {
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;
      private String name;
      // Геттеры и сеттеры
      }
  2. Внедрение Project Lombok:

    • Почему: Для сокращения шаблонного кода (boilerplate) — автоматической генерации геттеров, сеттеров, конструкторов. Это повышает читаемость и упрощает поддержку.
      @Data // Генерирует геттеры, сеттеры, toString, equals, hashCode
      @Entity
      public class Product {
      @Id
      private Long id;
      private String title;
      }

Все предложения обсуждались с архитектором и командой для оценки влияния на проект.