쉬운 것부터 하나씩 … 재미 놓치지 않아서 친해진 DB
지난 90년대 중반, 개발자로 사회 생활을 시작했던 바바소프트 이병국 대표. 이 대표는 월드컵이 열리던 해에 다니던 회사를 나왔다고 합니다. IT 분야를 떠나겠다는 쉽지 않은 결정을 했던 것이지요. 홈페이지 개발사를 설립운영하기도 했고 프리랜서 개발자 생활도 했습니다. 개발자로 일할 때는 어떻게 하면 더 잘할 수 있을까?를 잊지 않았던 것 같습니다. 자신만이 쓰는 FreeSQL이라는 SQL 개발도구를 틈틈이 만들어 사용했던 것을 보면 말입니다. 가족과 함께한 것도 잊지 않았고요. 주말을 이용해 깊은 산속에 나만의 오두막을 지어 바라던 자연속 삶도 누렸다고 하니 놀랍지요. 덕분에 많은 변화가 다가왔지만, 흔들리지 않고 담담하게 받아들일 수 있지 않았을까요. 이 대표에게 인터뷰 의뢰를 했을 때 약간 반갑고 놀라운 사실도 발견했습니다. 이 대표가 SQLGATE 초기 버전 사용자라고 하네요. 이 사실 덕분에 친근한 마음으로 만날 수 있었습니다. 이 대표의 개발자이자 한 가장으로서 이야기를 두 번에 걸쳐서 소개합니다. 그 첫 번째로서 개발자로서 여정과 현재에 대해 이야기를 나눴습니다.
△ 이병국, 바바소프트 대표
Q. 어떻게 DB와 인연을 맺었나요?
A: 현재 21년째 IT 분야에서 일하고 있습니다. 처음 몇 년간은 개발자로서 일했으나, 우연한 기회에 DB 업무를 맡게 되었습니다. 2006년 행자부에서 주관한 전국 시군구 인사행정정보화 프로젝트에 참여했습니다. 2차 프로젝트가 시작될 무렵, (1차 프로젝트에 참여했던) DBA가 개인적인 사정으로 회사를 그만 두었습니다. 갑작스럽게 제가 DBA 역할을 맡게 되었죠. ‘곧 전문 DBA가 올 거라면서 그때까지만 하라’는 조건으로 주어진 일이었습니다.
그날 바로 서점에 가서 DB 관련 책 몇 권을 구입해와 공부했습니다. 200개가 넘는 전국 시군구 기초지방자치단체의 DB 서버를 혼자서 관리해야 했습니다. 서버마다 매번 접속하여 관리하는 데 꽤 많은 시간이 걸렸습니다. 그래서 DB 서버를 자동으로 관리하는 프로그램을 직접 만들어 관리했더니 시간을 크게 줄일 수 있었습니다. 1년 반짜리 프로젝트였는데, 새로운 DBA가 오지 않고 끝났습니다. 어찌 보면 제가 성공적으로 그 일을 해낸 거라고 볼 수 있겠네요. 그 프로젝트를 마치고 유지보수 업체의 DBA에게 그 관리툴을 주고 나왔습니다. 지금 생각하면 참 무모했습니다. 급작스럽게 맡게 된 DBA 업무에 겁이 좀 났지만, 초기에 집중하여 공부하고 개발자로서 제 장점을 발휘한 덕분에 탈 없이 마무리할 수 있었습니다.
행자부 프로젝트 후에 다른 몇 개의 프로젝트를 마치고 한 생명보험사 프로젝트에서 발주처 담당자의 눈에 띄었나 봅니다. 그곳에서 10년 가까이 SQL 튜닝을 했습니다. 엄밀히 말씀드리면, DBA가 아니라 IOA(Input Output Administrator) 역할이었지요.
Q. 그때 사내 SQL 교육도 담당하셨었나요?
A: 개발 업무를 많이 해봤기 때문에 개발자들의 DB에 대한 고민을 조금은 알고 있습니다. 개발자들은 주로 쿼리 성능을 제일 많이 고민하는 것 같습니다. 회사에서 사내 교육을 시키지는 않았지만, 제 스스로 교육 자료를 만들고 준비해서 개발자들 대상의 SQL 교육을 했습니다. 교육 내용은 성능 좋은 쿼리 작성과 적절한 인덱스 생성 방법 및 DB 튜닝에 관한 내용이었습니다.
개발자들에게 늘 ‘조금만 이해하여 맥을 잘 짚으면 생각보다 쉽게 성능을 끌어올릴 수 있다’고 강조했던 거 같습니다. 반응도 좋았고 그 일이 계기가 되어 한 DB 정보 포털 사이트에 기술 연재를 하게 됐고요. 그때 교육을 받았던 수강생 중에 한 분이 DB 포털 사이트에 연재를 해보라고 소개해 주더군요.
제가 그런 일을 하게 되리라고는 미처 생각하지 못했습니다. 2~3회까지의 원고 작성이 매우 힘들었습니다. 하다 보니 제가 말로 하는 것보다 글로 작성하는 걸 잘하는구나, 하고 느낄 수 있었고요. ‘잘 보았다’는 댓글이 달리면 힘도 나고 재미있었습니다. 부족했지만 제 재능을 나누면서 새로운 일들이 벌어지는 게 신기하더라고요. 그 가운데 하나가 제 이름으로 SQL 관련 책을 낸 것입니다(‹개발자를 위한 인덱스 생성과 SQL 작성 노하우› 2018). 개발자라면 누구나 책 한 권을 내고 싶다는 꿈을 가져봤을 겁니다. 저는 우연한 계기로 제 이름의 책을 내게 된 행운을 잡았지요.
“개발자들은 주로 쿼리 성능을 제일 많이 고민하는 것 같습니다.
제 스스로 교육 자료를 만들고 준비해서 개발자들 대상의 SQL 활용 교육을 했습니다.”
Q. 그 책을 보았더니 개발 효율을 높이는 일에 관심이 많은 거 같더군요. FreeSQL은 어떤 니즈에 따라 개발했나요?
A: DB 관련 일을 하기 전에 개발자로서 많은 프로젝트를 했습니다. 당시 프로젝트마다 매번 다른 DB를 사용했어요. 다양한 종류의 DB를 경험해서 좋은 점도 많았지만, 가끔 곤란한 경우도 있었습니다. 유사한 명령어들 사이에서 헷갈리기도 하였고요. 각각의 DB에 맞는 SQL 개발툴을 구해서 설치해야 했고, 또 그 사용 방법을 익혀야 했습니다. 그러한 불편함을 해소하고자 개인적으로 만든 프로그램이 바로 FreeSQL입니다.FreeSQL은 오라클, SQL Server, MySQL, DB2, MDB, 큐브리드 등 서로 다른 종류의 DB에서도 사용할 수 있게끔 범용적으로 만들고자 하였습니다. 개인적인 호기심에서 시작하였고 프로젝트 수행 도중 시간이 날 때마다 틈틈이 개발한 것이라 완성도는 조금 떨어졌지만, 개인적으로 사용하기엔 부족함이 없었습니다.
그림 1 틈틈이 개발했던 ‘FreeSQL’ 메인 화면
그림 2 ‘FreeSQL’ 세부 화면
Q. 주식 자동 트레이딩 프로그램 개발경험도 있으시군요?
A: 글쎄요. 벌써 십 수년이 지난 일이네요. 한일월드컵 열기가 전국을 뒤덮던 2002년, 5년간 근무하던 회사를 그만 두었습니다. 입사 이후 줄곧 일을 최우선으로 생각했고 야근도 많이 한 탓에 더 이상의 체력도 열정도 남아 있지 않았습니다. 프로그래머로서 불확실한 미래와 앞으로의 진로에 대한 고민도 많았습니다. 그때 주식 자동매매 프로그램을 개발하였습니다. 주식 자동매매는 크게 두 가지가 있어요.
첫 번째는 기술적 분석 및 차트 분석에 의한 자동매매 방법이고, 두 번째는 호재성 뉴스나 공시에 의한 자동매매 방법입니다. 저는 일단 단기간에 개발이 가능한 뉴스나 공시에 대한 자동매매 프로그램을 개발하였습니다.
뉴스나 공시가 발생하면 프로그램이 자동으로 분석하여 매수/매도하는 주식 자동 매매 프로그램입니다. 호재성 뉴스나 공시인 경우 주가는 급등하죠. 이때 가장 먼저 자동으로 매수 주문을 내어 매수한 후 수초 혹은 수분 뒤에 주식을 매도하는 방식으로 수익을 내는 프로그램입니다. 초반에는 많은 수익을 냈죠. 하지만 어느 순간 경쟁 프로그램이 여럿 나타나서 수익률이 떨어졌습니다. 그만 둔 지 오래되었습니다. ^^;
Q. 요즘은 무슨 일을 하시나요?
A: 경희대 창업센터에 입주해서 새로운 도전을 하고 있습니다. 3년 전, IT 분야를 떠나서 부동산 관련 NPL(Non-performing Loan) 회사를 지인들과 함께 운영했습니다. 이때 배운 부동산 관련 지식 노하우와 IT를 접목하여 부동산 정보 제공사를 설립했습니다. 현재 지도 API와 JS 차트를 기술적 기반으로 하여, 공공데이터를 활용한 부동산 정보 제공 사이트와 앱을 구축 중입니다. 경매공매 정보를 제공하는 옥션바바, 부동산 시세 정보를 제공하는 시세바바, 부동산 통계 정보를 차트로 보여주는 차트바바, 땅 매매를 직거래하는 땅바바 사이트를 동시에 구축하고 있습니다.
Q. 공공데이터를 이용한 부동산 관련 사업으로 보이는데요. 공공데이터를 다루는 데 있어서 DB의 중요도는 어느 정도인가요?
A: 요즘 국가적으로 공공데이터를 적극적으로 개방하는 추세입니다. 향후 서비스로 활용 가능한 공공데이터가 더 많이 개방되면, 점점 더 수익성 높는 사업 모델이 늘어날 것입니다. 여기에서 가장 중요한 요소는 데이터입니다. 또한 이러한 데이터를 잘 다루는 기술의 중요성은 아무리 강조해도 지나치지 않습니다.
Q. 개발자로서 DB를 잘 다룬다는 것은 어떤 의미가 있을까요?
A: 개발자가 DB를 알아야 하는 것은 당연하지 않을까 합니다. 문제는 얼마나 많이 알고 있는지, 얼마나 잘 알고 있는지가 중요하겠지요. 많이 알수록 개발 기간은 단축되고, 잘 알수록 운영 성능은 좋아집니다. 전장의 군인이라면 누구나 강력한 무기를 원할 겁니다. DB를 잘 다룬다는 의미는 개발자에게 강력한 무기가 생긴 것이나 마찬가지가 아닐까 합니다.
“DB를 잘 다룬다는 의미는
개발자에게 강력한 무기가 생긴 것이나 마찬가지가 아닐까 합니다”
Q. DB 공부를 시작하려는 분들에게 추천하는 방법이 있으실까요?
A: 사람마다 선호하는 방법이 있겠지만, 제 경우는 가장 쉬운 DB 책을 사서 읽었습니다. 부동산을 할 때도 가장 쉬운 부동산 책을 사서 읽었고, 주식을 할 때도 가장 쉬운 주식 책을 읽었습니다. 쉬운 책을 보는 이유는 흥미를 잃지 않기 위해서입니다. 그리고 단계적으로 더 어려운 책들을 봅니다. 처음부터 어려운 책을 보면 흥미를 잃고 포기 할 수도 있으니깐요. 덧붙여 DB 커뮤니티 사이트를 많이 활용 했습니다. 많은 사람들의 질의에 달린 댓글을 보면서 공부하는 것을 적극 추천합니다.
댓글
댓글 1개
댓글을 남기려면 로그인하세요.