데이터 인사이트

데이터 전문가 칼럼
데이터 전문가가 전하는 데이터 노하우

양용성의 DB 개발자 이야기 시즌I (1회) : 작은 돌멩이부터 옮기다

작성자
관리자
작성일
2020-08-28 18:20
조회
616

양용성의 DB 개발자 이야기 시즌I (1회)


DB 솔루션 개발자로서 삶의 시작

작은 돌멩이부터 옮기다

양용성은 체커에서 SQLGate 개발담당 이사로 일하고 있다. 개발자로서 자신의 업무 효율을 높이기 위해 개발했던 작은 도구 SQLGate가 어느새 수많은 개발자와 DBA가 사용하는 도구로 바뀌어 있었다. 사회 생활을 시작하면서 ‘내 손으로 만든 패키지 소프트웨어를 내놓겠다’던 꿈이 어느새 이뤄져 있었다. 이번 연재는 DB 개발도구를 만드는 개발자로서의 업무와 한 가장으로서 삶을 버무려 데이터 세계로 진입하려는 학생들, 개발자들과 마음을 나누고자 한다.
많은 사람들이 그렇듯 나도 전역 후 복학을 하게 되었다. 네 학기를 마치고 입대했을 때 학점이 2.2였다. 나는 92학번이다. 병역을 마치고 돌아온 캠퍼스는 군에 있을 때보다 더 내 삶을 고민하게 만들었다.

?

? 군 제대와 복학

전산학과에 들어가 내 손으로 한 번도 프로그램을 짜본 경험이 없는 무늬만 대학생이었다. 사실 컴퓨터도 대학에 입학해 처음 만져보았다. 컴퓨터와 나는 별 인연이 없는 존재라고 여기며, 철없던 네 학기를 보낸 것에 대해 엄청 후회를 했다.

대신 술, 친구, 당구, 과학생회 생활을 정말 물 만난 고기처럼 할 만큼 했었기에 복학을 하고 나서 철없음은 많이 사라졌다.

96년 3월 25일이 제대일이었고 복학 마감일은 그달 28일까지였다. 3월 1일에 말년 휴가를 나와서 복학을 결정했다. 형이 제대 후에 어영부영 1년을 보내지 말고 바로 복학하기를 권했기 때문이다.

‘말년휴가’를 나와서 복학 신청을 하고 자대 복귀할 때 전공서적 5권을 가지고 들어갔다. 3월 25일까지 약 20일 동안 전공서적을 그냥 달달 외웠던 것 같다.

그 중에 네트워크 책은 원서였는데 그 두께가 제법 되었다. 그 책의 약 10%가, 옆에서 보면 이 책을 정말 많이 읽었구나 할 정도로 시커멓게 변해 있었다. 지금 생각하면 아마도 깨끗하게 손을 씻지 않고 읽어서 그랬을 것 같다(^^).

복학을 하고 나서 정말 군인처럼 학교 생활을 했다. 그도 그럴 것이 제대하자 마자 다음날부터 수업을 들었으니 그럴 수밖에 없었다. 그나마 군에서 작전병으로 근무했기에 앉아서 집중하는 일에 제법 익숙해져 있었다.

4~5월, 두 달을 그냥 군대 생활처럼 했다. 아침 여섯 시 반에 일어나서 아침밥 해 놓고 운동장 10바퀴 뛰고 와 씻고 아침 먹고 설거지하면 8시였다. 10시 수업 전까지 예습을 하고 모르는 것에 대해 질문 준비를 하고, 수업 듣고 점심 전까지 다시 복습했다. 학생식당에서 아주 짧게 점심을 먹고 다시 예습하고 수업 끝나고 다시 복습하고…. 저녁에는 리포트를 쓰고 C 프로그램을 조금씩 배웠다. 이걸 두 달 동안 반복적으로 했다.

? 미움 받았던 나

