ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코딩테스트 대비 스터디 자바반, 이렇게 만들었다 - 준비편
    교육 이야기/운영일기 2019. 5. 30. 15:18

    이 글은 프로그래머스 교육 운영자 에밀리가 '코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Java반)' 를 준비하며 있었던 일을 회고하는 글입니다.

    전적으로 온라인에서 진행했던, 자바 유저를 위한 코딩테스트 대비 스터디

    지난 3~4월, 총 약 4주간 20여 명의 스터디원들과 함께 코딩테스트 대비를 위한 프로그램을 진행했다. 시기가 시기이니만큼 상반기 테스트를 노리는 인원이 많았는데, 사실 예상한 것 보다 훨씬 많은 인원이 참여해서 준비하며 꽤 긴장했던 기억이 난다.

    과정은 전적으로 온라인에서 진행했고, (1) 개념별 필수 문제 큐레이션 (2) 온라인 세션을 통한 문제풀이 (3) 스터디원들이 작성한 코드를 GitHub에서 리뷰하는 것이 주된 활동이었다. 지금은 약간의 휴식기간을 가진 뒤 하반기를 노리는 분들을 위해 2기를 준비 중인데, 많은 분들께서 정말 이게 100% 온라인에서 진행이 되는건지 또 코드리뷰에서는 어떤 내용이 오고가는건지 무척 궁금해하셨다.

    그래서 전반적인 진행 과정을 소개할 겸, 회고록을 공유해본다. 이 과정에 관심이 있는 사람들이라면 누구나 한 번 읽고, 본인이 참여할 과정의 설계 배경에 대해 알고 참여했으면 좋겠다. 내용이 좀 길어 준비편과 실전편으로 나누어 작성했다.

    왜 이런 걸 만들었나

    프로그래머스 말고도 이미 숱한 교육 기관 혹은 관련 웹사이트에서 빠지지 않는 주제가 '코딩테스트 준비', '알고리즘, 자료구조 문제' 와 같은 것들이다.

    주니어 개발자들 중 많은 수가 코딩테스트를 막연히 두려워하고, 또 몇 번 테스트에서 고배를 마셔본 경우 굉장히 마음에 큰 상처를 받기도 하기에 이러한 점을 자극하는 교육 콘텐츠는 많이 나올 수 밖에 없다. 많은 사람들이 통과하고 싶어하는 하나의 관문인 것이 자명하므로 세일즈 메시지를 던지기에도 좋은 것이 사실이다.

    이미 많은 관련 콘텐츠가 있음에도 불구하고(경쟁할 상대가 많음에도) 내가 이 온라인 스터디를 만들었던 이유가 몇 개 있는데,

    1. 프로그래머스가 가진 다년간의 코딩테스트 운영 경험을 활용해서 더 나은 과정을 만들 수 있을 것 같다는 확신
    2. 사이트 내의 '코딩테스트 문제 연습' 기능을 통해 수집한 각종 데이터가 좋은 자산이 될 거라는 믿음
    3. 실무 경력이 풍부한 리더를 섭외하여, 문제풀이 뿐만 아니라 면접 시 주의점, 개발 전반에 대한 조언을 주고 싶은 마음

    정도를 대표적으로 꼽을 수 있겠다.

    요약하자면 코딩테스트에 대한 두려움을 막연하게 자극해서 문제만 풀게 하거나, 유형을 외우게 하는 등의 과정을 만들고 싶지 않았다. 프로그래머스가 가진 데이터를 충분히 활용하고, 주니어를 이끌어주는 데에 충분한 역량과 리더십이 있는 누군가가 그 내용을 이끌게 하면 한 차원 높은 과정을 만들 수 있을거라는 확신이 있었던 것이다.

    첫 단계, 문제 큐레이션

    스터디의 핵심은 주어진 문제를 풀고, 풀이한 코드를 코드리뷰 하는 것이기에 스터디원들에게 어떤 문제를 주어줄까에 대한 고민이 많았다. 팀원들과 머리를 맞대어 고민하면서 총 29개의 문제를 큐레이션했는데, 프로그래머스 연습 문제로 공개된 것들 중 아래의 고려사항에 부합하는 녀석들을 뽑아내었다.

    1. 각 알고리즘, 자료구조 개념을 이해하는 데에 가장 적합하다고 판단되는 문제들로 구성할 것
    2. 프로그래머스의 운영 경험을 토대로 가장 테스트에 많이 등장하는 유형과, 많이 실수하는 유형들을 꼭 끼워넣을 것
    3. 출제 빈도는 낮으나 고득점을 위해 노릴 만 한 문제들도 몇 개 넣을 것

    해당 문제들을 난이도에 따라 4주차로 나누어 배치했다.

    큐레이션한 문제들의 일부
    문제들은 모두 이렇게 생긴 프로그래머스 문제풀이 환경에서 풀고, 결과를 볼 수 있다. 만약 학습에 이 웹 환경이 불편하다면, 본인이 편한 IDE에 코드를 붙여넣어서 실행해보아도 괜찮다.

    두 번째, 리더 구하기

    4주에 맞춰 문제까지 모두 준비했고 각 문제를 어떻게 설명할지도 대략 계획을 해두었으니, 이를 본인의 스타일과 접목하여 현실화할 수 있는 전문가가 필요했다.

    당연히 자바 전문가가 필요했고, 풍부한 조언을 주려면 실무 경험이 많은 사람이어야했다. 그리고 무엇보다도 이 기획에 공감할 수 있고, 주니어 개발자의 성장에 관심이 많은 사람이어야만 했는데 감사하게도 그가 하늘에서 떨어졌다.

    오오, 스터디 리더여

    리더 곰튀김, 실명 송치원님은(왜 굳이 곰을 튀겼냐고는 본인에게 따로 물어보자) 프로그래머스가 큐레이션한 29개의 문제를 모두 직접 풀어보았고, 일부 어려운 문제는 더 나은 솔루션이 없는지 우리와 함께 적극적으로 고민했다. 무려 퇴근하고 우리 사무실에 오셔서 함께 문제풀이와 설명 방식 설계에 집중하는 열정도 보여주셨으니, 운영을 준비하는 입장에서 그 모습을 보는게 얼마나 뿌듯했는지 모른다.

    세 번째, 스터디원 모집

    열심히 준비하긴 했지만, 솔직히 어느정도 가격이 있는 과정이니 그렇게까지 많은 사람이 참여하긴 힘들 수 있겠다고 예상했다. 보통 코딩테스트에 가장 막막함을 느끼는 대상자가 주니어, 아니 더 내려가서 이제 주니어가 되려는 취준생인 경우가 많기 때문이다.

    하지만 그만큼 그들을 돕기위해 열심히 준비한 것이 사실이니, 일단 우리가 준비한 내용을 최대한 명쾌히 설명하고 열심히 모집에 집중했는데 결과적으로 20명의 스터디원들을 만날 수 있었다.

    사실 대학생이 60% 이상일거라 예상했는데, 재직자들의 참여율도 높았다.

    위 차트를 보면 알겠지만 취준 대학생, 졸업생 외에도 이직을 계획하는 실무자의 비율이 적지 않다. 주로 확실히 이직 계획이 있으신 분들이 많았는데, 웹 백엔드 직무로 이직하고 싶어 새로 공부를 시작한 케이스가 많았다. 비전공자의 비율은 약 25%, 나머지는 모두 대학교 정규 커리큘럼을 통해 알고리즘이나 자료구조를 접한 경험은 있는 분들이었다.

    이렇게 다채로운 인원을 온라인에서 한 데 모아, 3월 18일 월요일부터 4주 과정이 시작되었다. 스터디 첫 시작으로 온라인 동시접속 세션을 진행하였고 과정에 대한 간단한 소개, 각자 목표하는 바에 대한 공유와 1주차에 다룰 개념들에 대한 소개 그리고 문제풀이가 이어졌다.

    다음 편 '실전편' 에서는 온라인 세션에서 어떤 이야기가 오고갔는지, 코드리뷰는 어떻게 했는지 등 실제 과정의 비하인드 스토리를 더 공유하도록 하겠다. 실전편 보러가기

    코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Java반) 2기 자세히 보기

    과정과 관련한 문의는 언제든지 교육운영자 에밀리에게 이야기해주세요. emily@grepp.co

    댓글

Programmers