데이터 인터뷰

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

공부하면서 할 수 있는 일을 하라 - 박찬권 DB 튜너 (하)

DATA 인터뷰
작성자
dataonair
작성일
2017-11-27 00:00
조회
4968




한 프리랜서 DB 튜너의 이야기 (하)

공부하면서 할 수 있는 일을 하라

계획한 대로 자기만의 길을 걷는 사람도 있는가 하면, 생각하지 못했던 영역에서 살아가는 사람도 있다. 중문학과를 다니다 중퇴하고 PC 조립 업무를 거쳐 DB 튜너가 된 사람이 있다. 사회에서 인정해주지 않은 스펙임에도 자신의 길을 걸으며 인정 받는 튜너가 되기까지 쉬지 않고 공부하고 고민했다. 프리랜서 DB 튜너로 일하는 박찬권 씨가 바로 그 주인공이다. 박찬권 씨는 DB가 좋아서 자신도 모르게 현재의 자리에 이르렀다고 한다. 프로젝트 현장에서 고객이나 동료로부터 찬사는 DB 튜너로 가는 길에 힘이 되었고, 작으나마 배움의 나눔을 실천하는 계기가 되었다. ‘내 얘기가 주변에 작으나마 힘이 되기를 바란다’며 인터뷰에 응한 박찬권 씨의 들어보자.

in_068.jpg

▲ 박찬권 DB 튜너

2013년 신세계 SSG.COM 프로젝트를 할 때, DB 기술 전문업체가 있다는 것을 처음 알게 됐다. 그 전에는 DB 기술 업계가 존재하는지조차 몰랐다. DB 전문업체의 조언으로 프리랜서로서 DB 튜닝 일을 전문으로 하면서 데이터 마트 모델링 프로젝트까지 본격적으로 참여하기 시작했다.

프리랜서의 장점

일반적으로 직장인이 자기를 되돌아 본다면 해가 바뀔 때, 그러니까 1년에 한 번 정도 자기 자신을 되돌아 보지 않을까 한다. 프리랜서인 나는 프로젝트가 끝날 때마다 자신을 되돌아 본다. 1년에 2~3개의 프로젝트에 참여하므로 두세 번에 걸쳐 내 자신을 되돌아볼 기회를 갖는다.

프로젝트에서 잘한 점과 못한 점을 되돌아 본다. 몰라서 못했던 일은 공부할 거리가 된다. 알고도 제대로 못한 일은 반성하면서 다음 번에는 같은 실수를 하지 않겠다고 다짐한다. 프리랜서를 하다 보면 연중 1~2개월 정도 공백이 생긴다. 공백이 생겼을 때, 반은 가족과 여행을 하거나 같이 시간을 보내고 나머지 반은 도서관에서 공부를 한다. 이런 식으로 내 자신에게 피드백을 주면서 DB 분야의 전문가로서 활동하고 있는 내 자신을 격려해 주고 있다.

in_070.jpg

나도 모르게 튜너가 되다

IT 업계 초년생 때의 일이다. 지금은 이름도 얼굴도 기억나지 않지만 한 선배가 해 줬던 말 한마디는 생생하게 기억이 난다. “속도 또는 보안 둘 중에 하나만 제대로 하면 평생 먹고 산다”는 말이었다. 고민 끝에 난 속도만 생각하자고 마음먹었다.

IT의 가장 강력한 특성 중 하나가 속도이므로 지금 가진 기술에 속도 하나를 더 덧붙여 보려고 노력했다. 프로그래머로 일을 할 때도 빠른 속도를 내는 코드를 만들려 하였고, 네트워크 프로그래밍을 할 때도 속도만 생각했다. 그러다 보니 DB를 접할 때도 속도만 생각했다.

한 공공기관 프로젝트에서 성능이 나오지 않아 쩔쩔매던 것을 우연히 튜닝할 기회가 있었다. 놀라보게 성능이 개선되는 경험을 하고나서 이런 일을 계속 했으면 좋겠다는 생각이 들었다. 개발자로 들어갔는데 DB 튜닝에 소질이 보이자, 담당 PM이 아예 SQL 튜닝 업무만 하도록 했다. 내 자신도 모르게 튜너가 된 것이다.

