개발자로 살다 보면, 책은 점점 화면 속에서 멀어지는 존재가 됩니다. 모니터에는 코드 에디터와 콘솔 창, 이슈 트래커와 메신저가 가득하고, 손은 늘 키보드 위에 올라가 있습니다. 하루 종일 글자를 다루지만, 그 글자는 대부분 if, for, {} 같은 것들입니다. 20년 가까이 게임 개발을 하면서 저 역시 그런 삶을 살아왔습니다.
“책을 읽는 게 과연 도움이 될까?”
솔직히 말씀드리면, 한동안은 진지하게 이렇게 생각했습니다.
“그냥 취미로 책을 읽는 건, 지금 내 상황에서는 사치 아닌가?”
회사 일만으로도 벅찬데, 여기에 독서까지 얹는다는 건 너무 이상적인 이야기처럼 느껴졌습니다. 주말에 책을 펼치기보다, 누워서 영상 하나 보는 편이 훨씬 쉬웠으니까요. 그런데 어느 순간, 마음 한편에서 이상한 허전함이 고개를 들었습니다.
프로젝트는 돌아가고, 기능은 완성되고, 버그도 잡습니다. 코드 레벨에서 문제를 해결하는 능력은 조금씩 올라가는데, 정작 제 안에 있는 생각과 감정은 늘 제자리걸음을 하는 느낌이었습니다.
“이 일을 10년, 20년 더 하면 나는 어떤 개발자가 되어 있을까?”
“기술 말고, 나는 무엇을 알고 있을까?”
그 질문이 제 발목을 붙잡았습니다. 그즈음에 책을 읽기 시작했습니다. 처음부터 거창한 목표가 있었던 것은 아닙니다. 다만 내가 지금 느끼는 불안과 막막함을 조금이라도 이해해 보고 싶어서, 심리학 책을 집어 들었고, 인문 교양서를 펴 들었습니다.
그리고 운이 좋게도, 저는 독서와 글쓰기를 거의 동시에 시작했습니다. 읽고, 그 내용을 정리해서 블로그에 쓰는 방식이었습니다. 지금 돌아보면, 이 선택이 제 개발자 커리어에 적지 않은 변화를 가져왔습니다.
개발자에게 책이 왜 필요하냐고 묻는다면, 저는 가장 먼저 '생각을 정리하는 힘'이라고 말씀드리고 싶습니다. 책을 읽고, 한 권을 처음부터 끝까지 따라가 본다는 건 저자와 함께 하나의 논리를 끝까지 밟아가는 경험입니다.
어떤 문제를 제기하고, 그 문제를 어떻게 쪼개고, 어떤 사례로 설명하고, 마지막에 무엇을 말하려 하는지 이 흐름을 천천히 따라가다 보면, 생각이라는 것이 어떻게 구조를 갖추는지, 문장을 통해 어떻게 전달되는지를 몸으로 배우게 됩니다.
예전의 저는 기술서를 읽어도 끝까지 읽는 일이 많지 않았습니다. 앞부분 몇 장을 읽다가, 필요한 코드 부분만 체크하고, 나머지는 “언젠가 다시 보자”라는 말과 함께 덮어두기 일쑤였습니다.
문제는 이렇게 대충 읽다 보면, '내가 이해했다고 착각하는 구간'이 생긴다는 점입니다. 문서에서 말하는 전제 조건을 놓치고, 작성자의 의도를 반대로 해석하고, 함께 일하는 동료의 글을 오독해서 엉뚱한 결론을 내리기도 했습니다.
그때는 몰랐습니다. 이것이 단순히 기술 문제라기보다, '글을 읽고 해석하는 능력'의 문제라는 사실을요. 보고서를 쓸 때도 마찬가지였습니다. 기획자나 팀장에게 기능 구현 결과를 정리해서 전달해야 할 때, 저는 늘 말이 편했습니다.
회의실에 앉아 구두로 설명하면 그 자리에서 질문과 답변이 오가고, 서로 이해한 부분을 바로 확인할 수 있었으니까요. 하지만 글로 쓰라고 하면 이야기가 달라졌습니다. 어떤 순서로 써야 할지, 무엇부터 설명해야 할지,
어디까지를 ‘알고 있을 것’이라고 가정해도 되는지, 머릿속에서 맴돌기만 하고 손이 떨어지지 않았습니다.
한 장 짜리 보고서를 쓰는 데도 몇 시간씩 붙잡고 있는 일이 많았습니다. 그렇게 고생해서 쓴 문서가 정작 읽는 사람에게는 별로 와닿지 않는다는 피드백을 들을 때면, '말로 하면 5분이면 될 일을 왜 이렇게 비효율적으로 해야 하나'라는 생각이 들었습니다.
그러던 제가, 독서와 글쓰기를 오래 병행하면서 조금씩 달라지는 모습을 느끼게 되었습니다. 책 한 권을 읽고 나서 그 내용을 제 언어로 정리하는 연습을 꾸준히 하다 보니, 머릿속 생각이 문장의 형태로 조금 더 잘 정리되기 시작했습니다. 처음에는 어설펐습니다.
“이 책은 ~~에 대한 책이다.”
“저자는 ~~가 중요하다고 말한다.”
이 정도 수준의 요약을 벗어나지 못했습니다. 하지만 시간이 지나면서, 조금씩 문장이 바뀌기 시작했습니다.
“이 책에서 다루는 주제는 A지만, 제가 특히 관심을 가진 부분은 B였습니다.”
“저자는 이렇게 말하지만, 제 경험에서는 조금 다른 결과가 나타났습니다.”
정보를 나열하는 것이 아니라, 내 생각과 연결해서 말할 수 있는 능력이 조금씩 자라나기 시작한 것입니다. 이 변화는 그대로 개발자의 일상에도 스며들었습니다.
새로운 엔진 기능을 공부하거나, 새로운 라이브러리를 도입할 때, 공식 문서와 여러 글들을 읽고 비교하는 속도가 올라갔습니다. 남이 쓴 글의 구조를 보는 눈이 생기니, 어디를 먼저 읽어야 할지, 어디는 대충 넘기고, 어디는 체크해 두어야 할지를 판단하기가 수월해졌습니다.
무엇보다 큰 변화는 '설명하는 능력'에서 나타났습니다. 멘토링을 할 때, 예전에는 기술적인 내용을 그대로 전달하는 데 급급했습니다.
“이 기능은 이렇게 구현하면 됩니다.”
“언리얼 엔진에서는 이런 식으로 처리해요.”
제가 알고 있는 정보를 상대에게 최대한 많이 넘겨주는 것이 좋은 멘토링이라고 생각했습니다. 그런데 책을 읽고, 그 내용을 글로 정리하는 연습을 계속하다 보니, 설명 방식이 조금 달라졌습니다. 상대의 상태를 먼저 떠올리게 되었습니다.
이 사람은 지금 어디까지 알고 있을까?
어떤 경험을 한 적이 있을까?
이 개념을 이해시키려면, 어디에서부터 설명을 시작해야 할까?
그리고 그 수준에 맞게 비유를 들고, 예시를 고르고, 단계를 나누어 설명하는 일이 조금은 자연스러워졌습니다.
“이 기능을 이해하려면, 먼저 메모리 구조를 간단히 짚고 넘어가야 해요.”
“이건 마치 게임에서 인벤토리를 설계하는 것과 비슷합니다. 슬롯과 아이템을 떠올려 보세요.”
이렇게 설명을 바꾸자, 상대의 표정이 달라졌습니다. '아, 이제 알겠다'라는 눈빛이 보이기 시작했습니다. "이제 무엇을 해야 할지 알겠어요"라면서 고마움을 표시하기도 했습니다. 그때 깨달았습니다.
“개발자에게도, 결국 글과 말은 도구이구나. 코드를 잘 짜는 것만으로는 나의 생각이 충분히 전달되지 않는구나.”
책을 읽으면 세상을 아는 폭도 넓어집니다. 기술 서적만 읽는 것이 아닙니다. 인문학 책은 사람을 보는 눈을 넓혀주고, 심리학 책은 감정의 메커니즘을 알게 해 줍니다.
소설은 다른 사람의 삶을 체험하게 만들고, 역사서는 지금 내가 서 있는 자리의 배경을 보여줍니다. 이런 책들을 읽다 보면, 자연스럽게 '내가 모르는 것투성이'라는 사실을 인정하게 됩니다.
예전에는 제가 알고 있는 기술과 경험만으로 세상을 어느 정도 설명할 수 있다고 생각했습니다. 하지만 독서를 계속하다 보니, 제가 아는 것보다 모르는 것이 훨씬 많다는 사실이 더 이상 두렵지 않고, 오히려 편안한 전제가 되었습니다.
“나는 모릅니다. 그래서 계속 배우고 싶습니다.”
이 태도를 유지하는 것이 개발자에게는 특히 중요하다고 느낍니다. 왜냐하면 IT 업계는 지식의 반감기가 특히 빠른 세계이기 때문입니다. 몇 년 전에는 최신 기술이었던 것이 지금은 이미 구식이 되고, 새로운 패러다임이 등장하며 언제든 흐름이 바뀔 수 있습니다.
이런 환경에서 '나는 이제 충분히 안다'라고 생각하는 순간, 성장은 멈추고, 그 자리에 머무르는 사람이 되기 쉽습니다. 독서와 글쓰기는 솔직히 말해 금방 써먹을 수 있는 스킬은 아닙니다. 책 한 권 읽는다고 당장 연봉이 오르지 않습니다. 블로그에 글 한 편 썼다고 프로모션이 되는 것도 아닙니다. 그래서 많은 분들이 중간에 포기합니다.
“지금 당장 도움이 되는 공부도 바쁜데, 책까지 읽어야 하나요?”
“글은 그냥 필요한 사람만 쓰면 되는 거 아닌가요?”
그 마음을 저는 충분히 이해합니다. 저 역시 비슷한 생각을 수없이 했으니까요. 하지만 저는 한 번 마음먹고,
다른 활동 대부분을 조금씩 줄이면서 독서와 글쓰기에 시간을 투자해 보기로 했습니다.
게임 시간도 줄이고, 영상 보는 시간도 줄이고, 잠깐의 심심함을 견디면서 조금씩 페이지를 넘겼습니다. 그 결과, 지금 저는 제가 생각하는 바를 꽤 자세히, 그리고 비교적 질서 있게 글로 적을 수 있는 사람이 되었습니다.
“이 정도면, 참 다행이다.”
가끔은 이렇게 생각합니다. 개발자로 살아오면서 코드만 남긴 사람이 아니라, 글로도 무언가를 남길 수 있는 사람이 되었다는 점에서요. 앞으로도 저는 새로운 내용을 읽고, 그 내용을 제 삶과 연결해서 쓰는 일을 계속해 보려고 합니다.
개발자는 결국 문제를 해결하는 사람입니다. 그 문제는 메모리 누수일 수도 있지만, 동료와의 오해일 수도 있고, 자기 자신에 대한 불신일 수도 있습니다.
코드는 그 문제를 해결하는 한 가지 언어이고, 책과 글쓰기는 또 다른 언어입니다. 두 언어를 함께 사용할 수 있다면, 개발자로서, 그리고 한 사람으로서 조금 더 풍부한 삶을 살아갈 수 있지 않을까 생각합니다.