요즘은 기획자도 SQL 능력이 필요하다. 그럼 기획자에게 SQL은 어느 정도 실력이면 충분할까? 나는 그 기준이 '책을 보지 않고 기획에 필요한 데이터를 뽑아낼 수 있는 정도'의 수준이라고 생각한다. 내 생각엔 빠르면 3개월 정도 단기간 공부해도 실무에 필요한 정도의 실력을 쌓는 게 가능하다고 생각한다.
시작이 막막하고 어려워도 막상 공부해보면 정말 별거 없고 쉽다. 내가 했던 공부 방법을 공유해보고자 한다.
SQL을 처음 접해본 사람이라면 기초 책을 한 권 골라서 처음부터 끝까지 따라 해 보면서 읽어보는 것을 추천한다. 서점에 가면 기초 책이 정말 많고, 거의 비슷하기 때문에 어떤 걸 골라도 상관없다.
이 단계에서는 SELECT, FROM, WHERE, JOIN, GROUP BY가 뭐고 어떨 때 쓰는지 정도만 배우면 된다. 책에 나온 예제를 따라서 쳐보면서 감을 익히면 된다. 프로그램을 설치하지 않고도 SQL fiddle이라는 사이트에서 실습해볼 수 있다.
- 실습 사이트 : http://sqlfiddle.com
- 추천 책 : 모두의 SQL
자격증을 따는 것이 큰 의미가 있는 것은 아니지만, 이론 공부하기엔 SQLD가 가장 좋은 것 같다. 특히 비전공자는 기본적인 DB에 대한 정보를 접할 기회가 전혀 없기 때문에 자격증 공부하면서 배운 지식들이 나중에 도움이 많이 되었다. 예를 들면 정규화 개념이나, group by와 distinct의 차이점이라던가. 이론이 실무에서 무슨 도움이 되냐고 반문할 수 있는데, 데이터를 추출할 때 DB를 접하다 보면 이런 개념들을 알고 있어야 할 때가 오게 된다.
기간은 1개월 ~ 3개월 정도 걸리는데 회사를 다니면서 하려면 넉넉히 3개월 정도 기간을 두고 공부하는 게 좋다. 내가 생각하는 제일 좋은 공부 방법은 한국데이터산업진흥원에서 만든 가이드 책 목차 순서대로 2 회독하는 게 가장 효율적이고 빠른 것 같다. (이 책이 두꺼워서 겁날 수 있는데, SQLD의 시험 범위는 책의 1/3만 공부하면 된다.) 그 뒤 실전 문제 교재로 기출문제를 풀면 거의 대부분 합격한다.
- 추천 책 : SQL 전문가 가이드, SQL 자격검정 실전문제
3단계가 가장 중요하다. 배운 걸 실무에서 최대한 많이 써봐야 한다. 그래야 실력이 향상될 수 있다. 그전까지는 이론에 지나지 않는다. 내 경우엔 실무에서 쓴 지 한 6개월 정도 지나니, 책을 보지 않고도 자유자재로 쿼리를 작성할 수 있게 되었다.
설령 회사나 팀에서 SQL을 쓰지 않는 환경이라고 해도, 호시탐탐 작은 기회를 만들어서 SQL을 써보려고 하거나 회사 교육을 받는 등 노력을 하다 보면 운 좋게 기회가 생기게 되는 것 같다. 계속 접하다 보면 기회가 점점 확장되기도 한다.
당장 실무에서 SQL 쓸 일이 없다면, 스터디로 공부하면 좋다. 안 쓰면 까먹기 때문에 억지로라도 지속적으로 공부할 수 있는 환경을 마련하는 게 중요하기 때문이다.
나는 블라인드라는 직장인 커뮤니티 앱에서 5명 정도 인원을 모집해서 1년 이상 꾸준히 스터디로 공부했다. 인강을 정해서 정해진 분량을 공부해도 되고 방법은 여러 가지겠지만, 나는 '데이터 분석을 위한 SQL 레시피'라는 책을 2회독 했다. SQL 실력이 중급 정도 되는 분이라면 이 책으로 공부하는 걸 강력 추천한다. 실무에서 유용하게 쓸만한 함수들을 소개해주는데, 실제로 업무에서 많은 도움이 되었다.
- 추천 책 : 데이터 분석을 위한 SQL 레시피
위와 같은 방법으로 공부하니 어느 순간 내가 원하는 데이터는 추출할 수 있게 되었다. 더 이상 책에 의존하지 않고 쿼리를 술술 작성하는 내 모습을 보면 정말 뿌듯하다. 개인적인 뿌듯함을 넘어서 나는 이번에 이직할 때 SQL을 잘하는 것이 많은 도움이 되었다.
최근에는 직장동료한테 ‘SQL 잘해서 전공이 컴공인줄 알았다’는 말을 들었다. 요 근래 들은 말 중 최고 기분 좋은 칭찬이었다. 그 캡처본을 남기며 글을 마친다.