자격증

SQLP 시험 후기

초롱불 2024. 8. 25. 22:21

  어제는 SQLP 시험을 쳤다. 데이터 관련 개발자인만큼 데이터 관련해서 남들보다 좀 더 아는 게 좋지 않을까하는 생각에서 시작한 도전이었다. 조금 더 나은 개발자가 되어서 잘 자리잡아야 한다는 조바심도 나를 새로운 공부로 이끌었다. 5개월 전쯤의 일이었다. 시험을 준비하는 건 쉽지 않은 일이었다. 업무는 업무대로 존재했고 이직 준비, 사회활동 등의 이유로 공부할 시간을 내기 어려운 때도 있었다. 그리고 어제 시험을 쳤다. 지금 느끼기로는 합격하기는 어렵지 않을까하는 생각이 든다. 개념이 내 머릿속에 잘 정리되어 있다기보다는 큰 덩어리로 자리잡고 있을 뿐이었기에 시험을 칠 준비는 되어 있지 않은 듯했다. 그러나 시험을 준비하는 과정은 내게 많은 것을 느끼게 했다.

 

  내가 모른다는 사실을 안다는 건 어려운 일이다. SI 개발업계, 스터디 문화가 갖추어지지 않은 중소기업에서 활동할 경우 특히 그렇다. SI 개발은 기능이 구현되기만 하면 뒷일은 신경 안쓰는 면이 있다. SQL 분야에 가서는 특히 그렇다. 대부분의 웹 개발자는 SQL보다는 객체지향이나 이펙티브 자바, 클린 코드, Vue, React 등 프론트 프레임워크, 웹 통신, HTML DOM 구조 등을 배우는 데에 초점을 맞추고 있다. 년차가 낮을 수록 구현하는데에 급급하고 그 구현을 위해서는 위에서 언급한 부분을 잘 만드는 게 중요하기 때문이다. SQL 같은 경우에는 원하는 데이터가 화면까지 전달될 수 있게만 짜면 그만이다. 보통 웹개발을 배우면 많이 주어지고 다루게 되는 영역이 저러한 영역이고 저 분야도 깊게 팔수록 알아야 하는 것도 많으니 SQL까지 다 신경 쓰기는 어렵다고 볼 수도 있다. SQL의 튜닝 영역까지 알아야하는 건 DBA의 역할이니 배울 필요 없다고도 말하는 사람도 있다. 분명 맞다면 맞는 이야기다. 스스로의 개발 영역을 정하고 어디까지 아는 전문가가 될지 정할 능력이 된다면 말이다. 하지만 세상에는 그렇지 않은 개발자가 많다. SQL에 성능 튜닝이라는 영역이 존재하는지도 모르는 개발자가 많고 잘못된 쿼리를 만들면서도 자신이 아무 문제 없는 쿼리를 만들고 있다고 생각하는 개발자도 많다. SI업계에서는 특히. 프리랜서가 모이고 타사 사람들이 모이는 개발현장에서 그 누구도 다른 사람의 수준 낮은 쿼리를 지적할 생각을 하지 않는다. 그 사람의 개발 영역이니 터치하지 않고 프로젝트가 무사히 끝나기만을 바랄 뿐이다. 수준 낮은 쿼리는 개발 당시에는 잘 동작하는 경우가 많다. 데이터가 그렇게 많지 않기 때문이다. 시간이 지나고 데이터가 많아지면 문제가 생기기 시작한다. 그때와서 유지보수 팀이나 회사에서는 인력을 써가면서 SQL 튜닝을 해야하는 손실이 발생한다. 책임감 있는 개발자라면 유지보수 시 최소한의 문제를 일으키도록 노력해야하는 게 당연하다고 생각하는 입장에서 이러한 부분을 막을 수 있는 지식이 있다면 배워야 한다고 생각했다.

 

  SQLP는 이런 내 욕구를 채워줄 수 있는 학습 범위를 지니고 있었다. 내가 어느 정도 아는 듯하던 SQL의 세계를 한 층 더 확장시켰다. 처음부터 데이터베이스의 아키텍처를 탐구하는 것이 흥미로웠다. 데이터베이스를 만든 사람의 고민이 엿보였다. 더 빠르게, 더 많이, 데이터를 다룰려면 어떻게 해야할까. 수정하는 사람과 조회하는 사람이 겹치면 어떻게 해야할까. 데이터의 일관성이 무너지지 않게 하려면, 데이터 테이블을 적절하게 조인하려면, 정렬 순서를 빠르게 맞추려면 어떻게 해야할까? 그런 고민들이 엿보여서 배우는 재미가 있었다. 고민의 끝에는 적절한 해답이 있었고 문제풀이를 좋아하는 입장에서는 개발자들은 정말 대단한 사람이라고 느낄 수 있었다. 그런 고민을 함께 나눌 수 있는 직업이어서 다행이라고 느꼈다.

 

  앞으로도 나는 SQL을 계속 써나갈 것이다. 이제 나는 데이터웨어하우스 및 ETL 전문가로서 자리를 잡을 생각이기에 별 일이 있지않은 이상 SQL을 무척 많이 쓸것이다. 그런만큼 부끄러움 없이 SQL을 쓸 수 있는 사람이 되어야 한다고 생각한다. 계속해서 반복해서 쓰고 읽고 공부해나가서 SQL 만큼은 누구에게도 지지 않는다고 생각할 수 있는 그런 사람이 되고 싶다.