Страх - это диагноз. Или топливо. Выбирать вам

Электричества боятся два типа людей. Те, кто знает, как оно работает. И те, кто не знает.

Первый боится осознанно - видел, что происходит, когда фазу кидают на ноль без нагрузки. Знает, что ток бьёт, когда расслабился. Уважает опасность. Второй боится иррационально - просто слышал, что "там высокое напряжение", и обходит будку за километр.

С IT-системами - та же история. Разработчики боятся трогать легаси. Бизнес боится менять подрядчика. Менеджеры боятся сказать "я не знаю". Но страх бывает разным. И большая часть страхов в IT - это правильные страхи. Просто они неправильно оформлены.

Первый слой: страх - это сигнал, который вы научились игнорировать. Клиент говорит "я боюсь трогать этот модуль". Я вижу контроллер на 5000 строк с 15 вложенными if-ами и прямыми SQL-запросами. Клиент не знает этих слов. Он просто чувствует: "этот модуль - как тёмная комната". И он прав. Страх - это работа интуиции. Она проанализировала тысячи сигналов: неясный код, отсутствие документации, три предыдущих падения после правок. И выдала: "Не трогай!".

Второй слой: страх без карты - паника. Страх с картой - осознанность. Что такое карта в IT? Понимание того, какие части системы могут пострадать от изменения. Без карты вы смотрите на 50 проводов и молитесь. С картой - видите: этот провод отвечает за розетки, этот - за свет, а этот трогать нельзя. Хороший разработчик не тот, кто не боится трогать систему. А тот, кто знает, чего бояться. Laravel даёт структуру. Но не даёт карту вашей конкретной системы. Он не знает, что в контроллере лежит 5000 строк, что интеграция с 1С падает каждую среду в 3 часа ночи. Фреймворк - просто каркас. Он даёт структуру. Но он не даёт мышления.

Третий слой: фреймворки создают иллюзию правильности. Разработчик думает: "Я использую Laravel. Значит, я делаю всё правильно". Laravel не проверяет, как вы спроектировали БД. Он выполнит миграции. Даже если в таблице 15 полей VARCHAR без индекса. Он промолчит. Он не скажет: "Эй, оптимизируй запрос!". Он просто упадёт. Или будет работать медленно. Фреймворк даёт готовые решения. Но не даёт критериев выбора.

Четвёртый слой: кастомный код - это отпечаток пальца разработчика. Один на Laravel напишет идеальный код с DDD. Другой - 5000 строк в контроллере с DB::raw() и dd() в продакшене. И Laravel не скажет второму: "Перепиши!". Он примет код. Он его выполнит. Фреймворк даёт 20% готового кода. Остальные 80% разработчик пишет сам. И именно в этих 80% - корень всех проблем. Пятый слой: идеальная система не та, где нет страха. А та, где страх честен. Вместо "не знаю, упадёт или нет" - "знаю, что упадёт в трёх местах, и у меня есть план". Вместо "этот код проклят" - "вот список рисков, вот тесты, вот fallback". Честный страх - когда вы не притворяетесь, что всё хорошо. Вы говорите: "Здесь страшно, но мы знаем, как сделать безопасно". Итог: страх - не враг. Это союзник. Или диагноз. Если вы не боитесь трогать легаси - вы или гений, или просто ничего о нём не знаете. Вероятность второго - 99.9%.

Я не призываю перестать бояться. Я призываю перестать игнорировать страх. Начать рисовать карты рисков. Документировать то, что знаете. Тогда страх перестанет быть параличом. Станет компасом.

Есть два варианта: вы берёте карту рисков. Или берёте телефон, чтобы позвонить тому, кто нарисует эту карту. Третий вариант - "просто забить и продолжать бояться" - самый дорогой. Он стоит денег, времени, нервов, иногда бизнеса.

Страх бывает двух типов. Как с электричеством. Одни боятся, потому что знают, где опасно. Другие - потому что понятия не имеют, где опасно. И сидят в темноте. Потому что свет включить страшно. А вызвать электрика - ещё страшнее.

Но если вы дочитали до этого места - вы уже не из тех, кто сидит в темноте. Вы ищете выключатель. Или того, кто знает, где он.

Сайт: https://tzlab.pro