수업 시간에는 질문을 하여 교수님의 답변이 이해 안 되면 이해될 때까지 물어보곤 했다. 수업 끝날 때쯤 내가 질문을 시작하면 동기들이 긴장하기 시작했다. 나중에는 나를 무척 미워했던 거 같다. 식사시간 앞두고 수업을 마치지 못하는 교수님도 나를 미워하지 않으셨을지^^

그래도 상관없었다. 준비한 질문을 이해할 때마다 내 스스로에게 자부심이 느껴졌기 때문이다. 교수님도 ‘나를 통해 수업 준비를 많이 해 올 수 있어서 재밌다’고 하셨다. 그때까지 내가 이런 사람인지 몰랐다. 자존감도 낮았던 나에게 ‘너도 특별한 사람이 될 수 있다’고 교수님께서는 많이 격려해 주셨다. 정말 감사할 따름이다. 군대 가기 전까지 공부를 잘하지 못해서 졸업학점은 결국 3.4로 마감했다.

더 재미 있는 것은 4학년을 거의 다니니 않았다는 거다. 3학년 2학기에 들어서면서 당시 MFC(Microsoft Foundation Class Library)를 잘하고 싶어서 스터디그룹을 구성했다. 이전 학기에 동기와 선배가 ‘델파이’ 스터디그룹을 만들어 동아리로 자리잡은 상태였다. 두 그룹은 같은 주제로 각각 학습해 와서 함께 발표하곤 했다. 같은 주제로 C++와 파스칼 코드로 개발한 결과를 동시에 볼 수 있는 아주 실험적인 스터디였다.

그때 델파이의 컴파일 속도에 무척 놀랐다. 1996년 당시, 10배 이상 차이가 났을 것이다. 델파이의 컴파일 속도는 지금도 놀랄 정도로 빠르다. 결국 델파이를 선택했고 그때 같이 개발했던 김영주·고민권 두 사람은 내가 개발자가 되는 데 아주 커다란 도움을 주었다. 지금 생각해도 고마운 사람들이다.

? 리포팅 개발사에서 시작한 사회생활

교수님께서 주신 포스트잇 한 장을 들고 양재동의 큰 빌딩 1층에 앞에 서 있었다. ‘가서 프린트 잘해주고, 커피 심부름 잘하고 혹여 개발 일을 시키면 많이 배워오라’는 ‘나 교수님’의 이야기를 듣고 세상에 뛰어들었다.

처음에는 프린트와 문서 정리를 하다가 리포트 프로그램을 개발하게 되었다. 약 300페이지 분량의 리포트를 개발해야 한다고 했다. 한 달 동안 약 100 페이지 분량의 리포트를 그렸다.

리포트 프로그램이라고 하면, 리포트에 데이터가 출력되기 전에 선·줄·글자를 미리 그려 놓는 거였다. 진짜 개발자들이 SQL을 작성하여 데이터를 특정 위치에 놓으면 끝나는 일이었다.

로직 없이 그림만 그리면 되었기에 한 달이 다 되어갈 때는 개발팀보다 그림을 많이 그려 놓은 상태가 되었다. 개발팀은 시간이 남으면 SQL을 작성해 데이터를 그려 넣어 보라는 지시를 했다.

난생 처음으로 SQL을 작성하는 일을 시작하게 되었다. 리포트 프로그램에 들어가는 대부분의 SQL은 SELECT 쿼리이며 통계가 많이 포함되어 있다. 인턴 계약 기간을 마치고 두 달을 더 일하고 있을 때, 급여가 처음보다 3배나 많은 상태가 되었다.

50만 원의 인턴에서 150만 원을 받는 프리랜서 같은 사람이 되어 있었다. 물론 잠도 거의 못 자고 개발 일을 했지만, 그때는 20대 후반에 제대한 지도 얼마 안 된 아주 신체 건강한 상남자(?)였으니까.

다행이 팀장이 석사 과정에서 데이터베이스를 전공한 사람이었다. 그 팀장이 나를 마치 제자처럼 열심히 가르쳐 주셨다. 정말 그때는 주는 데로 다 받아 넣는 머리(?)를 가지고 있었다고나 할까? 그들과 함께 일하는 게 너무 너무 재밌었다.

