온라인 강의 제작기
사내 SQL강의를 종종 했던 것이 계기가 되어 최근 여러 종류의 SQL 강의를 진행하고 있다. 사내 동료분들이 지인분들을 소개해주기도 했고, 평소 알고 지내던 지인들이 강의를 시작한 것을 알고 운이 좋게도 출강을 부탁해주셨기 때문이다.
SQL을 알려드리는 일은 원래 좋아했기 때문에 강의 자체는 매우 즐겁게 진행할 수 있었고, 때때로 덕분에 실무에서 개발자분들에게 요청하지 않고도 데이터를 추출해서 쓰신다는 이야기를 듣고 나면 그렇게 기쁠 수가 없었다.
문제는 학습자님들께 자습 자료로 추천드릴 강의를 큐레이션 하면서 나타났다. 원데이, 혹은 2-3회로 진행되는 짧은 과정만으로는 SQL 언어를 학습하시기에는 부족한 시간이기 때문에 독학할 수 있는 강의를 말미에 추천드리고 싶어서 국내외의 여러 SQL 온라인 강의들을 탐색했었다.
강의를 찾으며 만난 문제들은 크게 아래와 같았다.
1. 한국어로 된 강의가 부족했다.
- 맨 처음에는 데이터를 공부하며 즐겨 찾았던 Coursera에서 해외 유명 강의 중 SQL 관련한 강의를 찾아 커리큘럼을 꼼꼼히 읽어보았다. Coursera에만 SQL 강의도 크게 1) DB를 다루고 관리하기 위한 지식을 포함한 SQL 강의와 2) 분석을 위한 Read문에 집중한 SQL 강의가 있었다. 학습자님들은 현재 마케터/기획자/Business Development를 본업으로 하시면서 SQL을 활용하고자 하는 분들이었기 때문에 후자가 더 적합하다고 생각해서 2)의 강의를 추천드렸다. Coursera는 강의 청강의 경우는 무료이기 때문에 비용적인 고민도 없을 것 같았고.
- 추천을 드리고 얼마간 뒤에 학습자님께 연락을 할 기회가 있어, 강의 잘 듣고 계시는지를 물어봤었는데 영어라는 부분이 부담스러워 진행을 못하고 계시는 분이 대다수라는 말을 듣고 매우 아쉬웠다. 혹은, 추천을 드리면서도 영어라는 말씀을 드리니 그러면 됐다며 링크조차 전달드리지 못했던 상황도 종종 연출되곤 했다.
- 코세라에서는 부분적으로 한글 자막을 지원하고는 있었지만, 해당 강의에 대해서는 한글자막을 지원하지 않고 있어 별 수 없이 한글로 된 콘텐츠를 다시 찾아 나섰다.
2. 강의를 듣는 학습자의 배경지식을 고려하지 않았다.
- 어렵사리 한국어로 만들어진 강의를 찾더라도 강의의 난이도와 구성이 잘 맞는지는 별개의 문제였다.
- 사외 출강을 진행하며, 내가 진행하기 이전에 이미 SQL 강의를 한 차례 진행했다는 이야기를 들었다. 그러면 왜 다시 SQL강의를 요청하게 되었는지를 물으니, 이전 수업에서 들은 것들을 실무에 적용하기가 어렵고, 어떻게 활용해야 할지 감을 잡기가 힘들다는 피드백이 돌아왔다.
- '이전 강의는 어떤 내용이었을까?'가 궁금해서 이전에 진행된 강의자료를 받아 살펴보니, 강의 처음부터 ERD, 테이블 정규화 등등.. 단순히 SQL을 활용하고 싶어 하는 사람들 입장에서는 무거울 수도 있는 내용들이 쏟아지고 있었다.
- 물론 이런 개념들은 DB를 제대로 다루고자 할 때에는 매우 중요한 개념들이다. 그리고 물론 분석을 하는 사람도 알아야 하는 지식임에는 틀림이 없다. 그러나, DBA가 되는 것이 목적이 아닌 현재 하고 있는 업무에서 활용을 시작하려는 컴퓨터 공학 지식이 아직 없는 학습자 분들에게 처음부터 전달하기에는 초반 동기부여상 좋지 않을 수도 있다는 생각이 든다.
- 논외로 이런 부분들은 나중에 차근차근 이해되도록 전달의 순서를 세심하게 배치하는 것이 필요하다고 생각한다. 가령, RDB라는 관계형 데이터베이스 하에서 각각의 테이블들이 어떻게 관계를 맺고 있는지를 알려주는 ERD라는 개념을 미리 알려드리는 것보다는 테이블 하나에서 쉬운 쿼리도 날려보고, 조건도 걸어보시다가 나중에 테이블들을 연결해서 추출하고 싶은 생각이 드실 때 알려드리는 것이 좀 더 처음 접근하는 사람 입장의 두려움을 덜어드리는 방법이라는 생각이 든다.
3. SQL을 실습하고 물어볼 수 있는 환경이 부족했다.
- 출강을 나가면서 느낀 점이 하나 있었다. SQL이라는 언어가 다른 언어들 대비 학습과 실습을 동시에 할 수 있는 환경을 접하기가 상대적으로 어렵다는 것이었다.
- 사내에 SQL을 통해 쿼리를 날려 우리 회사 데이터에 접근할 수 있는 환경을 구축해 둔 회사도 아직 많지 않을뿐더러, 대부분의 회사는 운영계 DB 하나만을 운영하고 있기 때문에 많은 백엔드 개발자들이 아무에게나 View Account 계정을 주는 것을 매우 기피하기 때문이다. 학습을 하는 현업분들께서도 View 계정을 받을 수 있다는 사실을 모르시는 분들도 많기 때문에, 결국 대부분은 Adhoc 요청 등을 통해 개발자 분들께 데이터를 받아보는 상황이었다.
- 취업준비생 혹은 비 IT회사에 다니시며 공부를 하려고 하시는 분들의 경우에는 환경을 찾기가 더 어렵다. 여타 다른 언어들(Ex;Python, Java)은 코딩 테스트를 준비하는 사이트들에서 문제를 풀고 채점을 할 수 있지만 SQL의 경우에는 그런 사이트가 많이 부족하기 때문이다. (그래도 해커랭크와, W3school에서는 SQL을 웹에서 실행해볼 수 있는 미니 환경을 제공해주고 있다.)
- 회사에 재직 중인 분들은 개발자분들에게 물어볼 수 있는 인적 인프라가 상대적으로 나은 편이지만, 회사 밖에 계신 분들의 경우에는 모르는 것이나 에러가 나타났을 때 물어볼 수 있는 곳도 제한적이기 마련이다.
- 프로그래밍을 배우는 과정이란 것은 수많은 시도와 실패가 필요한 영역이다. 단순히 학교와 학원에서 하던 방식의 지식 전달에서 끝나는 과정으로는 이 언어를 충분히 맛보고 이해하기에는 어려움이 있기 때문이다. 그래서 더더욱 누군가에게 물어보고 같이 학습을 해나갈 동료 학습자 분들의 존재가 더 필요하다.
시중에는 이미 여러 가지 SQL 온라인 강의들이 나와있다. 어떻게 보면 그중에서 하나를 추천드리고 지금 이 상태로 계속 진행해도 별 문제는 없을 것이다. 하지만 문제가 이쯤까지 보이니, 한번 오프라인에서 진행했던 콘텐츠들을 가지고 내가 이런 문제들을 해결할 수 있는 강의를 제작해보자는 생각으로 이어졌다.
단순히 오프라인에서 만난 학습자님들께 전달 드릴 용도로 끝날지, 아니면 어디인가에 올려 다른 사람들과 공유하게 될지는 아직 기획단계라서 잘 모르겠다. 분명 오프라인에서 실시간으로 커뮤니케이션하며 진행하는 강의 형태와 온라인의 형태는 큰 차이점이 있을 것이라는 생각도 들고, 그러려먼 공개가 가능한 수준까지 올리기에는 많은 시행착오가 예상되기 때문이다.
하지만 일단 한번 강의로 인연을 맺은 학습자님들께는 최고의 강의를 드리고 데이터에 접근할 수 있는 자유를 경험하게 해드리고 싶다는 목표가 분명히 있다. 스타트업에서 배운 것은 에자일이라는 이름의 삽질(..)과 개선의 반복뿐인데 이를 토대로 한번 내 강의를 끝까지 만들어볼 요량으로 브런치 글을 박제해본다. 박제 꽝
(업데이트)
인프런에서 SQL강의를 진행하고 있습니다. 글을 재미있게 읽으셨다면 아래 링크에도 한번 오셔서 SQL 강의를 확인해보세요. 저에게 큰 힘이 됩니다. 강의 구경하러가기