문서를 읽지 않게 된 당신, 이제 시스템을 이해하지 못하고 있다

저는 대학에서 컴퓨터 공학을 전공하지 않았습니다. 지구물리학을 공부했습니다.

저는 읽으면서 소프트웨어를 배웠습니다. 문서, 소스 코드, GitHub 이슈를 읽었습니다. 오래된 블로그 포스트와 RFC 스레드를 읽었습니다. 부트캠프를 이용하지 않았습니다. 브라우저와 가공되지 않은 자료를 활용했습니다.

Cloudflare Workers를 배울 때, 저는 강의를 듣지 않았습니다. 제게는 문서와 변경 로그(changelog)뿐이었습니다. 새벽 1시에 배포 오류를 해결하기 위해 바인딩 설정을 세 번이나 다시 읽었습니다. 몇 년 전의 GitHub 스레드에서 답을 찾아냈습니다.

저는 내용이 머릿속에 딱 들어올 때까지 자료를 붙들고 앉아 있는 방식으로 배웠습니다.

이제 새로운 패턴이 보입니다. 사람들은 특정 섹션이 왜 혼란스러운지 묻지 않습니다. 대신 'X를 위한 코드'를 달라고 합니다. 동작 방식을 찾기 위해 소스 코드를 추적하지 않습니다. 그저 함수가 무엇을 하는지 묻습니다.

과거의 목표는 이해(comprehension)였습니다. 이제 목표는 결과물(output)입니다. 사람들은 이것을 효율성이라 부르지만, 사실은 부채입니다.

'half-open' 상태가 무엇인지 몰라도 서킷 브레이커(circuit breaker)를 생성할 수 있습니다. 테스트에서는 잘 작동할 것입니다. 하지만 6주 뒤, 과부하가 걸린 운영 환경(production)에서는 실패합니다. 당신이 실패하는 이유는 멘탈 모델(mental model)이 없기 때문입니다. '무엇(what)'은 얻었지만 '왜(why)'는 얻지 못한 것입니다.

'왜'라는 부분이 유일하게 중요한 부분입니다.

문서를 읽는 것은 멘탈 모델을 구축하는 과정입니다. 각주를 통해 트레이드오프(tradeoffs)와 엣지 케이스(edge cases)를 보게 됩니다. 읽는 동안 느끼는 마찰(friction)이야말로 학습이 일어나는 지점입니다.

Bookmark Brain을 만들 때, 저는 Cloudflare Vectorize를 이해해야 했습니다. 단순히 API를 사용하기만 한 것이 아닙니다. 임베딩 차원(embedding dimensions), 인덱스 동작 방식, 쿼리 거리 측정 방식(query distance metrics)을 공부했습니다. HNSW 논문을 읽었습니다. 혼란스러움이 지식으로 바뀔 때까지 자료를 붙들고 씨름했습니다.

그 지식이 제 시스템을 운영 환경에서 안정적으로 돌아가게 합니다. 새벽 2시에 무언가 고장 나더라도, 저를 안내해 줄 멘탈 모델이 있습니다. 만약 프롬프트만 사용했다면 데모는 만들 수 있었겠지만, 논리적으로 추론할 수 있는 시스템은 만들지 못했을 것입니다.

이것이 엔지니어링의 격차를 만듭니다.

  • 코드 리뷰에서: 한 개발자는 ORM 문서를 읽었기 때문에 N+1 문제를 즉시 발견합니다. 다른 개발자는 코드를 생성하기만 했기 때문에 이를 놓칩니다.
  • 아키텍처에서: 한 개발자는 Kafka 파티션과 오프셋(offsets)을 이해합니다. 다른 개발자는 용어만 알 뿐 구조를 파악하지 못합니다.
  • 디버깅에서: 디버깅은 멘탈 모델의 기능입니다. 멘탈 모델이 없다면, 당신은 그저 이것저것 바꿔보며 운에 맡길 뿐입니다.

AI는 전체 아키텍처를 담아낼 수 없습니다. 코드베이스 전체의 큰 그림을 보지 못합니다. AI가 생성한 캐싱 레이어가 모든 테스트를 통과하고도, 레이스 컨디션(race conditions)을 이해하는 사람이 아무도 없어 운영 환경에서 무너지는 것을 본 적이 있습니다.

이 격차는 AI를 사용하느냐의 문제가 아닙니다. 어떻게 사용하느냐의 문제입니다.

트레이드오프를 이해하기 위해 사용합니까? 아니면 이해하기 싫어서 사용합니까?

최고의 개발자들은 단순히 빠르게 움직이기만 하는 것이 아닙니다. 그들은 여전히 변경 로그와 소스 코드를 읽습니다. 그들은 프롬프트로는 복제할 수 없는 멘탈 모델을 구축하고 있습니다.

문서를 읽는 것은 하나의 훈련입니다. 생산성을 깎아먹는 세금이 아닙니다. 시스템이 고장 났을 때 당신을 대체 불가능한 존재로 만들어 주는 것입니다.

읽기를 건너뛰면 사고하기를 건너뛰게 됩니다. 의지할 곳 하나 없이 운영 환경에 던져지기 전까지는 그 사실을 깨닫지 못할 것입니다.

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

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