데이터 분석가 취업을 위한 SQL! 40건 이상의 프로젝트로 꾸준히 데이터를 다뤄온 홍형경 강사님 인터뷰
러닝스푼즈 나노디그리 [TO BE! DATA ANALYST] 과정 중 ‘데이터 이해를 위한 SQL’ 강의를 맡으신 홍형경 강사님을 만나 대화를 나누었습니다. 40건 이상의 프로젝트 진행, 책 집필 등 다양한 활동을 해오신 강사님의 생생한 실무 이야기를 들어볼까요?
Q. 안녕하세요. 홍형경 강사님! 수강생분들께 간단하게 자기소개 부탁드립니다.
네. 안녕하세요. 저는 이번 [TO BE! ANALYST] 과정에서 SQL을 담당하게 된 홍형경입니다. 저는 약 20년간 IT 현장에서 개발자로 일하며 수 많은 프로젝트를 수행해왔고, 최근 10년간은 주로 SQL과 PL/SQL을 사용해 기업의 업무 시스템을 구축했습니다. 여기서 말하는 ‘업무 시스템 구축’이란 기업 내 해당 업무를 분석한 뒤, 이를 처리하기 위해서 데이터베이스 설계와 데이터베이스 내에서 수행되는 프로그램들을 개발해왔습니다. DB 마이그레이션, DW 시스템 구축 프로젝트도 다수 수행한 경험이 있습니다. 이런 IT 프로젝트 외에도 SQL 관련 서적을 집필했으며 IT관련 서적 다수를 번역해왔습니다. 가장 대표적으로 최근 집필한 [누구나 쉽게 SQL]이라는 책이 있습니다.
Q. 와, 정말 오랜 기간동안 다양한 프로젝트를 진행해오셨네요! 그리고 틈틈이 관련 도서도 집필하셨구요. SQL에 대해 누구보다 잘 알고 계실 것 같아요. 공통적으로 우리가 SQL을 왜 알아야 하는지 말씀 부탁드립니다.
과거 어느 때보다 지금 데이터에 대한 중요도가 높아지고 있고 사람들의 인식도 변화하고 있습니다. 가령 어느 TV토론 프로에서 두 전문가가 나와 자신의 주장을 펼치는데, 한 사람은 자신의 전문지식을 기반으로 주장을 펴는 반면 다른 한 사람은 관련 데이터를 가지고 분석해 설명할 경우, 여러분은 둘 중 어느 전문가를 더 신뢰하게 될까요? 대부분의 경우 후자일 겁니다. 과거부터 현재까지 수 많은 기업에서 RDBMS(관계형 데이터베이스 관리시스템)를 사용해 데이터를 관리합니다. 전 세계에 걸쳐 RDBMS가 출현한 40여년 전부터 지금까지 엄청난 양의 데이터가 RDBMS에서 관리되고 있습니다. SQL은 RDBMS에 있는 데이터를 가져오고, 수정하고, 관리하는데 필요한 의사소통 도구이자 언어입니다. SQL을 모르고 데이터를 손댄다는 것은, 마치 영어 한마디도 모른 채 미국에 가는 것과 마찬가지입니다. 따라서 데이터에 관련된 일을 하기 위해서는 반드시 SQL을 알아야 한다고 생각합니다.
Q. 우리 과정은 데이터 분석가 취업을 목표로 하는 수강생분들이 모이는 과정인데, 그렇다면 데이터 분석가로서 SQL을 안다는 것은 어떤 강점을 가질 수 있을까요?
사실 데이터 분석가라고 하면 우리가 알고 있는 R이나 파이썬같이 데이터 분석 도구만 쓸 줄 알면 되지 않냐 하시는 분들이 많을 겁니다. 이런 상황에서 SQL을 안다는 것은 굉장히 큰 경쟁력이 되는 것이죠. 먼저, 데이터 분석가로서 첫 번째로 알아야 할 것은, 분석할 데이터 집합에 대한 깊은 이해라고 생각합니다. 분석 대상이 되는 데이터 집합을 조사한 뒤 그 구조를 파악하고 오류 데이터를 찾아내고 어떤 의미 있는 정보를 담고 있는지 알아내는 것까지. 데이터 분석가라면 기본적으로 데이터 자체를 이해하고 있어야 하는데, 이에 있어 SQL이 큰 도움이 됩니다. 둘째, 많은 데이터 분석 작업은 RDBMS에 있는 대량의 데이터를 이용하게 됩니다. 데이터 양이 많을수록 데이터 분석의 정확도가 높아지겠죠. 그런데 대량의 데이터를 다룬다는 것이 말이 쉽지, 굉장히 많은 시간을 요하는 작업입니다. 예를 들어, 대상 데이터의 수가 천만 건이고, 이를 정리, 가공하는 작업을 엑셀에서 한다고 가정해봅시다. RDBMS에서 데이터를 가져왔다고 해도, 이 데이터를 엑셀로 옮기는 작업도 만만치 않지만, 엑셀에 천만 건 데이터를 넣어 놓고 엑셀 함수를 돌리면 과연 그 연산 결과가 빠르게 나올까요? 아마 컴퓨터가 하는 일 치고는 꽤나 오랜 시간이 걸릴 것입니다. 반면 SQL을 사용하면 천만 건의 데이터를 RDBMS 내에서 직접 처리, 가공해 필요한 데이터만 추출하는 작업을 훨씬 짧은 시간에 처리할 수 있습니다. 덤으로 SQL은 배우기 쉽고 사용하기 쉽습니다. 상대적으로 적은 노력을 해서 많은 이득을 얻을 수 있는 것이 SQL이라고 생각합니다. 요즘 기업의 마케팅, 기획 담당자들도 SQL을 배우려고 하는데, 하물며 데이터 분석가라면 SQL을 반드시 알아야 하지 않을까요?
Q. 역시 SQL을 활용해 오랫동안 프로젝트를 수행해오며 느끼셨던 경험에서 우러나오는 조언이라는 게 느껴집니다. 그런 강사님께서 강의를 한다는 것 자체에서 수강생분들이 많이 기대하실 것 같아요. 그럼 수업에서는 주로 어떤 내용을 다룰 예정이신가요?
우선 비전공자나 입문자도 쉽게 SQL을 배우고 익힐 수 있도록, 최대한 여러분이 이해하기 쉽게 수업을 진행할 예정입니다. 해당 강의를 통해 SQL에 대한 기초를 단단히 다져 수강생분들이 스스로 SQL을 활용하여 데이터활용능력을 확장할 수 있도록 하는 것이 목표입니다. 수업은 이론과 실습을 반복하며 진행될 예정이며, 이론 부분은 비교적 덜 중요한 부분을 제외하고 데이터 분석가로서 꼭 필요한 내용만 짚어서 정리합니다. 또한 이론과 관련된 실습은 실용적인 예제를 포함시켜 좀 더 현장감 있게 진행할 예정입니다.
Q. 이 수업이 끝난 후, 배운 내용을 수강생 분들이 어떻게 활용할 수 있을까요?
본 과정은 데이터 분석가 과정이며, 그 일환으로 SQL을 배웁니다. 데이터 분석을 위해서는 분석 전에 데이터를 수집하고 원하는 형태로 가공해야 하는데, SQL을 잘 다룰 수 있다면 데이터를 추출하고 가공 및 집계하는 작업들을 매우 쉽고 빠르게 처리할 수 있게 됩니다. 또한 머신러닝을 사용하기 이전 단계의 데이터 분석도 SQL을 이용해 충분히 수행할 수 있기 때문에 SQL을 안다는 것은 데이터 분석가에게 큰 도움이 될 것 입니다. 실제 많은 기업에서 SQL을 사용해 마케팅, 경영관리 등을 위한 용도로 매출, 손익에 대한 분석을 하고 있습니다. 본 수업을 통해 익힌 SQL에 대한 지식을 활용하여 기본적인 데이터 추출, 집계 처리, 분석을 손쉽게 수행해보세요.
Q. 끝으로 수강생들에게 하고 싶으신 말이 있다면?
R이나 파이썬도 마찬가지겠지만, SQL을 잘 다루기 위해서는 많이 실습해 보는 수 밖에 없습니다. 다행히도 SQL은 다른 프로그래밍 언어에 비해 직관적이고 배우기 쉽습니다. 데이터를 대상으로 SQL 작성을 통해 그 결과를 확인하고, 만약 잘못된 결과가 나왔다면 그 원인이 무엇인지 파악해 가는 과정을 반복하다 보면, 어느 순간에 실력이 향상된 것을 느끼실 수 있을 것입니다. 강의 후 복습을 하면서 SQL을 작성하는 시간을 많이 가지는 것이 좋다고 말씀드리고 싶군요. 그리고 작성한 SQL문을 실행하고 원하는 결과를 얻었는지 확인해보는 습관을 들이는 것도 학습하는데 큰 도움이 될 것이라 생각합니다. 본 강의가 데이터 분석가로 가는 길에 큰 보탬이 되길 바랍니다.
▼데이터 분석가로 커리어를 시작하고 싶다면?▼