Вы перестали читать документацию — и теперь не понимаете, как работают системы

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

Я осваивал программное обеспечение через чтение. Я читал документацию, исходный код и обсуждения в GitHub issues. Я читал старые посты в блогах и ветки RFC. Я не ходил на буткемпы. У меня были только браузер и первоисточники.

Когда я изучал Cloudflare Workers, у меня не было курсов. У меня были только документация и чейнджлог. Я трижды перечитывал конфигурацию привязок (binding configuration), чтобы исправить упавший деплой в час ночи. Я находил ответы в обсуждениях на GitHub многолетней давности.

Я учился, вникая в материал до тех пор, пока в голове не «щелкало».

Теперь я вижу новую закономерность. Люди не спрашивают, почему тот или иной раздел кажется запутанным. Они просят готовый код для X. Они не отслеживают исходный код, чтобы понять логику поведения. Они спрашивают, что делает функция.

Раньше целью было понимание. Теперь цель — результат. Люди называют это эффективностью. На самом деле это технический долг.

Вы можете сгенерировать circuit breaker, не зная, что такое состояние half-open. В тестах всё работает. Но через шесть недель под высокой нагрузкой всё падает в продакшене. Вы терпите неудачу, потому что у вас нет ментальной модели. Вы получили «что», но не поняли «почему».

«Почему» — это единственная часть, которая имеет значение.

Чтение документации выстраивает ментальную модель. Вы видите компромиссы и граничные случаи в примечаниях. То сопротивление, которое вы чувствуете при чтении, — это и есть момент обучения.

Когда я создавал Bookmark Brain, мне нужно было разобраться в Cloudflare Vectorize. Я не просто использовал API. Я изучал размерности эмбеддингов, поведение индексов и метрики расстояния при запросах. Я читал статью про HNSW. Я сидел над непонятными вещами, пока они не превращались в знания.

Эти знания позволяют моим системам работать в продакшене. Если что-то сломается в два часа ночи, у меня есть ментальная модель, которая поможет сориентироваться. Если бы я полагался только на промпты, у меня было бы демо, но не система, логику которой я могу осознанно контролировать.

Это создает разрыв в инженерном деле.

  • В код-ревью: один разработчик мгновенно видит проблему N+1, потому что читал документацию ORM. Другой разработчик пропускает её, потому что просто сгенерировал код.
  • В архитектуре: один разработчик понимает разделы (partitions) и смещения (offsets) в Kafka. Другой знает только терминологию, но не понимает структуры.
  • В отладке: отладка — это функция вашей ментальной модели. Без неё вы просто меняете параметры наугад, надеясь на лучшее.

ИИ не способен удержать в памяти всю архитектуру. Он не видит общую картину всей вашей кодовой базы. Я видел, как сгенерированные ИИ слои кэширования проходили все тесты, а затем обрушивали продакшен, потому что ни один человек не понимал причин возникновения состояний гонки (race conditions).

Разрыв не в использовании ИИ. Он в том, как вы его используете.

Используете ли вы его, чтобы понять компромиссы? Или чтобы избежать понимания?

Лучшие разработчики не просто работают быстро. Они по-прежнему читают чейнджлоги и исходный код. Они выстраивают ментальную модель, которую невозможно воспроизвести простым промптингом.

Чтение документации — это практика. Это не налог на вашу продуктивность. Это то, что делает вас незаменимым, когда система ломается.

Если вы пропускаете чтение, вы пропускаете мышление. Вы не осознаете этого, пока не окажетесь в продакшене, где вам не на что будет опереться.

Source: https://dev.to/dannwaneri/you-stopped-reading-the-docs-now-you-dont-understand-the-systems-go1

Optional learning community: https://t.me/GyaanSetuAi