회사에서 하는 회식도 너무 좋았고, 이렇게 멋진 개발자들과 함께 있다는 사실이 매일 매일 흥분되었다. 그렇게 나도 SI 회사의 개발자가 되어 있었다.

?

? 성장하는 우리!

2년이 지나가면서 같은 일이 반복되고 있음을 느끼게 되었다. 멋져 보이기만 했던 개발자 선배들의 삶도 이해하게 되었다. 멋진 개발자와 매일 성장하면서 일할 수 없을까? 밤샘, 술, 일, 짜증 대신에 서로 머리를 맞대고 성장하는 우리는 없는 걸까? 하고 조직 관점에서 보게 됐다. 내가 그 조직을 바꿀 수는 없겠다고 생각하기에 이르렀다.

점점 거슬리는 것들이 눈에 들어오면서 불편함을 느끼기 시작할 무렵, 우연히 아르바이트를 하게 되었다. 좀 더 자세히 말하면, 친구가 운영하던 회사에서 그 친구의 퇴근을 기다리면서 개발을 조금 도와준 일이 어느 덧 퇴근 후 출근하는 회사가 되어 버렸다. 아침에 출근하는 회사와 저녁에 출근하는 회사를 동시에 다니게 되었다.

돌이켜 보니 일에 대한 욕심이 많았다. 더 많이 배우고 싶었고, 많은 사람들과 관계를 맺고 싶었다. 그렇게 욕심과 욕망이 커져 가고 결국자로 회사를 설립하고 또 다른 야생의 숲으로 내 몸뚱어리를 내놓게 되었다. 잘 다니던 직장 동료를 설득해 함께 일하기로 했다. 우연히 우리 회사에 놀러왔던 대학 동기, 후배들과 거의 5년을 일하게 되었다.

나중에는 법인을 설립하여 SI를 하고 있었다. 하지만 대학을 졸업할 때 꿈이 따로 있었다. CD로 된 패키지 소프트웨어를 개발·공급하는 사람이 되는 게 꿈이었다. 그 당시에는 소프트웨어가 CD로 나왔던 때였다. 그 꿈을 향해 가는 내 인생이 어느 순간 열리고 있었다.

?

? 그 누나만 아니었다면…

1998년 갑자기 아주 간단한 쿼리 툴을 만들어야 했다. DBA를 하고 있던 나는 고객사로 급하게 달려가 ‘오라클’을 살펴봐야 할 일이 많았다. 노트북을 매일 들고 다니기가 어려워서 플로피 디스크에 들어갈 만한 아주 심플한 900KB짜리 쿼리 툴을 만들었다. 아주 간단히 로그인, 편집기, 그리드 이 3가지만 되었다.

컴파일 후 실행파일을 저장하려고 하는데, 파일 이름을 정해야 했다. 내 책상 옆에 데이터베이스 관련 서적이 펼쳐져 있었고, 그 책 안에 ‘SQL문’이라는 단어가 엄청 많았다. SQL문은 SQL Statement인데, 그러면 너무 길어지므로 ‘문’ 대신에 ‘Gate’로 짓자!

Gate는 일반적으로 Door와 조금 다르다. 한국말로 대문이라고 해야 하나? 그래서 실행파일명이 SQLGate.exe가 되었다.

900KB짜리 SQLGate.exe 파일은 정말 유용했다. 그냥 그 플로피만 가방에 들고 다니면 다 되었다. 쿼리를 저장하는 기능도 없는 아주 단순한 프로그램이었다. 다만 이때도 오라클 클라이언트 없이 오라클에 접속할 수 있었던 기능이 있었다. 그게 없으면 플로피디스크로는 감당이 안 되기 때문이다. 그렇게 나만의 SQLGate.exe 0.1 버전이 만들어졌다. 정말 이 제품을 팔 생각으로 만들었던 게 아니었다. 그 누나만 아니었다면…. (다음 회에 계속)

?

출처 : 한국데이터산업진흥원

제공 : 데이터 전문가 지식포털 데이터온에어(dataonair.or.kr)