Ответ
При поиске новой роли я оцениваю проекты и условия работы по нескольким ключевым техническим и организационным критериям.
Технический стек и процессы:
- Современный Java/Kotlin: Работа с актуальными версиями (Java 11+), использование современных API (Streams, Optional, Records, Pattern Matching).
- Релевантные фреймворки и подходы: Опыт с Spring Boot, Micronaut, Quarkus; микросервисная или чистая архитектура.
- Качество кода: Внедрение практик Clean Code, проведение регулярного Code Review, написание модульных и интеграционных тестов (JUnit, Testcontainers). Приветствуется TDD/BDD.
- Инфраструктура и DevOps: Автоматизация сборки (Maven/Gradle), CI/CD (GitLab CI, Jenkins, GitHub Actions), контейнеризация (Docker, Kubernetes).
Пример интересной технической задачи:
// Использование современных возможностей Java для создания читаемого и эффективного кода
public record UserResponse(String name, String email, LocalDateTime registeredAt) {}
public List<UserResponse> getActiveUsers(List<User> users) {
return users.stream()
.filter(User::isActive)
.map(u -> new UserResponse(u.getName(), u.getEmail(), u.getRegisteredAt()))
.toList();
}
Организационные аспекты:
- Гибкость: Возможность удаленной или гибридной работы, гибкий график.
- Культура команды: Открытость к обмену знаниями, отсутствие микроменеджмента, ориентация на результат.
- Профессиональный рост: Доступ к обучению, сложные и масштабируемые задачи, участие в архитектурных решениях.
Я стремлюсь избегать проектов с устаревшими технологиями (например, Java 6-8 без плана миграции, EJB 2.x, SOAP-сервисы) и токсичной рабочей средой, где переработки являются нормой.
Ответ 18+ 🔞
Ну, слушай, вот я тут смотрю на вакансии, понимаешь, и у меня в голове уже целая система оценки, как у этого Герасима, только не «Муму», а «мудак или не мудак проект». Прям волнение ебать, как карты лягут.
Про техническую начинку, или «На чём будем пахать»:
- Java/Kotlin: Если в требованиях Java 6 или 8 без планов на выход, я сразу — «в рот меня чих-пых». Нужно что-то современное, 11+, чтобы можно было Records, Streamы и прочие вкусности юзать, а не городить велосипеды из одних классов-сущностей.
- Фреймворки и архитектура: Spring Boot — это как родная, но если Micronaut или Quarkus — тоже пойдёт, лишь бы не этот ёбанный легаси-монолит, где за изменение одной кнопки три отдела согласовывают. Микросервисы или чистая архитектура — это да, это наш путь.
- Качество кода: Если в процессе нет Code Review и все пишут как бог на душу положит — это пиздец, а не работа. Чистый код, тесты (JUnit, Testcontainers), может даже TDD — вот что греет душу. Без этого — одни костыли потом, ебать мои старые.
- Инфраструктура: Сборка должна быть автоматизирована (Maven/Gradle), CI/CD чтоб крутился, а не ручками деплоили. Docker, Kubernetes — это уже почти стандарт, без них как без рук.
Вот, к примеру, задача, которая могла бы заинтересовать:
// Использование современных возможностей Java для создания читаемого и эффективного кода
public record UserResponse(String name, String email, LocalDateTime registeredAt) {}
public List<UserResponse> getActiveUsers(List<User> users) {
return users.stream()
.filter(User::isActive)
.map(u -> new UserResponse(u.getName(), u.getEmail(), u.getRegisteredAt()))
.toList();
}
Видишь? Красиво, коротко, без лишнего говна. Не то что в старых проектах — три класса, пять интерфейсов и овердохуища кода.
А теперь про атмосферу, или «С кем предстоит в окопах сидеть»:
- Гибкость: Удалёнка или гибрид — обязательно. Сидеть с девяти до шести в офисе, чтобы просто «быть на виду» — это, прости, мартышлюшка какая-то. Результат важнее отсиженных часов.
- Культура в команде: Чтобы можно было знаниями обмениваться, а не сидеть, как немой Герасим, и бояться слово сказать. Микроменеджмент — это вообще красный флаг, при виде которого подозрение ебать чувствую.
- Рост: Если задачи — однотипная хуйня из JIRA, а про архитектуру и речи нет, то какой рост, о чём вы? Нужны вызовы, доступ к обучению, чтобы мозги не засохли.
А чего я, как собака Муму, боюсь и обхожу стороной? Проекты, где основной стек — это Java 6, EJB 2.x и SOAP-сервисы, которые уже никому не нужны, но «работают же». И, конечно, токсичная среда, где переработки — это норма, а не ЧП. На такое даже смотреть не хочу, сразу — «иди нахуй, мужик», как в той записке. Потому что жизнь одна, а говнопроектов — овердохуища.