Какие технические и профессиональные критерии важны для тебя при выборе места работы?

Ответ

Приоритеты расставляются в следующем порядке:

1. Технологический стек и качество кода (Фундамент):

  • Современные практики: Использование актуальных, поддерживаемых версий фреймворков (Spring Boot 3+, Java 17+).
  • Качество кода: Наличие code review, статического анализа (SonarQube), стандартов оформления.
  • Тестирование: Культура написания unit-, интеграционных и e2e-тестов. Измеряемое покрытие кода.
  • Архитектура: Четкое разделение на слои, использование DTO, слабая связность.

2. Процессы разработки и инфраструктура (Эффективность):

  • CI/CD: Автоматизированные пайплайны сборки, тестирования и деплоя.
  • Agile/Scrum: Предсказуемый процесс планирования и обратная связь.
  • Инфраструктура: Использование контейнеризации (Docker, K8s), облачных сервисов, мониторинга.

3. Команда и культура (Рост):

  • Компетентные коллеги: Возможность учиться у senior-разработчиков и архитекторов.
  • Технический долг: Понимание его наличия и планы по его сокращению.
  • Обмен знаниями: Проведение митапов, техдоков, внутренних воркшопов.

4. Продукт и домен (Мотивация):

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

5. Условия (Баланс):

  • Режим работы: Гибкий график, гибридный или удаленный формат.
  • Профессиональный рост: Бюджет на конференции, курсы, сертификации.
  • Компенсация: Конкурентная зарплата, соответствующая уровню ответственности и рынку.

Красный флаг (пример плохой практики):

// Класс-бог (God Class) с нарушением всех принципов
@Service
public class EverythingService {
    // 2000 строк кода, которые делают всё:
    // - работа с БД
    // - отправка email
    // - сложная бизнес-логика
    // - парсинг JSON
}

Работа в проекте с таким кодом без плана на рефакторинг означает высокие риски и низкую скорость разработки.

Ответ 18+ 🔞

О, а вот это уже интересно! Сижу, читаю твой список приоритетов, и, блядь, прям в точку, ёпта. Прямо как будто мне из головы вынули и на бумагу перенесли. Ну ладно, давай по полочкам разложу, как я это вижу, со всеми своими, блядь, жизненными наблюдениями.

1. Технологический стек и качество кода (Фундамент, ага, ёбушки-воробушки)

Совершенно верно, это как фундамент у дома. Если там говно вместо бетона залили, то хоть обвешай фасад золотыми унитазами — всё равно развалится, и ты под ним окажешься. Современные версии — это не просто «ой, мы крутые». Это, блядь, безопасность, производительность и отсутствие головной боли с поддержкой древнего говнокода, который уже ни один живой человек не понимает.

А качество кода... Вот смотри, ты приходишь в проект, а там SonarQube молчит как партизан, потому что его отключили, ибо он орал на каждую вторую строчку. И code review — это когда тимлид за пять минут до дедлайна пишет «ок» и мержит. Это пиздец, чувак. Это прямой путь в ад, где ты будешь дебажить чужой код в три часа ночи, материться и мечтать о гильотине. Наличие этих практик — это не бюрократия, это, блядь, элементарное уважение к себе и коллегам. Чтобы не было вот этого:

// Класс-бог (God Class) с нарушением всех принципов
@Service
public class EverythingService {
    // 2000 строк кода, которые делают всё:
    // - работа с БД
    // - отправка email
    // - сложная бизнес-логика
    // - парсинг JSON
}

Видишь этот монстр? Это и есть тот самый красный флаг размером с пол-Москвы. Работать с таким — это как пытаться прочистить засор в канализации голыми руками. Волнение ебать, терпения ноль ебать. Если тебе на собеседовании показывают такое и говорят «живём же как-то», беги. Беги, не оглядываясь. Потому что план по рефакторингу будет лежать в самом дальнем ящике стола, прямо под планом по захвату мира.

2. Процессы и инфраструктура (Эффективность, или как не ебать себе мозг)

CI/CD — это не для галочки. Это чтобы не было ситуации: «Вася, собери на проде, только руками, по инструкции 2018 года, и да смотри, чтобы библиотека left-pad не сломалась». Автоматизированный пайплайн — это спокойный сон. Проснулся, у тебя в телеге уже отчёт: сборка прошла, тесты зелёные, всё задеплоилось. Красота!

А Agile... Э, блядь, тут надо смотреть в оба. Если это настоящий Scrum с ретро, планированием и адекватным скрам-мастером — ок. А если это «у нас agile», что на деле означает «начальник может вломиться с новой фичей в пятницу вечером», то это, простите, пизда. Просто пизда, а не agile. Инфраструктура в докере и кубере — это уже must have. Если проект до сих пор деплоят копипастой jar-ника по FTP на виртуалку — это даже не красный флаг, это чёрный саван над всей конторой.

3. Команда и культура (Рост, или почему одни деградируют, а другие летят в космос)

Самый важный пункт после фундамента, ёпта. Можно работать на старом стеке, но с гениями, которые тебя всему научат, — и ты будешь расти как на дрожжах. А можно на самом модном React’е, но в окружении криворуких пиздопроёбов, которые только и умеют, что копипастить с StackOverflow, — и через год ты будешь тупее, чем пришёл.

Наличие техдолга — нормально. Его нет только в мёртвых проектах. Но! Важно, чтобы его признавали и был хотя бы призрачный план по его сокращению. Если же тебе говорят «какой техдолг? у нас всё отлично», а в коде комментарии вида // TODO: fix this shit later (added by Ivan, 2015), то это, блядь, ложь и лицемерие. Обмен знаниями — митапы, воркшопы — это признак здоровой, живой команды, которая не боится делиться.

4. Продукт и домен (Мотивация, или чтобы не было стыдно)

Работать над продуктом, который реально нужен людям, — это, сука, приятно. Ты вкладываешь душу. А когда ты пишешь какую-нибудь админку для отчёта, который никто никогда не откроет, то мотивация стремится к нулю, блядь. Возможность влиять на архитектуру — это тоже круто. Когда тебя слушают, а не говорят «не выёбывайся, пиши как все».

5. Условия (Баланс, или чтобы не сгореть)

Гибкий график и удалёнка — это уже не плюс, а необходимость. Профессиональный рост — если компания не готова вкладываться в тебя (курсы, конференции), то зачем ты ей сдался? Ты для них — расходный материал. Компенсация... Ну, тут всё просто. Деньги должны быть достойными. Если тебе предлагают «опыт, уникальные задачи и печеньки по пятницам» вместо конкурентоспособной зарплаты, то это, извини, пидарас шерстяной в чистом виде.

Итог: Ищешь место, где есть пункты 1 и 3. Пункт 2 должен хотя бы присутствовать и не быть полной профанацией. Пункты 4 и 5 делают жизнь сносной, а иногда даже приятной. А если видишь тот самый EverythingService и слышишь фразы вроде «у нас тут всё быстро меняется, некогда тесты писать» — это верный знак. Знак, что пора делать ноги, пока не накрылся медным тазом вместе с этим legacy-проектом. В рот меня чих-пых, лучше уж тогда на фрилансе пилить пет-проекты!