2013년에는 DB 튜닝을 할 수 있는 개발자로서 신세계 SSG.COM 프로젝트에 참여했다. 그 프로젝트는 국내 굴지의 데이터 컨설팅 업체가 모델링사로 참여하고 있었다. 데이터 모델링도 공부를 하고 있었던 참이었으므로 모델링 결과가 궁금했다.

내가 보기에 정말로 훌륭한 모델링이었다. 그 모델링을 했던 모델러를 만날 기회가 있어서 ’정말 휼륭하다’고 했더니 흥미로워 하면서 ‘개발 현장에서 개발자로부터 모델링 결과에 대한 의견을 받기는 처음’이라고 했다. 그러면서 그는 ‘왜 DB 업계에서 일해야 할 사람이 개발을 하고 있나?’ 하고 묻길레 “DB 분야로의 진입 방법을 몰라서 그랬다”고 답했던 적이 있다.

나는 내가 참여하는 거의 모든 개발 프로젝트에서 개발자 대상으로 SQL 작성 가이드 교육과 튜닝 교육을 했다. 꼭 튜너로 참여한 프로젝트가 아니어도 프로젝트 막바지에 응답시간이 느린 SQL문을 선별해 튜닝을 해 준다. 이런 점이 현업고객과 담당자들로부터 점점 DB 튜닝 전문가로서 인정을 받기에 이르렀다. 유명 모델러로부터 모델링 특강에 참여하면서 데이터 전문가 커뮤니티 활동을 늘려 나갔다. SQLD 자격증 대비 대학 특강과 일반인 대상의 튜닝 강의와 병렬처리 특강 강사로 활동하면서 튜너로서 삶을 살게 되었다.

DB 튜너로서 활동했던 대표적인 프로젝트는 한전의 차세대 시스템 구축이었다. 온라인 쇼핑몰 프로젝트에서는 주로 프론트 페이지 속도를 담당했다. 일반적으로 DB 튜닝이라면 금융기관 프로젝트를 먼저 떠올리는데, 나는 주로 공공기관 또는 온라인 쇼핑몰 프로젝트에서 튜닝을 했다.

튜닝과 튜너

튜닝과 튜너는 다르다. 튜닝은 튜닝 지식이 있는 사람이라면 누구나 할 수 있다. 튜닝을 해보다가 어느 정도 결과가 나오기 시작하면 튜너에 도전해 보면 좋을 듯 하다. 튜닝 경험이 한번도 없는 사람이 튜너가 되기는 힘들 것 같다. 튜너라고 해서 모든 SQL문의 응답속도를 높일 수 있는 것은 아니다. 하지만 분명한 이유가 있어야 한다. 이러한 이유 때문에 오라클 튜너라고 말하더라도 하둡이나 기타 다른 DBMS 튜너라고 말하지는 않는다. 튜너는 책임감이나 그 무게 때문에 다른 분야까지 어느정도 튜닝을 할 수 있더라도 해당 분야의 튜너라고 말하기 어렵다.

꼭 튜너가 아니어도 튜닝은 자신을 돋보이게 하는 좋은 기술이다. 개인적으로 튜너는 모델링 결과물을 어느 정도 해석할 수 있어야 하고, 모델러는 튜닝의 기본 개념이 있어야 시너지가 난다. 간혹 어떤 튜닝은 모델을 이해함으로 쉽게 해결되기도 하고, 반대로 모델링 결과물로 인해 튜닝이 어렵게 되기도 한다.

in_071.jpg

4번 도전만에 딴 SQLP 자격증

신세계 SSG.COM 프로젝트를 하면서 DB 전문회사에 들어가려면 어떻게 하면 되는지 궁금했다. 내가 읽고 있는 책의 출판사가 DB 전문 회사라는 것도 처음 알았다. 혹시나 하는 마음으로 회사 입사요강을 살펴보다가 우연히 SQLP라는 자격증을 알게 되었다. 나름 튜닝을 좀 해봤다는 생각에 쉽게 생각했는데 무려 3번이나 떨어지고 2014년에 간신히 SQLP 자격증을 땄다. 인연이 없는 시험이라고 생각하던 차에 아는 분이 ‘마지막이라 생각하고 딱 한번만 함께 시험 보러 가자’고 하여 3번째 시험을 치른 지 6개월 후에 다시 시험을 봐서 4번 도전만에 합격했다.

