SQL은 엑셀급 필수 스킬이 될 것이
SQL 관련 특강을 진행하면서, 서두에서 왜 우리는 SQL을 공부하는 이유에 대해서 간단하게 작성하게 되었다. 준비한 내용이 아까워서, 브런치에 간단하게 작성해보았다.
어떤 영역이든 시간이 지나면, 그 영역에서 새로운 수준의 기술이 등장하고, 이전에 고급 기술로 평가 받던 기술은 필수 기술, 최소한의 기술로 전락하고 만다. 과거에 토익, 엑셀 능력으로 받던 대우와 지금 받던 대우를 비교해본다면 이해할 수 있을 것이다.
SQL(Structured Query Language) 기술이 딱 그렇다. 요즘 SQL은 비즈니스 분석가뿐만 아니라, PM, 사업개발 등 데이터 기반으로 일을 하는 실무자에게는 필수적인 역량이 되어가고 있다. 그래서 사실 분석가가 되려면을 공부해야한다고 말하기도 민망한 수준이다.
그렇다면 왜 우리는 SQL을 공부해야할까. SQL은 간단하게 설명하면 데이터베이스에 접근할 수 있는 언어다. 정보를 저장, 수정, 출력을 하기 위해 필요한 언어다. 우리가 로컬 폴더의 엑셀 파일을 불러와서 데이터를 처리하던 것을, 데이터베이스에서 불러와서 처리하기 위해 배우는 언어라고 이해하면 좋을 것 같다.
(1) 백엔드 개발자의 시간은 귀하다
SQL을 활용하지 못하는 경우, 보통 필요한 내부 데이터를 추출하기 위해서는 ERP에서 다운로드를 받거나, Jira 등을 통해 백엔드 개발자에게 요청하는 경우가 존재한다.
슬랙을 보면 알겠지만, 백엔드 개발자들은 정말 바쁘다. 슬랙의 날짜 구분선을 기준으로 위/아래는 백엔드 개발자의 메시지가 달려있는 경우가 많다. 서버가 24시간으로 돌아가다보니, 퇴근 후에도 슬랙 알람을 끌 수 없는 것이 백엔드 개발자다.
특히, 백엔드 개발자의 일이 잘못되면 서비스 자체가 돌아가지 않을 수 있다. 이런 백엔드 개발자들은 항상 바쁠 수 밖에 없고, 이런 분들에게 요청하면 당연히 데이터 전달이 늦어질 수 밖에 없다. 간혹 빠르게 전달주시는 경우에는 본인의 업무 흐름을 끊고 도와준 것이기 때문에 전사적인 관점에서는 비효율이 될 수 있다.
(2) 엑셀의 한계를 극복하자
SQL을 배우라고 하지만, 엑셀만 잘 활용해도 실무에서 큰 성과를 낼 수 있다. 엑셀이 제공하는 다양한 통계 분석 기능부터, 데이터 관리 기능까지 다양하게 활용한다면 필요한 문제를 대부분 처리할 수 있다.
다만, 우리가 다루는 서비스의 규모가 커지고, 더 많은 데이터를 다루게 된다면 상황이 달라진다. 엑셀로 처리하기에 꽤나 비효율이 생긴다. 데이터의 양이 큰 스프레드시트에서 특정 칼럼에 함수를 일괄 적용하는 순간, 하단에 ‘계산 중’이라는 안내와 함께 멈추는 경우가 간혹 있다.
물론 SQL도 대용량 데이터를 처리하는 과정에서 가끔 부하가 걸리고, 502 에러가 발생한다. 하지만 확실한 것은 SQL보다 훨씬 더 많은 양의 데이터를 처리하기에 용이하다. 또한 엑셀로 데이터 분석을 활용하더라도, SQL에서 조건문 등으로 일정 부분 전처리를 끝내고 출력한다면 훨씬 더 활용성 높은 데이터를 효율적으로 출력할 수 있다.
(3) 활용해봐야 적재 요청도 잘한다
분석가로 일하다 보면 특정 사업이나 서비스의 기획 단계부터 참여하는 경우도 있지만, 기획 이후의 성과 측정 및 분석 과제를 설정하는 단계부터 투입되는 경우도 많다.
이 때 ‘이 PM님 최고인데?’라고 생각하는 분을 가끔 만나게 된다. 어떤 경우냐면 (1) 서비스를 위한 핵심 지표를 고민하고, 이에 따라 (2) 필요한 데이터 적재를 고민하고, 더 나아가 (3) 분석가가 활용하기 좋은 형태로 적재해주는 경우이다. 1, 2까지만 되어도 훌륭한 PM이라고 느끼는데, 3번까지 된 경우에는 가끔 아우라가 느껴지기도 한다.
가끔 좋은 백엔드 개발자는 실무자의 무지한 데이터 적재 요청에 대해서 효율적인 방안을 논의해주기도 한다. 하지만 많은 경우는 그들도 바쁘다보니, 훗날의 활용가능성에 대한 고려없이 곧이 곧대로 적재를 해놓는 경우가 많다. 이렇게 적재된 데이터를 분석가가 활용해서 실무자들을 도와주려면 애먹는 경우가 너무 많다. 본인이 사용하든, 분석가에게 일을 시키기 위해서든 활용가능한 형태로 적재하는 것이 필요하다.
(4) 다 필요없고, 면접을 보려면 SQL부터
말 그대로다. 요즘 대부분 분석가 채용 프로세스에서 SQL은 필수가 되어가고 있다. 면접이라도 보려면 공부해야한다. 기업들도 프로그래머스 등 코딩 테스트와 관련한 서비스를 제공하는 곳들이 많아지면서, 면접 과정에서 최소한의 실무 역량 파악을 위해서 SQL 코딩 테스트를 도입하는 경우가 많다.
지금은 분석가 직무 중심으로 SQL 코딩 테스트가 이루어지고 있다. 하지만 지금과 같은 흐름이라면, 분석가에게는 개발자처럼 python 코딩 테스트를 요구하는 쪽으로, 그 이외의 실무자들에게는 SQL 코딩 테스트를 요구하는 쪽으로 넘어갈 수도 있을 것 같다.
요약하면 SQL은 이제 분석가가 아닌 사람들에게도 필수적인 스킬처럼 되어가고 있다. 데이터 요청 및 처리 속도를 단축시킬 수 있다는 점뿐만 아니라, 내게 필요한 데이터를 요청하기 위해서도 SQL을 활용하면 좋다.마지막으로 최근 증가하고 있는 SQL을 활용한 코딩테스트를 통과하기 위해서도 우리는 SQL 공부를 해야한다.