Быть Java-разработчиком уже недостаточно. И это не сарказм.

Однажды, листая статью про «актуальные навыки для разработчиков», я поймал себя на странной мысли, я вроде всё это умею, но почему-то чувствую себя не разработчиком, а каким-то многоруким облачным жрецом. В статье перечислялось: cloud-native, DevOps, архитектура. И всё это как будто базовый набор. Не «плюс», не «желательно», а «если не знаешь — даже не приходи». Я смотрел на эти слова и думал, когда это всё стало нормой?

Когда мы перестали просто писать код и начали проектировать инфраструктуру, деплоить пайплайны, рисовать квадратики и обсуждать отказоустойчивость на уровне философии?Cloud-native — это вообще отдельный жанр. Раньше ты писал сервис, запускал его на локалке, и если всё работало, ты был молодец. Сейчас, если твой сервис не умеет масштабироваться, сам себя лечить, логировать по стандарту и не падать от первого sneeze в проде, ты не разработчик, ты угроза бизнесу. И это не шутка, я видел, как люди с горящими глазами обсуждают readiness-пробы, как будто это новый вид искусства,а я в этот момент просто хочу, чтобы мой @RestController не умер от перегрузки.

Потом приходит DevOps. И тут начинается веселье. Ты вроде не DevOps-инженер, но если не умеешь настроить CI/CD, ты «не самостоятельный», а если умеешь, то слишком дорогой. И вот ты сидишь, ковыряешь YAML, чтобы твой сервис не упал, и думаешь, а я вообще ещё разработчик? Или уже шаман? Я лично провёл больше времени в Jenkins, чем в IDE, и это не потому, что люблю пайплайны, а потому что иначе никто не деплоит,а  если деплоит, то в пятницу вечером, без логов, без rollback, и с молитвой.

И вот ты вроде всё это умеешь. Ты деплоишь, мониторишь, логируешь, масштабируешь, и тут тебе говорят «А как у тебя с архитектурой?», и ты такой «Ну… я знаю, что микросервисы это боль». А тебе в ответ «А ты умеешь делать её не больной?», и начинается: DDD, CQRS, Event Sourcing, слабая связанность, границы контекста, и прочие заклинания, которые звучат круто, но в реальности превращаются в бесконечные обсуждения, как назвать сущность, чтобы она не обидела соседнюю команду.

Архитектура — это вообще, как религия. У каждого свои паттерны, свои святые книги, свои запреты. И если ты не следуешь канону, тебя отлучают от продакшна. Я видел, как люди спорят о том, можно ли использовать аннотацию @Transactional в контроллере, с такой страстью, будто решают судьбу человечества. А я в этот момент просто хочу, чтобы мой сервис не падал, и чтобы его можно было понять без диплома по теологии.

Ты сидишь, смотришь на всё это, и думаешь, может, я просто хотел писать Java? Может, я не мечтал о микросервисном зоопарке, где каждый сервис как капризный ребёнок, которого надо кормить логами и укачивать алертами? Но потом вспоминаешь, как раньше деплоили вручную, как искали баги по логам в текстовом файле на сервере, и думаешь, ладно, пусть будет облако, пусть будет DevOps, пусть будет архитектура. Главное, чтобы не было продакшн-фейлов в пятницу вечером. И вот тут приходит умозаключение, что всё это не просто мода а сдвиг. Мы перестали быть кодерами, мы стали инженерами не потому, что так захотели, а потому что иначе нельзя. И если ты хочешь быть в рынке, ты должен не просто писать код, а понимать, как он живёт, как он масштабируется, как он лечится, как он вписывается в систему. А ты как ощущаешь этот сдвиг? Уже стал облачным шаманом, или всё ещё держишься за старую добрую Java без квадратиков?

Быть Java-разработчиком уже недостаточно. И это не сарказм. | Сетка — социальная сеть от hh.ru Быть Java-разработчиком уже недостаточно. И это не сарказм. | Сетка — социальная сеть от hh.ru