연재소설 : 러브 코딩 25화 - 컴퓨터 작업
분주한 분위기가 펼쳐지는 사무실의 아침, 신계약팀 팀원들도 일에 집중하고 있다.
민수는 아침부터 계약서비스부에서 받은 공문을 보며 메모하다가 중만에게 조심스럽게 말을 건넨다.
“저…, 선배님. 이번 데이터 리포팅 작업에 대해서 말씀드릴 것이 있는데요?”
단말기를 바라보며 일하던 중만이 민수에게 고개를 돌린다.
“뭔데?”
“이번에 데이터 리포팅을 계약자 주소가 해당 설계사의 주소로 되어 있는 것을 찾아내는 것이잖아요.”
“그렇지.”
“그런데 설계사가 다른 의도를 가지고 보험계약을 한다면 설계사 자신의 주소보다는 적발이 어려운 다른 주소로 연락처를 할 수도 있잖아요?”
“그렇지… 설계사가 제3의 주소로 허위 보험계약을 할 수 있겠지. 그럴 의도가 있다면 충분히 그럴 수 있어.”
“그래서 드리는 말씀인데, 작업 방법을 바꾸어야 하는 것이 아닌가 싶어서요.”
중만이 민수를 향해 자세를 바꾸며 앉으며 묻는다.
“어떻게?”
민수는 메모해 놓았던 플로차트를 펼쳐놓고 중만에게 설명하기 시작한다.
“보험계약 마스터 파일에서 해당 데이터를 가져와서 하나의 파일을 구성합니다. 그것을 sort 즉 순서대로 정렬하고, 그것으로 설계사별 주소별로 분류하여 복수의 계약자가 동일한 주소에 몰려있는지를 분석하는 리포트를 만드는 것입니다.”
중만은 민수가 그려놓은 플로차트를 보면서 말한다.
“맞네, 이렇게 해야 하는 거네.”
민수의 설명에 중만이 동의하자 민수가 멋쩍은 듯 웃으며 묻는다.
“이렇게 할까요?”
“현업에서 요구한 안을 바꾸는 것이니 민수씨가 현업 담당자하고 협의한 후에 결정해.”
민수는 자신이 이 일을 주도한다는 것이 부담스러운 듯 묻는다.
“제가요?”
“담당자가 김상조지? 민수씨가 김상조 불러서 협의해 봐.”
“예.”
얼떨떨하게 대답하는 민수, 자신보다 높은 연차의 현업 사원을 이끌며 일한다는 것이 부담스럽다, 잠시 후 민수는 전화 수화기를 든다.
김상조와 조영숙이 신계약팀으로 다가오며 일섭에게 인사를 건넨다.
“안녕하세요, 대리님.”
“응, 토요일 퇴근 시간 다 되어서 웬일이야?”
“예, 이민수씨가 좀 보자고 해서요.”
“응 그래?”
불만이 서려 있는 상조의 대답에 일섭이 웃으며 대한다.
민수가 자리에서 일어서며 그들을 맞는다.
”오셨어요?
민수는 회의 탁자 쪽을 쳐다본다. 회의 탁자에 이미 다른 사람 앉아 있다.
“회의 탁자에 사람이 있어서 여기서 이야기를 해야 할 것 같네요.”
민수는 상조에게 단말기 자리를 권하고 영숙이 앉을 의자를 다른 곳에서 가져온다.
“여기 앉으시죠?”
평소와 다른 민수의 친절에 영숙은 놀란 듯 말한다.
“어머, 고마워요.”
민수는 자리에 앉아 설명하기 시작한다.
“의뢰하신 데이터 리포팅은 계약자 주소가 해당 설계사의 주소와 같은지를 체크하는 것이잖아요?”
민수에게 불려서 올라온 상조, 민수가 얼마나 알겠냐는 듯 건성으로 대답한다,
“예, 그렇죠.”
“그런데 허위계약을 만들려는 설계사가 적발을 피하기 위해 설계사 집 주소가 아닌 다른 주소로 계약자 주소를 정할 수 있잖아요. 설계사 지인의 집 주소 같은 것으로요.”
“뭐, 그럴 수도 있겠네요.”
여전히 민수의 제안이 미심쩍은 상조는 오만하게 대답한다. 이어지는 민수의 설명.
“그래서 동일한 주소에 복수의 계약자가 몰려 있는지를 체크하는 방법이 더 정확하지 않을까 해서요.”
민수의 말뜻을 이해한 상조가 자세를 진지하게 바꾼다.
“그러면 설계사 주소로 되어 있는 계약 건도 다 체크가 되나요?”
“물론 그 건도 모두 체크됩니다.”
상조는 민수의 설명을 듣고 골똘히 생각하다가 묻는다.
“우리가 요청했던 방법과는 별도로 이 작업을 해 주실 수는 없나요?”
“별도로 작업하기에는 작업 규모가 큽니다. 그리고 사실 저가 제안하는 방법이 훨씬 더 복잡한 작업이기도 하고요.”
민수의 말에 상조는 얼떨떨해하며 말한다.
“그렇겠군요.”
“어떤 방법으로 할 것인지는 계약서비스부에서 결정하시면 됩니다.”
상조에게 은근히 결정타를 날린 민수, 상조는 당황하며 영숙에게 묻는다.
“영숙씨는 어떻게 생각해?”
“글쎄요, 저가 결정할 사항이 아니라서요.”
민수가 당황하고 있는 상조에게 친절한 자비를 베푼다.
“한번 생각해 보시고 알려주세요. 결정하신 방법으로 작업할 테니까요.”
상조는 심각한 표정으로 잠시 생각하다가 자리에서 일어난다.
“내려가서 결정한 다음 전화하겠습니다.”
“예, 전화 기다리겠습니다.”
민수는 모니터를 바라보며 키보드를 치고 있다.
중만이 퇴근하기 위해 PC를 끄면서 민수에게 묻는다.
“계약서비스부에서 연락이 왔어?”
“예, 수정된 안으로 하겠답니다.”
“그래, 그럴 수밖에 없겠지.”
민수는 자신이 제안한 안이 선택되었다는 것에 뿌듯한 표정을 짓는다.
“민수씨는 주말에 뭐 해?”
“딱히 계획은 없습니다.”
“주말에 그 누님 안 만나?”
“그 누님이 그 누님 아닙니다.”
“연상의 여인 아니었어?”
민수가 웃으며 말한다.
“그냥 싸가지 없는 동창 친구입니다.”
웃으면서 말해 놓고 마음이 켕기는 것을 느끼는 민수. 감히 재희에게 싸가지라는 말을 쓰다니…. 민수는 자책한다.
“그래? 수고해, 주말 잘 보내고.”
“예, 즐거운 주말이 되세요.”
민수는 중만에게 일어서서 인사한 후 자리에 앉는다. 그리고 메모해 놓은 플로차트를 보며 키보드를 치기 시작한다.
플로차트 첫 번째 사각형 처리 기호, 세부적인 내용이 코딩으로 전개된다.
모니터에 ‘OPEN FILE’, ‘READ FILE’, ‘PROCESSING’, ‘WRITE FILE’ 등으로 구분된 단락이 코딩으로 착착 전환된다.
창문을 통해 들어온 햇살이 사무실 바닥에 늘어지기 시작한다.
민수는 모니터 화면에 눈을 고정한 채 키보드 치는 손가락이 바삐 움직인다.
프로그램 코딩이 완료된다.
모니터에 펼쳐진 콘솔 화면의 명령어 입력창에 키보드 치는 소리와 함께 ‘SUBMIT’이 적혀진다. 그리고 입력키(엔터키) 치는 소리와 함께 화면에 바뀌면서 컴퓨터 작업 진행 조회 화면이 펼쳐진다.
컴퓨터 작업 첫 번째 단계인 ‘SYNTEX’ 체크, 프로그램 언어의 문법 오류를 찾아내는 신텍스 체크에서 몇 개의 문법적 오류가 걸린다. 민수는 그것을 수정한 후 프로그램을 다시 돌린다. ‘SYNTEX’ 단계에서 ‘OK’가 떨어진다.
문법적 오류가 제거된 프로그램이 컴퓨터 작업 두 번째 단계로 접어든다. 인간이 짠 프로그램 코드가 컴퓨터 기계어로 전환되는 ‘COMPILE’ 과정이 수행된다. 그러나 진행되던 작업이 멈춘다. 키보드 치는 소리와 함께 작업 결과를 나타내는 화면으로 바뀐다. 컴파일 에러가 화면 하나 가득 채워져 있다.
민수는 모니터에 펼쳐진 컴파일 에러를 보면서 프로그램 코드를 수정한다.
늦은 오후의 햇살이 창으로 들어와 바닥과 책상 위에 놓여지기 시작한다. 민수의 키보드 두드리는 속도에 맞춰 바닥에 드리워진 햇살이 점점 길게 늘어진다.
모니터 콘솔 화면 커맨드 입력 창에 또다시 ‘SUBMIT’이라는 명령어가 입력된다. 그리고 키보드 치는 소리와 함께 모니터에 컴퓨터 작업 진행되는 모습이 나타난다.
이번에도 컴퓨터 작업이 ‘COMPILE’ 단계를 넘어서지 못하고 멈춘다. 민수는 컴파일 에러 리스트를 보며 프로그램 코드를 다시 수정한다.
창에 비치던 햇살이 사라지고 사무실의 형광등이 켜진다. 적막한 사무실에 프로그램 코드를 변경하는 키보드 치는 소리만 외롭게 울려 퍼진다.
시간이 지나고 입력키 치는 소리와 함께 다시 작업이 시작된다. 컴퓨터 작업 진행이 ‘COMPILE’ 단계를 벗어나 드디어 세 번째 단계인 'GO' 단계로 들어간다.
민수는 웃으며 두 손을 앞으로 쭉 내밀며 주먹을 불끈 쥔다. 민수가 코딩한 프로그램에 따라 컴퓨터가 작동된다는 것이 민수로서는 기분이 좋다. 컴퓨터가 작업을 수행하는 동안 민수는 힘들게 작성한 프로그램 코딩을 흩어본다.
모니터 화면에 프로그램 코딩 문장이 위에서 아래로 흐르며 'OPEN-STEP', 'READ-STEP', 'PROCESSING-STEP', 'WRITE-STEP'의 코드를 차례로 보여진다.
진행되는 프로그램 코드에 따라 컴퓨터 내부에서 처리되는 논리적인 과정이 형상화되어 전개된다.
OPEN-STEP, 데이터 세트 기호의 색깔이 변하면서 활성화된다.
READ-STEP, 데이터 세트에서 데이터가 RECORD 단위로 줄줄이 불려 나온다.
PROCESSING-STEP, 데이터가 복잡한 과정으로 선별되고 처리된다.
WRITE-STEP, 처리된 데이터가 레코드 단위로 차곡차곡 쌓인다.
이런 단계를 거치며 처리된 작업 결과가 모니터 화면에 펼쳐진다.
민수는 모니터에 나타난 결과를 보고 만족한 표정을 지으며 메모지의 플로차트의 한 부분에 OK라고 적는다.
민수는 눈을 들어 어두워진 창밖을 응시한다. 그리고 시계를 바라본다. 9시 40분.
컴퓨터를 붙잡고 열정적인 시간을 보내고 난 후의 허탈함과 쓸쓸함이 몰려온다.
전화기를 바라보는 민수, 재희는 주말에 부모님 양계장에서 일하고 있을 거라 생각한다. 민수는 다시 쓸쓸함을 느낀다.
민수는 단말기를 끄고서 자리에서 일어난다. 그리고 사무실을 나서며 형광등을 끈다.
일요일, 사무실 10시 20분. 사무실에 이미 두 사람이 나와서 일하고 있다.
햄버거 포장 봉투를 들고 사무실로 들어온 민수, 자리에 앉아 단말기를 켠다. 그리고 플로차트가 그려진 메모지를 바라본다.
플로차트 두 번째 처리 기호에 'SORT (설계사 코드, 우편번호, 상세 주소)'가 표시되어 있다.
민수는 모니터를 바라보며 키보드를 치기 시작한다.
모니터 화면에 SORT 유틸리티(시스템 제공 프로그램)가 나타난다. 그리고 유틸리티의 INPUT FILE과 OUTPUT FILE 부분에 파일명과 적어 넣고 매개변수를 조정한다.
콘솔 커맨드 입력창에 'SUBMIT'이 입력된 후 키보드 치는 소리와 함께 컴퓨터 작업이 진행된다.
컴퓨터에서 SORT 유틸리티 작업이 진행되기 시작한다.
INPUT 파일의 데이터가 SORT 유틸리티 안으로 줄줄이 이동한다.
SORT 유틸리티 내부에서 데이터가 지정한 항목의 크기 순서로 정렬된다.
순서대로 정렬된 데이터가 OUTPUT 파일에 저장된다.
모니터 화면에 SORT 유틸리티 작업 결과가 나타난다.
민수는 메모지의 플로우차트에 그려진 두 번째 SORT 부분에 ‘OK’ 표시한다. 그러고는 플로차트 세 번째 부분을 바라본다.
적막한 사무실을 채우는 것은 키보드 두드리는 소리와 창을 통해 한가롭게 들어온 햇살뿐이다.
민수는 모니터에 시선을 고정한 채 다시 키보드를 두드리기 시작한다.
긴 시간에 걸쳐 또 하나의 프로그램 코딩이 완성되고 작업 창에 컴퓨터 작업 진행 상황이 나타난다.
민수는 모니터에 펼쳐진 작업 결과를 바라보며 햄버거를 먹는다. 그리고 또 이어지는
신텍스 에러와 컴파일 에러 수정 작업.
창밖의 하늘이 어두워지고 민수는 여전히 모니터를 바라보며 키보드를 친다. 수정된 프로그램으로 다시 컴퓨터가 작업을 진행한다.
컴퓨터 작업 진행이 ‘COMPILE’ 단계를 벗어나 ‘GO’ 단계로 들어선다.
컴퓨터가 설계사별로 주소가 동일한 계약들을 추출한다. 동일한 주소에 복수의 계약자가 존재하면 WRITE-STEP을 수행한다.
모니터에 작업의 정상종료를 나타내는 코드와 함께 작업이 종료된다.
키보드 치는 소리와 함께 작업결과화면이 펼쳐진다.
민수는 무심한 표정으로 모니터에 뜬 작업 결과를 살펴본 후 플로차트 세 번째 기호 옆에 'OK'표시를 한다.
민수는 피곤한 듯 한동안 멍하니 모니터를 바라보다가 단말기를 끄고 자리에서 일어난다.
그렇게 또 주말이 마무리된다.