형제들, 혹시 이런 느낌 들어본 적 있어? '뇌가 갑자기 멍해지는' 순간 말이야. 아내의 생일을 잊은 것도 아니고, 차를 어디에 주차했는지 잊은 것도 아니고——화면을 응시하면서 특수 기호를 입력하려고 하거나, 인코딩 문제를 디버깅하려고 하는데, 갑자기 '아, A의 ASCII 코드가 몇이었지? 65였나 97이었나?' 하는 순간 말이야.
이건 10년 전만 해도 전혀 문제가 아니었어. 눈을 감고도 외울 수 있었지. 0은 48, A는 65, a는 97, 공백은 32, 엔터는 13. 그때 우리는 맨손으로 16진수를 쓸 수 있는 사람들이었어. 지금은? 컴퓨터를 켜면 첫 번째 반응은 검색, 두 번째 반응은 노트를 뒤적이는 것, 세 번째 반응은 그냥 온라인 도구를 찾아보는 거야.
이게 중년 위기라고 생각해? 머리가 빠지는 것도 아니고, 배가 나오는 것도 아니고, 한때 생계를 유지하던 기술이 조금씩 머릿속에서 빠져나가는 그런 거야. 마치 베테랑 운전자가 갑자기 수동 변속기로 출발하는 법을 잊어버린 것처럼, 그 당황스러움은 겉으로는 티가 안 나지만, 본인은 잘 알고 있어.
며칠 전에 레거시 프로젝트를 수정하고 있었는데, 프론트엔드에서 특수 문자를 보냈는데 백엔드에서 계속 파싱이 안 되는 거야. 확인해 보니 인코딩 문제였어. 예전 같으면 바로 머릿속으로 ASCII와 Unicode의 매핑 관계를 훑어보고, 어느 바이트에서 문제가 발생했는지 찾아낼 수 있었지. 그런데 그날, 그 깨진 문자를 10분 동안 쳐다봤는데 머릿속이 하얘지더라고. 결국 방법이 없어서 'ASCII 코드표 조회'라는 작은 도구를 열고, 문자를 입력하니 1초 만에 결과가 나와서 해결했어.
도구는 좋은 도구인데, 마음이 정말 편치 않았어. 오히려 그때 그 ASCII 코드표를 밤새 외우던 때가 그리워지더라. 그때는 갓 입문했을 때라, 사수가 인쇄된 코드표를 던져주면서 '외워, 이건 기본기야'라고 했지. 정말 외웠어, 화장실에서도 외웠어. 32 공백, 33 느낌표, 34 큰따옴표…… 지금 생각하면 그때는 정말 젊었고, 정말 열심히 했어.
하지만 말이 나와서 말인데, 지금 다시 외우라고 하면 절대 안 할 거야. 게을러서가 아니라, 필요 없으니까. 도구가 이렇게 많은데 왜 굳이 기억력과 싸워? 중년의 지혜는 도구를 사용해서 맨손의 힘을 대체하는 법을 배우는 거잖아? 20년 동안 운전한 베테랑 운전자에게 교통 법규 전문을 외우라고 하면, 외울 수 있을까? 그는 근육 기억과 도로 감각에 의존하지. 마찬가지로, 프로그래머도 30이 넘으면 누가 더 많이 기억하는지가 아니라, 누가 더 빨리 찾고 잘 활용하는지가 중요해.
그래서 나중에 생각을 정리했어. ASCII 코드를 기억하지 못하는 건 부끄러운 일이 아니야. 부끄러운 건 분명히 기억하지 못하면서도 억지로 버티다가 일정을 지연시키고, 후배들에게 웃음거리가 되는 거지. 지금 내 브라우저 즐겨찾기에는 그 ASCII 코드표 조회 도구가 있어서, 한 번 누르면 모든 게 나와. 숫자, 문자, 기호, 제어 문자까지 명확하게, 10진수, 16진수, 2진수까지 다 보여줘. 그때 그 구겨진 종이보다 훨씬 낫지.
형제들, 중년 위기는 두렵지 않아. 두려운 건 더 나은 길이 있는데도 굳이 가장 어려운 길을 가려는 거야. 기억이 안 나면 찾아보고, 찾아도 없으면 물어보고, 물어봐도 모르면 검색해. 요즘 세상에 누가 머리로 데이터를 저장해? 우리 머리는 로직을 작성하고, 아키텍처를 설계하고, 문제를 해결하는 데 쓰는 거지, 하드디스크처럼 쓰는 게 아니야.
물론, 가끔 깊은 밤에 그 도구를 열어서 맨 위로 스크롤해 'A: 65'를 보기도 해. 특별한 이유는 아니고, 스스로에게 상기시키기 위해서야——나도 한때 젊었고, 한때는 즉흥적으로 말할 수 있었다는 걸. 하지만 지금은 이런 '필요할 때 바로 찾아 쓰는' 든든함이 더 좋아. 도구만 있으면 세상을 가진 것 같아, 이게 무엇보다 낫지.
그러니까, 만약 너도 ASCII 코드를 기억하지 못하기 시작하는 걸 발견해도, 당황하지 마, 불안해하지 마. 너는 늙은 게 아니야, 진화한 거야——'인간 인코딩 북'에서 '도구를 잘 활용하는 시니어 엔지니어'로 진화한 거지. 이번엔 손해 보는 거 아니야.