조금 의아해할 수 있겠지만, SQLP를 도전하면서 [SQL 전문가 가이드]는 별로 보지 않았다. 시험 합격이 목표라기보다 내가 아는 지식으로 시험에 합격해야 한다는, 자격증 취득만을 놓고 보면 다소 답답한 생각 때문에 그랬다. 나는 해당 분야를 공부하기 위해 IT 자격증을 활용한 스타일이다. 자격증을 먼저 따 놓고 공부를 하려면, 의지력이 매우 높아야 한다고 생각한다. 먼저 자격증을 따게 되면 아무래도 나태해질 가능성이 높다. ‘이 자격증을 이미 갖고 있는데!’하는 생각이 들면서 더 공부할 마음이 줄어들 게 뻔하기 때문이다.

얼마전부터 우연히 대학에 SQLD 대비반 특강을 나가는데, 학생들에게 60점으로 붙는 거보다 59점으로 떨어지는 게 낫다는 말을 했다. 60점은 내?격증이 정말 필요하다는 생각이 들겠지만 경력에 걸맞는 실력이 필요하지 자격증 개수가 중요한 게 아니지 않나 생각한다.

소양과 모델러에 대한 꿈

DB 튜닝은 신세계SSG.COM, 한전 차세대 프로젝트 등 대규모 프로젝트에서 오랫동안 쌓아온 실력을 나름대로 검증을 해봤으므로 큰 프로젝트에서 모델링 경험을 쌓고 싶다.

배움에 대한 욕심과 새로운 걸 더 해보고 싶은 생각은 늘 간절하다. 튜너로서 한 공기업의 차세대 시스템 구축 프로젝트를 경험해 보았지만, 대형 사이트에서 모델링 경험은 하지 못했다. 모델러로도 차세대 프로젝트에 참여해 보고 싶다. 하지만 현재로서 데이터 모델러가 갖춰야 할 소양이 부족한 상태라고 내 스스로 생각한다.

데이터를 바라보는 가치관이 만들어지는 과정이 아닌가 싶다. 내가 생각하는 모델링은 한 번 모델링을 한 후, 어느 정도 시간이 지나서 다시 모델링을 했을 때 전후 모델링이 같아야 한다고 생각한다. 만약 다르다면 분명한 이유가 있어야 한다. 그런데 아직 그 점에서 자신이 없다. 이 점이 정립되면 DAP도 제대로 도전해 보려 한다.

스펙과 DB 전문가

나는 서른네 살까지 대학 중퇴자라는 스펙으로 일을 했다. 컴퓨터공학을 공부해야겠다는 생각으로 방송통신대 컴퓨터과학과에 2004년에 편입했다가 2008년에 졸업했다. 한 학기에 6과목씩을 수강했는데, 크게 3개로 분류해 수강과목을 신청했다. 운영체제 이론이나 자료구조 등 새로 공부해야 할 두 과목을 신청하면, 나머지 두 과목은 C나 DBMS 등 자신 있거나 경험이 있는 과목을 선택했다. 나머지 두 과목은 기초영어 등 벼락치기로 할 수 있는 과목을 선택했다.

나는 방송통신대 컴퓨터공학과 출신으로서 대학 강단에 서고 있다. 이 글을 보면 섭섭해 할 동문들이 있겠지만, 일반 대학 졸업장이 없는 상태에서는 그리 내세울 만한 스펙은 아니지 않나 싶다. 그럼에도 대학 강단에 설 수 있는 것은 IT이기 때문에, 그것도 실력으로 인정을 받을 수 있는 분야이기에 가능한 일이다.

MCSE 자격증으로 닷컴 업체에서 근무할 때 만났던 직장 선배 덕분에 일하면서 공부하면서 터득한 것이 있다. 시간은 누구에게나 없다. 다만 시간을 내느냐, 안 내느냐의 차이다. 쉽게 말해 의지의 문제가 아닐까 한다. 작으나마 내가 대학생들에게 좋은 본보기가 되었으면 하는 간절한 바람으로 강단에 선다. 대학생들에게 IT에서 열심히 하면 인정을 받을 수 있음을 내 경험을 들어 강조한다. 사회 초년생 시절 프로그래머로서 일하고 싶다고 이력서를 아무리 보내도 답장이 없어서, 출력해서 직접 들고 다녔다. 그랬더니 면접을 볼 기회를 받았다. 면접을 보면서 내가 대답 못하는 내용에 대해 할 수 있는 만큼 공부를 하면서 다음을 기약했다. 그렇게 몇 번의 면접 끝에 간신히 취업에 성공했다. 나는 이 경험이 지금의 내 자산이라고 생각한다. 이메일로 이력서를 수십수백 통 보내고 취업이 안 된다고 할 수도 있다. 그래도 취업을 포기할 수는 없지 않은가? 그렇게 취업이 안되면 이력서를 직접 들고 자기가 지원하는 회사에 한 번 가보라. 대부분은 안 뽑더라도 반갑게 맞아주고, 조언도 해 준다.

