새로운 프로그래밍 언어를 접할 때 반드시 거쳐야 할 관문이 하나 있다. 바로 “Hello, world!”라는 문구를 화면에 출력하는 것이다. 일단 코드를 작성할 수 있는 환경을 구축했다면 세상에 인사를 건네는 프로그램은 초심자도 도전해 봄직한 과제다. 메모리 구조나 자료형같이 머리 아픈 이야기도 필요 없고 조건문이니 반복문이니 하는 기초 문법조차 다루지 않아도 된다. 그렇기 때문에 ‘헬로 월드’ 예제는 프로그래밍 학습자를 위한 첫 관문으로 적합하며 개발 환경이 제대로 마련되었는지 빠르게 확인하는 용도로 사용되기도 한다.
프로그래밍에 능숙한 사람에게 헬로 월드 예제쯤이야 당연히 식은 죽 먹기다. 많이 써 본 언어라면 거의 눈 감고 구현 가능한 수준일 테고 낯선 언어라 해도 구글의 도움을 받으면 단 몇 초만에 해결할 수 있다.
오히려 예전에 능숙하게 다루던 언어를 오랜만에 접할 때 문제가 생긴다. 이 언어를 잘 안다고 자신하지만 실상은 그렇지 않을 수도 있기 때문이다. 인간은 망각의 동물이며 개발자도 예외가 아니다. 프로그래밍 언어도 말 그대로 언어의 일종이다. 외국어 공부를 오랜 시간 놓고 있었다면 기초적인 숫자 세기나 인사말마저 기억이 잘 안 나는 경우가 있다. 마찬가지로 어떤 프로그래밍 언어를 오랜 시간 사용하지 않았다면 문자열을 출력하는 프로그램도 만들기 어려울 수 있다.
예를 들어 C++ 언어로 헬로 월드 프로그램을 짜기 위해서는 iostream 라이브러리를 소스에 포함시키고 std 네임스페이스 사용도 잊지 말아야 한다. 심지어 cout 함수는 괄호 대신 << 연산자와 대응되기 때문에 더 낯설다. 앞 문장을 읽으며 이게 무슨 외계어인가 싶겠지만 별로 개의치 않아도 된다. 어차피 C++ 언어를 오랜만에 접하는 개발자도 비슷하게 느낄 가능성이 크기 때문이다. 사실 내가 직접 경험한 일이다. 5년 만에 다시 C++을 접했을 때 얼마나 낯설었는지 모른다(물론 뛰어난 개발자라면 나처럼 헤매지 않겠지만).
술집을 여는 꿈은 20대 후반쯤부터 품기 시작했다. 살면서 언젠가 한 번쯤은 해 봐야겠다고 어렴풋이 마음만 먹고 있다가 뭐든 미리 경험해 놓으면 좋겠다는 생각이 들어 동네 펍에서 홀 서빙 아르바이트를 시작했다. 처음 출근하자마자 이 펍에서 무슨 일을 해야 하는지 빠르게 교육을 받았다. 기본 중의 기본은 바로 손님 응대였다. 가게에 들어오는 손님을 보면 큰 소리로 인사하고 자리를 안내해 준 뒤 메뉴판을 비롯해 필요한 것들을 세팅해 주는 일련의 절차. 프로그래밍이 아닌 홀 서빙 세계 속 ‘헬로 월드’의 첫걸음을 뗀 순간이었다.
출근 시간은 저녁 8시였다. 2차나 3차로 많이 찾는 가게의 특성상 8시에는 비교적 가게가 한산했다. 그 틈을 타 무사히 기초 교육을 마친 나는 손님이 오면 어떻게 해야 할지를 머릿속으로 그리고 있었다. 그리고 얼마 안 있어 거짓말처럼 손님들이 몰려들었다. 원래 배울 때에는 간단해 보이던 헬로 월드 프로그램도 혼자서 직접 구현해 보려면 막막하기 마련이다. 혼자 머릿속에서 돌려 본 시뮬레이션은 별 소용이 없었고 손님 응대가 몸에 익지 않았던 나는 누가 봐도 허둥대고 있었다. 특히 기본 안주로 나가는 과자를 계속 깜빡해서 사장님이 매번 “몇 번 테이블에 과자 나가야지”라며 일일이 지시를 내리기에 이르렀다. 여기에 더해 틈틈이 설거지에 가게 주류 및 요리 메뉴 파악에 정신없는 하루가 이어졌다. 퇴근하고 집에 오니 그간의 긴장이 풀리며 피로가 쏟아졌다. 앞으로 잘할 수 있을지, 아니 잘 버틸 수나 있을지 걱정됐다.
다행히 홀 서빙 업무도 시간이 흐르면서 자연스럽게 손에 익었다. 기본적인 손님 응대는 말할 것도 없었다. 언젠가부터 열 종류가 넘고 주기적으로 바뀌는 생맥주 라인업을 항상 꿰고 있었고 백 종류가 넘는 병맥주 라인업까지 머릿속에 넣는 데 성공했다. 피크 시간대에 여러 주문이 동시에 몰려와도 최적의 동선을 금방 계산하여 움직일 수도 있었다. 프로그래밍으로 따지면 헬로 월드 프로그램을 넘어 기초적인 문법을 자유자재로 사용 가능한 수준에 다다른 셈이었다.
첫 펍에서의 일을 그만둔 뒤로 다른 술집 몇 군데를 더 거치며 경험을 쌓았다. 술집마다 콘셉트, 메뉴, 자주 찾는 고객층, 동선, 내게 요구하는 책임감의 범위가 모두 달랐다. 그만큼 내가 손님을 대하는 방식과 마음가짐을 세세하게 조정할 필요가 있었다. 하지만 어느 업장에서든 손님이 즐거운 시간을 보낼 수 있도록 해야 한다는 점은 다르지 않았다. 나 역시 그 궁극적인 목표를 항상 염두에 두었기에 새로 들어간 곳에도 금세 적응했다.
그리고 3년 정도가 흘렀다. 아내와 함께 가게를 열었고 내게는 다시 서빙 임무가 주어졌다. 그동안 책상 앞에 앉아 모니터 화면을 들여다보고 키보드만 두드리며 살았다. 3년 간의 공백에도 불구하고 내 몸이 모든 것을 기억하고 있으리라는, 그래서 홀 서빙 업무를 능숙하게 해내리라는 자신감이 있었다. 가게 오픈 전 내 고민은 ‘와인 리스트는 어떻게 짜야 좋을까?’ 라거나, ‘손님들에게 와인 추천은 어떻게 해야 할까?’ 라거나, ‘다른 와인바와 구별되는 개성을 갖추려면 어떡하지?’ 같은 것이었다.
시간은 정직했고 내 자신감에는 아무런 근거가 없었으며 내 고민은 주제넘은 고민일 뿐이었다. 오랜만에 C++로 헬로 월드 프로그램을 작성하려다 우왕좌왕하는 개발자답게, 나는 가장 기본적인 손님 응대 절차부터 갈피를 잡지 못했다. 손님이 들어오면 기본적으로 제공되어야 하는 것들, 말하자면 앞접시와 커틀러리, 생수, 메뉴판이 온전하게 모두 나간 적이 드물었다. 한참을 깜빡하고 있다가 뒤늦게 손님이 조심스레 물 한잔만 달라고 얘기해야 정신을 차리곤 했다.
얼마간은 ‘가오픈’을 방패로 내 부족함을 가릴 수 있다며 합리화했지만 금세 정식 오픈을 하고 손님을 제대로 마주해야만 했다. 다행히 시간은 잃어버렸던 것을 되찾을 때에도 정직했다. 3년 전 그랬듯 시간이 흐르자 우리 가게에서 해야 할 일에 익숙해졌다. 사실 그때의 경험 덕분인지 익숙해지는 데 걸리는 시간이 그리 길지는 않았다.
다만 ‘우리’ 가게에서 일을 한다는 것은 다른 사람의 가게에서 일을 하는 것과 부담감의 크기에 차이가 있었다. 다시 한번 프로그래밍에 빗대자면 3년 전 나는 나만의 프로그램을 직접 만들지는 못하고 계속 간단한 연습만을 반복하고 있었다. 이제는 죽이 되든 밥이 되든 나만의 프로그램, 정확히 말하면 아내와 함께 우리만의 프로그램을 만들어가야 했다. 연습을 통해 기본기를 잘 다져 놓았다면 새로운 과제 앞에서도 어려워할 이유가 없다고 생각했다. 하지만 내게는 ‘근본’적인 문제가 하나 있었다.