Как я строил все, а катил на прод — по жизни
Всё началось с собеседования, на которое пришёл человек с идеальным резюме. Три страницы: Docker, Kubernetes, CI/CD, всё «продвинутый». Через двадцать минут разговора я понял, что он, кажется, ни разу не поднимал контейнер руками. Сертификаты у всех красивые. А умеют — единицы. И вот тут меня зацепило: а как вообще проверить, что человек реально умеет делать руками?
Так появилась идея. Сначала — просто база вопросов и тесты. Потом — уровни: Junior, Middle, Senior, Expert. Потом я понял, что тестами сыт не будешь — надо, чтобы человек не выбирал «правильный ответ», а делал. Поднял настоящий Linux-контейнер прямо в браузере: живой терминал, реальные команды, система проверяет результат.
Помню первый прогон: человек пишет touch file, chmod, запускает скрипт — и всё зелёное. Я смотрел на экран и улыбался как ребёнок. Ради таких моментов и делается.
Деплой — это отдельная любовь. Пятница, вечер. Все ушли. Я смотрю на незадеплоенную фичу и на прод. И всегда один и тот же диалог в голове: «Не кати в пятницу». — «Да ладно, всё же работает». — «А если упадёт?» — «Так роллбэк же». Катнул. Работает. Ушёл домой довольный. В понедельник: «А зачем это вообще было?» — «Ну… красиво же». 😄
А роллбэк в 3 часа ночи — это целая культура. Просыпаешься не от будильника, а от того, что тишина стала слишком подозрительной. Открываешь ноут, а там Prometheus орёт. И ты такой: «Спокойно, я это уже видел вчера». И катишь назад. И главное — всегда работает, если ты вчера, будучи трезвым, накатал эту кнопку.
А ещё между всем этим был проект «Звезда» — для моих детей. Это, пожалуй, самый честный проект в моей жизни, потому что заказчик не умеет врать. Дети кликают всё подряд, находят баги, которые ты и не планировал, и требуют «сделай, чтобы питомец поел». И ты делаешь. Потому что это важнее любого SLA.
«Звезда» — это звёздочки за уроки и задания, наклейки, магазин питомцев, сертификаты за достижения. Ребёнок собрал урок — получил звезду. Накопил — купил хомячка. У меня в продакшене люди получают сертификаты за тесты, а у детей — за то, что заправили кровать. И знаете что? Дети кайфуют сильнее.
«Звезда» научила меня тому, чему не научил ни один релизный процесс:
Если ребёнок не понял кнопку — это не «надо прочитать документацию», это я сделал плохо.
Нельзя поставить кнопку «Удалить всё» без вопроса. Ребёнок нажмёт. Потому что она яркая.
И главное — катить надо часто. Если ребёнку не понравилась новая версия, он скажет об этом так, что Prometheus покажется тихим шёпотом.
Я катал «Звезду» так же, как и всё остальное: после вечернего «поддерживающего» чая, с полной уверенностью, что это лучший best practice. Прод — это детская комната. Роллбэк — «а давай вернём, как было, я так хочу». Дети не знают слова «деплой», но всегда знают, чего хотят.
И знаете, что самое смешное? Я строил платформу, чтобы проверять, умеют ли взрослые делать руками то, что пишут в резюме. А «Звезда» проверяет то же самое — просто честнее. И заказчик требовательнее. Попробовать платформу: https://essenca.online