이런 경험을 학생들에게 마음을 담아 말했더니 공감하는 눈치였다. 막연한 희망보다는 삶의 기준이 되는 이상(ideology 理想) 또는 기개(grit 氣槪)를 강조하면 어떨까 하는 생각에서 했던 말이었다. 국어사전에는 기개를 삶을 장기적으로 보고 실력을 쌓기 위해 끝까지 포기하지 않는 강인한 정신이라고 소개하고 있다.

DB 분야의 전망

많이 받는 질문 중에 IT 분야 혹은 DB 분야에서 어디가 전망이 좋은가 궁금해 한다. 이 질문은 어떻게 살아야 나는 행복할까? 하는 질문과 같다. 내가 잘 할 수 있는 분야가 전망이 좋은 분야다. 잘할 수 있는 분야이고 관심이 가는 영역이어야 자신의 길을 찾기 쉽다. 그래서 시간이 걸리더라도 자기가 좋아하는 분야를 찾는 게 우선이다. 내 경우는 IT 분야를 더 이상 하지 않겠다고 떠났다가 되돌아와 내가 이 분야를 좋아하고 잘할 수 있음을 알게 됐다.

게임 개발사에서 나온 얘기를 다시 해야 할 거 같다. 먹고 살기 위해 직장에 다녔는데, 집안에 큰일이 있어도 돌볼 수가 없는데 왜 일을 해야 하나? 하고 회사를 나왔다.

얼마 전, 대학 선배를 만났다. ‘학교 중퇴 후 길을 못 찾을 거라 생각했는데 열심히 살았네!’ 하고 말했다. 나는 나 자신을 위해 뭐든지 열심히 한다. 놀 때도 열심히 논다. 하다못해 당구나 컴퓨터 게임을 하더라도 열심히 했다. 스스로 만족할 정도로 잘해야 직성이 풀리는 성격이다.

DB 튜너로서 보람

DB 튜너는 누가 해결하지 못해 고민하다가 넘어오는 문제를 푸는 역할을 하는 사람이다. 그걸 해결해 주면 와와! 하는 경우가 프로젝트마다 한두 번은 있다. 데이터마트 프로젝트를 할 때도 간혹 대용량 데이터를 처리하기 위해 밤새 쿼리를 수행해도 결과가 나오지 않을 때가 있다. 그 상황에서 쿼리 속도를 크게 줄여주면 모두가 놀라는 경우가 종종 있다. 그 때마다 짜릿한 느낌을 가질 수 있다. 튜닝을 포함해 DB 분야가 적성에만 맞는다면 다른 어느 직업보다 자부심을 갖고 일에서 즐거움을 얻을 수 있을 것이다.

요즘 하드웨어 성능이 좋아지면서 튜너의 역할이 줄어들 것이라고 한다. 그럴 수도 있다고 본다. 하지만 메모리가 싸고 커졌다고 해서 남아도는가? 내가 더 중요하게 바라보는 건 기업이 데이터를 바라보는 관점이 많이 바뀌었다는 점이다. 이제 데이터를 버리지 않는다. 예전과 달라진 또 다른 점은 프로젝트 규모가 작다고 데이터의 양도 작지 않다는 점이다. 많은 기업에서 지금까지 흘려버렸던 데이터를 보관하고 있다가 분석에 활용하려고 한다. 프로젝트 규모는 작아도 데이터 양이나 복잡도는 점점 더 올라갈 수밖에 없다는 말이다. 따라서 튜닝 지식 없이 접근하기는 점점 더 어려워지고 있다. 결국 튜너가 없더라도 튜닝 지식은 필요하다는 얘기다.

