퇴근 후 혼자 카페에 앉아 있으면 가끔 불안해진다. 다른 사람들은 모임에 가거나, 운동을 하거나, 뭔가 생산적인 일을 하고 있을 것 같은데 나는 여기서 뭘 하고 있는 거지? 핸드폰을 꺼내서 SNS를 확인한다. 누군가와 연결되어 있다는 감각을 확인하려는 듯.
그런데 그 핸드폰을 내려놓고 그냥 앉아 있으면, 생각이 정리되기 시작한다.
고독 ≠ 외로움
이 둘은 전혀 다르다. 외로움은 원하지 않는 격리이고, 고독은 선택한 격리다. 외로움은 고통이지만, 고독은 자원이다.
Cal Newport는 "Digital Minimalism"에서 고독을 "다른 사람의 생각으로부터 자유로운 상태"로 정의한다. 뉴스, SNS, 팟캐스트, 유튜브 — 이것들은 전부 다른 사람의 생각이다. 그걸 소비하는 동안에는 자기 생각을 할 여유가 없다.
고독의 시간에는 외부 입력이 멈추고, 내부의 생각이 떠오른다. 오늘 회의에서 왜 불편했는지, 그 코드를 왜 그렇게 짰는지, 앞으로 뭘 하고 싶은지. 이런 생각들은 바쁜 일상에서는 수면 아래에 머물다가, 조용한 시간에 수면 위로 올라온다.
개발자에게 사색이 필요한 이유
코딩은 사고 활동이다. 문제를 분석하고, 해결책을 설계하고, 트레이드오프를 저울질한다. 이 사고 과정에는 집중 모드와 확산 모드가 모두 필요하다.
집중 모드는 코드를 작성하거나 디버깅할 때 쓴다. 눈앞의 문제에 깊이 파고드는 모드. 확산 모드는 문제에서 한 발 물러나서, 다른 연결고리를 찾는 모드다. 샤워할 때나 산책할 때 갑자기 해결책이 떠오르는 경험 — 그게 확산 모드의 작용이다.
혼자 있는 시간은 확산 모드를 활성화한다. 코드 에디터 앞에서 2시간 끙끙대던 문제가, 카페에서 멍하니 앉아 있다가 풀리는 경우가 적지 않다.
아키텍처 결정도 마찬가지다. 여러 옵션을 놓고 비교할 때, 바로 결정하기보다 하루쯤 머릿속에 묵혀두면 더 나은 판단이 나온다. 급하게 내린 기술적 결정 중 후회한 것이 생각보다 많다.
실천하고 있는 것
출퇴근 시간을 비운다. 지하철에서 핸드폰을 안 본다. 음악도 안 듣는다. 그냥 앉아서 창밖을 보거나 생각한다. 처음에는 어색했는데, 이 30분이 하루 중 가장 생산적인 사고 시간이 됐다.
주말 아침 1시간. 카페에서 노트북 없이 노트와 펜만 갖고 앉는다. 이번 주에 뭘 했고, 다음 주에 뭘 할지 적는다. 주간 리뷰와 비슷하지만 더 넓은 범위다. 커리어 방향, 배우고 싶은 것, 삶에서 바꾸고 싶은 것.
알림 끄기. 코딩 시간에는 슬랙, 메일, SNS 알림을 전부 끈다. 알림이 울릴 때마다 주의가 흩어지고, 다시 집중하는 데 시간이 걸린다. 긴급한 연락은 어차피 전화로 온다.
혼자 있는 걸 불편해하지 않기
사회는 바쁜 사람을 성실한 사람으로, 많은 모임에 참석하는 사람을 사교적인 사람으로 여긴다. "요즘 바빠요?"라는 질문에 "아뇨, 여유 있어요"라고 답하면 왠지 모르게 찔린다.
그런데 모든 시간을 예정된 활동으로 채우면, 우연한 생각이 들어올 공간이 없다. 비어 있는 시간이 낭비가 아니라, 생각이 자라는 토양이라는 걸 받아들이는 데 시간이 걸렸다.
Blaise Pascal은 "인간의 모든 불행은 방 안에 조용히 앉아 있지 못하는 데서 온다"고 했다. 과장이긴 하지만, 핵심은 맞다. 혼자 조용히 앉아 있는 능력은 연습이 필요하다. 그리고 그 연습이 생각의 깊이를 만든다.
