글쓰기와 독서, 추상화 그리고 AI
개발자로서 글을 쓰는 것에 대한 생각, 독서에 대한 생각, 추상화와 AI에 대한 생각을 정리합니다.

저는 다른 개발자의 블로그 글을 읽거나, 기술문서, 개발 책을 보는 것을 좋아합니다. 여러 기술 블로그 글을 보다보면, 문득 이런 생각이 듭니다.
글이 잘 읽힌다는 것은 대부분 좋은 글이라고 생각하게 됩니다. 근데 어디서 많이 들어본 말입니다. 제가 생각하는 좋은 코드를 작성하는 기준과 같습니다. 좋은 코드는 간단하게 표현하면 읽기 쉬운 코드입니다.
1. 글쓰기
자신의 생각을 글로 표현한다는 것은 생각보다 쉬운 일이 아닙니다. 어떤 말로 시작하고, 목차는 어떻게 구성하며, 각 목차별 길이는 어떻게 할지, 내가 적는 내용이 사실인지, 오타는 없는지 등 생각할 것이 정말 많습니다.
이런 것들을 생각하지 않고, 그냥 혼자 보는 일기장처럼 두서없이 적으면 좋을 텐데 왜 이렇게 고민하며 글을 쓰는 것일까요? 다들 알고 계신 것처럼, 다른 사람들이 보는 글이기 때문입니다.
내가 쓴 글이 잘 읽히고, 쉽게 이해되었으면 좋겠다.
개발자들은 코드를 작성할 때도 비슷한 생각을 합니다.
내가 작성한 코드가 잘 읽히고, 쉽게 이해되었으면 좋겠다.
코드 리뷰를 할 때도 그 코드를 작성한 의도를 이해하고, 본인의 생각을 글로 표현하는 것이므로 우리는 이미 글쓰기를 많이 하고 있습니다.
이런 생각에 닿으니, 결국 코드를 잘 작성한다는 것과 글을 잘 쓴다는 것은 크게 다르지 않게 느껴졌습니다. 아키텍처를 설계하고, 컴포넌트의 인터페이스를 구성하고, 파일의 길이는 어떻게 할지, 동작의 오류는 없는지. 언어만 다를 뿐, 코드라는 글을 작성할 뿐입니다.
물론, 글만 열심히 쓰고 개발을 소홀히 하라는 것은 아닙니다. 좋은 글을 쓰기 위해 노력하는 것과 좋은 코드를 작성하기 위해 노력하는 것의 본질이 같다는 것을 말해보고 싶었습니다.
2. 독서
개발자들은 일상 속에서 이미 많은 독서를 하고 있습니다. 1번에서 예상할 수 있듯이 코드를 보는 것은 결국 독서를 하는 것과 같습니다.
독서의 범주는 시대에 따라 계속 넓어지고 있습니다. 좁게 정의하면 활자로 된 책을 읽는 행위지만, 넓게 정의하면 문자를 통해 다른 사람의 생각과 지식을 습득하는 모든 행위라고 볼 수 있습니다.
종이책이나 전자책을 보는 것부터 React 공식 문서, 기술 블로그를 보는 행위, 나아가 코드를 읽거나 Github Issue, Code Review를 읽는 것도 독서로 볼 수 있습니다. 요즘 많이들 사용하는 ChatGPT나 Claude와의 대화를 읽는 것도 이 범주에 속할 수 있습니다.
이 지점에서 짚고 넘어가야 할 게 있습니다. LLM과의 대화도 넓은 의미의 독서에 포함될 수 있다고 했지만, 여기엔 함정이 하나 숨어 있습니다.
책을 읽을 때 우리는 저자의 논리를 따라가며 스스로 이해하고, 동의하거나 반박하고, 본인만의 언어로 재구성하는 과정을 거칩니다. 이 과정 자체가 사고입니다.
그런데 LLM과의 대화는 이 과정을 생략하기 쉽게 만듭니다. 질문을 던지고 답을 받아 그대로 수긍하는 순간, 우리는 사고의 과정을 통째로 LLM에 위임하게 됩니다. 과거에 개발자들이 구글링을 통해 Ctrl+C+V만으로 코드를 작성하는 것과 별반 다르지 않습니다.
이런 과정이 반복될 수록 ‘인지 부채’는 쌓여가고, 부채가 쌓이면 쌓일수록, 코드를 직접 읽고, 이해하고, 정리하는 능력이 약해집니다. 우리는 정보를 이해를 바탕으로 학습할 때 더 오래 기억할 수 있고, 편하게 얻은 정보는 빠르게 사라집니다.
그럼 어떻게 해결할 수 있을까요?
다양한 방법이 있겠지만, 편하게 시작할 수 있는 것은 독서입니다. 글을 읽는 능력이 강화되면, 코드를 읽는 능력이 강화되고 이를 바탕으로 LLM이 만들어내는 코드를 검토하는 능력 또한 올라갑니다.