연재소설 : 러브 코딩 26화 - 점 하나
사무실에 일찍 출근한 민수는 모니터를 바라보며 키보드를 바쁘게 치고 있다.
중만이 출근하여 양복 상의를 벗어 의자에 걸친다.
모니터에 온 신경을 집중하고 있는 민수는 중만이 출근한 지도 모른다.
중만이 그런 현수에게 말을 건넨다.
“민수씨, 주말 잘 쉬었어?”
중만의 인사에 민수는 놀란 듯 자리에서 일어난다. 먼저 인사하지 못해 미안해하는 표정을 지으며 중만에게 인사한다.
“안녕하세요, 선배님.”
중만은 민수의 그런 모습을 보고 웃으며 자리에 앉는다.
민수도 다시 자리에 앉아 모니터에 바라보며 키보드를 치기 시작한다.
신계약 팀원들이 커피 자판기 앞에 모여 있다.
“이번 주에 뭐 특별한 일 없지?”
일섭의 말에 중만이 대답한다.
“설계사별 환산 보험료 현황을 온라인 화면으로 반영하는 작업이 있어요.”
“어때? 진행되고 있어?”
“예, 지금 테스트하고 있어요.”
팀원들이 대화하는 중에도 민수는 머릿속으로 워크 플로를 그리고 있다.
설계사와 주소를 기준으로 계약 건수를 카운트하는 논리 앞에 데이터 정렬 순서를 어떻게 해야 할지를 골똘히 생각한다.
“민수씨도 이번 주에 큰일이 걸려있지?”
일섭이 민수에게 말을 건다.
전산 작업에 대한 생각에 빠져 있던 민수 놀란 눈으로 일섭을 바라본다.
“아…, 예?”
일섭과 팀원은 민수의 당황하는 모습을 보고 웃으며 사무실로 들어간다.
민수는 들고 있던 커피를 벌컥벌컥 마신 후 플로차트를 수정한다.
네 번째와 다섯 번째 처리 기호 사이에 새로운 기호를 추가하고 그 옆에 'SORT (국>영업소>설계사>주소)라고 적는다. 그리고 그 밑의 'LISTING' 이라고 적힌 기호 옆에 '설계사>주소별 COUNTING' 이라고 적는다. 이렇게 정리한 민수는 모니터를 보며 키보드를 치기 시작한다.
키보드 치는 소리와 함께 한 줄의 프로그램 코드가 만들어진다. 그 한 줄의 코드가 복사되고 그 복사된 코드가 바로 아랫줄에 키보드 치는 소리와 함께 연속적으로 붙여진다. 그리고 그 코드의 식별자들이 빠르게 수정된다. 그렇게 민수의 손끝에서 프로그램 논리 세계가 만들어져 간다.
“민수씨 퇴근 안 해?”
“아, 예?”
프로그램 논리 세계에 빠져 있던 민수가 중만의 말에 다시 현실 세계로 돌아온다. 그리고 현실 세계의 시계를 쳐다본다. 7시 20분.
“벌써 시간이 이렇게 되었어요?”
“응, 이만 퇴근해.”
중만이 자리에서 일어서며 말하자 민수도 엉거주춤하게 일어서며 인사한다.
“예, 내일 뵙겠습니다.”
민수는 다시 자리에 앉아 모니터를 보며 키보드를 치기 시작한다. 시간이 흐른다.
코딩을 마친 민수는 키보드를 누르면서 작성된 프로그램을 흩어본다. 그리고 엔터키를 쳐서 컴퓨터 작업을 수행한다. 신텍스 에러를 제거한 후 이어서 컴파일 에러를 수정하는 과정이 반복된다. 오류 수정을 마친 프로그램 코드가 기계어로 전환되어 마침내 ‘GO’ 단계로 접어든다.
작업이 마쳐지고 현수는 작업 결과를 살핀다.
모니터 화면에 나타난 작업 결과, 헤드 타이틀만 있고 그 아래에 데이터가 없는 리스트가 펼쳐진다.
모니터를 바라보며 허탈함에 빠진 민수, 다 포기하고 싶다. 술 생각이 절실하다. 민수는 체념하듯 자리에서 일어나 사무실을 나선다.
민수는 소주와 치킨이 든 비닐봉지를 들고 당구장을 들어선다.
“어, 웬일이야? 연락도 없이.”
따분하게 당구장을 지키던 상구는 민수의 예고없는 방문이 반갑다.
민수는 싱긋이 웃으며 들고 있던 비닐봉지를 카운터 옆에 있는 낮은 테이블 위에 내려놓는다. 그리고 비닐봉지에서 소주와 치킨 포장 상자를 꺼내 테이블 위에 올려놓고는 그 옆에 놓인 유리잔에 소주를 따른다.
“무슨 일이야?”
상구가 의아한 듯 민수에게 묻는다.
“그냥…, 머리가 아파서.”
“왜? 어떤 놈이 너를 갈궈?”
“응, 컴퓨터.”
민수의 대답에 상구가 웃으며 말한다.
“그래? 내가 얘들을 좀 풀까?”
“사흘 동안 머리를 굴렸더니 지치네. 소주 한잔 하면 풀릴 것 같아서.”
상구는 기회라는 듯이 눈을 크게 뜨며 말한다.
“그렇다면 소주로 되겠어? 양주를 마셔야지. 지금 당구장 문 닫을까?”
“너까지 머리 굴리지 마라. 어지럽다.”
상구에게 웃으며 말하는 민수는 유리잔을 들고 소주를 쭈욱 들이켠다. 그리고 치킨을 뜯으며 말한다.
“그래, 이 맛이지!”
상구도 맞장구치듯 말한다.
“양주가 더 맛있다니까!”
둘은 웃으며 상대방의 유리잔에 소주를 부어준다.
모니터 검은 화면에 초록색 프로그램 코드가 키보드 치는 소리와 함께 아래에서 위로 흘러간다.
민수는 심각한 표정으로 모니터를 바라보며 수정한 프로그램을 아래 위로 샅샅이 살펴보고 있다. 그리고 무심한 표정으로 입력키를 ‘탁’ 치고 기다린다. 잠시 후 현수가 바라보는 화면에 작업 결과 화면을 펼쳐진다.
모니터 화면에는 여전히 헤드 타이틀만 펼쳐져 있고 그 아래 결과 데이터가 나타나는 부분은 휑하다.
민수는 두 손으로 머리 뒤를 받치며 멍하니 작업 결과를 바라본다.
“뭐가 잘 안돼?”
중만은 민수의 모습을 보며 묻는다.
“작업을 돌렸는데 결과가 나오질 않아서요.”
“에러는 아니고?”
“로직이 꼬였나 봅니다. 아침부터 원인을 찾고 있는데 보이질 않아요.”
중만은 민수에게 나름의 해결책을 제시한다.
“이럴 때가 제일 힘들지. 프로그램을 모니터 화면으로만 보지 말고 장표 용지에 프린트해서 살펴봐. 그러면 전체적인 프로그램 구조를 볼 수 있으니까.”
“예, 그렇게 해 보겠습니다.”
민수는 모니터를 보며 키보드를 두드린 후 자리에서 일어나서 프린터로 다가간다.
퇴근 시간이 가까워서도 민수는 전산 장표에 인쇄한 프로그램을 붉은 펜으로 표시하며 오류를 찾고 있다.
옆자리의 중만이 퇴근하기 위해 자리에서 일어나며 민수에게 묻는다.
“아직 못 찾았어?”
“예, 돌아버릴 것 같아요.”
“안 되면 내일 내가 봐줄게. 수고해.”
중만의 말이 고마운 민수가 조금 큰 소리로 인사한다.
“예, 내일 뵙겠습니다!”
민수는 전산 장표로 다시 눈을 돌려 프로그램 오류를 찾기 시작한다.
사무실 사람들이 하나둘 퇴근하여 이제 몇 사람만 사무실에 남아 있다.
민수는 포기한 듯 전산 장표를 덮고 몸을 뒤로 재치며 깍지 낀 두 손으로 머리 뒤를 감싼다. 그러다가 자연스럽게 전화기로 눈이 가는 민수, 재희를 생각한다.
민수는 머리 뒤에 감쌌던 손가락 깍지를 풀고 재희 허리를 감쌌던 그의 오른손 손바닥 바라본다. 재희의 골반 바로 위의 허리 굴곡 각도로 손바닥을 기울여 본다. 그러면서 민수는 야릇한 미소를 짓는다.
“뭐 해?”
퇴근하는 연형이 손바닥을 보면서 혼자 실실 웃는 민수를 보며 말한다.
민수는 자위하다가 들킨 사람처럼 화들짝 놀라며 연형을 바라본다. 그리고 하지도 않은 짓을 부정한다.
“아니야.”
민수의 뜬금없는 말을 들은 연형이 묻는다.
“뭐가 아니야?”
말을 해 놓고 아차 하는 민수는 다시 실실 웃는다.
그 모습을 본 연형이 말한다.
“저게 전산질 하더니 미쳤군, 미쳤어.”
그러면서 연형은 사무실 밖으로 나간다.
“그래, 미쳐보자.”
민수는 혼자 이렇게 지껄이며 수화기를 들고 전화 버튼을 누른다.
전화 신호가 가는 동안 민수는 콩닥거리는 마음을 진정시키려는 듯 수화기를 든 왼쪽 팔꿈치를 책상에 올려 책상에 몸을 기댄다.
“여보세요?”
오랜만에 듣는 재희의 감미로운 목소리가 민수의 가슴을 쑤시며 파고든다. 그렇지만 민수는 아무렇지 않은 듯 평소처럼 말한다.
“민수야, 잘 지냈어?”
“응, 주말에 파주에 다녀왔어.”
“아, 그랬구나.”
머릿속이 휑한 민수는 무슨 말을 해야 할지 몰라 잠시 머뭇거린다. 다행히 재희가 말을 이어간다.
“너는 잘 지냈어?”
“나는 급한 일이 생겨서 주말 내내 회사에 나와서 프로그램 짰어, 그런데 마지막 프로그램 에러 때문에 지금 헤매는 중이야.”
“에러? 너가 그렇게 말하니 이제 전문가 같다.”
전문가라는 말에 민수는 모니터에 펼쳐진 프로그램 코드로 눈길을 돌리며 말한다.
“전문가는 무슨…. 오늘 하루 종일 프로그램 코드를 봤더니 머리가 어지러워.”
“저런, 일찍 퇴근해서 쉬렴.”
민수는 전화하면서 프로그램 코드 위에 놓인 커서를 생각 없이 움직인다.
모니터 화면에 커서가 프로그램 코드의 조건문 IF 문장 위에 놓여진다. 민수는 커서가 놓여진 부분 무심히 바라보다가 소리친다.
“어!”
민수는 책상 위에 팔꿈치를 괴고 기대고 있던 상체를 곧추세우며 놀란 표정을 짓는다.
“왜? 무슨 일 있니?”
민수가 놀란 듯 지르는 소리에 재희가 궁금한 듯 묻는다.
“미안한데 조금 있다가 다시 전화해도 될까?”
“급한 일인가 보네, 그러렴.”
민수는 수화기를 내려놓으며 모니터 화면을 다시 쳐다본다.
모니터 화면에 펼쳐진 프로그램 코드의 첫째 줄 IF 조건문 문장 끝의 점이 찍혀있다. 쓸데없이 찍혀있는 이 점 때문에 프로그램이 아래쪽 IF 조건문으로 흐르지를 못한 것이다. 그렇게 꼬여버렸던 프로그램 로직을 이틀의 고생 끝에 찾아냈다. 이 점 하나 때문에 억울하게 고생한 민수는 그 점을 죽이듯 지워버린다.
민수는 커서가 커맨드 입력창으로 옮긴 후 'SUBMIT' 문자가 입력하고 키보드를 '탁'하며 세게 친다. 컴퓨터 작업이 진행되고 민수는 긴장된 표정으로 지켜본다.
작업이 종료되고 작업 결과 화면이 펼쳐진다.
헤드 타이틀 밑으로 리포트 데이터가 줄줄이 채워져 있다.
민수는 자리에서 일어나 두 손을 번쩍 든다. 다시 자리에 앉아서 환한 표정으로 산출된 리스트 내용을 살펴본다.
민수는 다시 수화기를 들고 전화 버튼을 누른다. 상대 쪽 수화기 들리는 소리와 동시에 민수가 소리친다.
“에러 찾았어. 드디어!”
그러면서 민수는 통쾌하게 웃는다.
“그렇게 기뻐?”
“그럼, 이것 때문에 이틀 동안 고생했거든. 너랑 전화하다가 찾았어, 고마워.”
“고맙긴, 내가 한 것이 뭐가 있다고?”
“너랑 전화하다 보니 에러가 보이네.”
“그래? 잘 됐다. 그런데 어떤 에러야?”
“점 하나 때문에 에러가 생겼어.”
“하하, 고작 점 하나 때문에 그런 고생을 한 거야?”
“컴퓨터 에러라는 것이 컴퓨터의 잘못을 찾는 게 아니라 내가 만든 실수를 내가 찾아내야 하는 거야, 그런데 정작 자신은 실수하지 않았다고 생각하고 있거든. 그래서 에러 찾는 것이 어려운가 봐.”
“야아…, 전문가답게 말하네, 하여튼 축하해.”
“해결하고 나니까 이제 후련하다, 술이나 한잔할까.”
“얘는, 지금 시간이 몇 시인데 술이니?”
“그럼, 이번 주에 한번 볼까?”
“글쎄….”
어려운 문제를 해결해서 기분이 한껏 고조된 민수는 재희에게 거침없이 말한다.
“혹시, 내가 너 허리 잡았던 것 때문에 그래?”
“호호호, 얘는…, 어색하게…, 그런 말 하지 마.”
이왕 능청스러워진 민수, 더 능청스러워지기로 작정하며 작업 멘트를 날린다.
“그래도 나는 너 생각 많이 했어,”
“하하하, 야, 어색해! 전화 이만 끊어!”
“그래. 나중에 연락할게.”
“호호호, 그래 빨리 퇴근해.”
민수는 수화기를 내려놓는다. 그리고 두 손을 머리 뒤로 깍지를 낀 채 자리에 한참을 앉아있다가 단말기를 끄고 자리에서 일어난다.