한 가지 더 덧붙이자면 하드웨어 성능이 좋아졌다고 모든 SQL문이 빨라질까? 좋아진 하드웨어를 말하면서 한 두개의 SQL문이 느린 건 용납할 수 있을까? 우리가 중요하게 보아야 하는 관점은 기업에서 다루는 데이터의 가치에 있다고 생각한다. 그래서 나는 전통적인 영역에서의 튜너의 역할보다 데이터의 가치 상승에 따른 튜너의 역할이 확대될 것이라는 측면에서 튜너의 미래를 본다. 데이터의 가치가 중요하다면 튜너뿐만 아니라 다른 DB 전문가들의 수요도 늘어나는 것은 당연하다. 현재 그런 현상이 목격된다. 어쩌면 튜너까지는 아니더라도 튜닝 기술은 필요할 것이다.

할 수 있는 일을 하면서 준비하기

하루에 10시간씩 한 달 동안 공부하는 것과 하루에 1시간씩 10달 공부하는 것은 시간을 놓고 보면 같다. 그렇지만 나는 하루 10시간씩 한 달 동안 공부하는 게 더 좋다고 생각한다. 특히 어떤 공부를 처음 시작할 때는 빠르게 기반 지식을 닦고 나서 어느 정도 수준에 오른 후에 꾸준히 해야 효과가 극대화된다고 생각한다.

공부 시간을 확보하기 위해 몇 가지 방식을 시험해 보았다. 아침에 일찍 일어나기, 퇴근 후 저녁시간 이용하기 두 가지 방식은 1년 이상씩 지속해 봤는데 큰 효과를 보지는 못했다. 몇 년 전에 다른 방법으로 효과를 본 공부 방법은 주말 2일 하루 10시간씩 투자해서 5주간 지속하기였다. 오전 9시 도서관에 가서 오후 9시까지 공부했다. 점심, 저녁 1시간씩 식사 후 휴식시간을 가졌다. 하루 10시간씩 이틀씩 5주 동안 하면 100시간이다. 이걸 1년에 3~4회 정도 했다. 1년에 300~400시간이다.

IT 관련 공부는 하루 1시간 해서는 아무것도 못할 수도 있다. 앞서 말했듯 기반 닦기를 끝낸 후에는 가능할지 몰라도 경우에 따라 처음에 4시간 정?? 이상이 걸릴 수도 있다. 주말 이틀씩 5주면 100시간의 공부할 수 있는데, 하루 1시간씩 공부하여 100시간을 채우려면 하루도 빼먹지 않는다 해도 100일이 걸린다. 주말은 쉬어야 하니 빼고, 회식날 빼고, 동창회 빼고, 기념일 빼고 그래도 성실하게 이틀에 한번은 꼭 공부를 했다고 해도 10개월 정도 거의 1년이 걸리게 된다.

내가 조언을 할 수 있는 자격이 되는지 모르겠다. DB 분야를 공부하는 후배들에게 두 가지를 강조하고 싶다. 첫째는 향후 전망이나 소득 수준을 기준으로 접근하지 말고 적성을 따라가라는 것이다. 당연한 얘기지만, 어느 분야든 잘하려면 내 적성과 맞아야 가능성이 올라간다. 둘째는 하고 싶은 일을 위해 공부를 하면서 당장은 할 수 있는 일을 하라는 것이다. 처음부터 폼 나고 멋진 일을 하려면 기회를 잡기가 쉽지 않아 포기할 가능성이 올라간다. 하고 싶은 일을 위해 공부를 하면서 할 수 있는 일을 하다 보면 기회가 주어졌을 때 멋지게 해 낼 수 있을 것이다.

책 한권을 낼 꿈

책을 한 권 쓰고 있다. 후배 하나가 튜닝을 배우고 싶어해서 그 후배와 몇 명이 힘을 합쳐 강의를 시작했다. 처음엔 가르치고 싶은 부분이 정리된 이 책 저 책으로 강의를 했다. 강의를 계속 하다 보니 교재를 만드는 게 낫겠다는 생각이 들어 썼는데, 책으로도 만들 수 있으면 좋겠다고 생각했다. 내가 처음 튜닝을 공부할 때, 입문 책의 수준이 너무 높았다. 같은 내용을 세 번 정도 봤을 때, 무슨 말인지 조금 감이 잡혔다. 그래서 조금이나마 진입장벽을 낮추고 싶었다. 빠른 시간 안에 책이 나올 수 있도록 노력하겠다. (끝)

출처 : 한국데이터진흥원

제공 : 데이터 전문가 지식포털 DBguide.net