티스토리 뷰

개발자가 되기 위해 "부트캠프" 과정을 시작한 동생

  • 비전공자인 동생이 온라인으로 진행되는 부트캠프 프론트엔드 개발자 과정을 시작하게 되었다.
    • 내가 풀타임으로 가르칠 여건도 안 되고 자신도 없다. → 여러 좋은 유/무료 교육 과정이 있다.
    • 나는 옆에서 조금 도와주는 멘토 역할을 할 뿐
  • 일단 내가 개발자로 있으니, 동생을 도와주어야겠다는 생각이 들었고, 매주 모르는 것을 질문하는 Q&A 세션을 진행했다.
    • 알아서 부트캠프 강의 듣고 커리큘럼에 잘 따라가는 것과 별개로, 모르는 것들을 질문할 수 있는 시간으로 두었다. (부트캠프 과정에서 별도의 멘토링이 존재하지 않았음)
    • 하지만 몇 번 Q&A 세션을 진행할수록 개인적으로 채워주고 싶은 부분들이 보이기 시작했고, 이제는 멘토링 할 때 나름의 기준이 생겼다. (물론 나는 전문 교육자가 아니고, 교육 경험이 부족하기 때문에, 내가 세운 나름의 교육 철학이 미래에는 시행착오가 될 수 있다. 더 좋은 방법이 있다면 언제든 환영...)
  • 동생은 부트 캠프를 시작한지 얼마 안 되었을 때, 이미 밤새 코딩에 몰두하며 아침 해가 뜨는 경험까지 할 정도로 흥미가 어느 정도 붙은 상태.
    • 즉, 동생이 동기부여가 되게끔 내가 따로 노력할 필요가 없었다. (다행히도...)

Q&A 세션: 주 2회 / 회당 2시간 정도 진행 중

(처음에는 회당 1시간이었다. 하지만 잘 따라오는 게 눈에 보이다 보니 가르치는 재미가 있어서 어느샌가 2시간이 되어버렸다. 초반이라 생각보다 시간을 많이 들인다고 생각 중, 점차 줄여 갈 예정.)

강의 내용만 따라가다보면 발생하는 문제

  • 스스로 문제를 해결하는 능력 부재
  • 주어진 지식만 습득하다 보니, 정작 필요한 지식을 스스로 터득하는 방법 부재
    • 필요한 지식이 무엇인지 파악하는 능력(내가 모르는 게 무엇인지 알아야...)도 부족함.
    • 필요한 지식이 무엇인지 알았다면, 그때는 스스로 터득하는 방법이 필요
  • 제한된 시간 내에 강의 내용에서 모든 것을 챙길 수 없음 → 강의 내용에'만' 의존하면 안 됨
    • 때로는 너무 복잡한 개념을 한 번에 설명하는 것은 더 어렵게 느껴질 수 있기 때문에 강의에서는 충분히 넘어갈 수 있다고 생각함
      • 대신 스스로 "왜?"를 생각하도록 만들 필요가 있음 (궁금증을 가지는 것부터 시작)
      • 보충이 필요한 부분은 스스로 탐구해 볼 수 있도록 더 심화 주제를 던져주기도 했음

Q&A 세션을 진행할 때 내가 코칭 하는 방식

1. 문제를 잘 해결하기 위해서는 본인이 겪는 문제를 잘 설명하도록 유도

  • 생각을 날것으로 표현하도록 유도
    • “네가 지금 생각하고 있는 것을 그대로 말을 해봐, 무엇이 문제인지 몰라서 질문하기가 애매하다면 그 사실도 말로 그냥 표현해도 돼”
  • 잘 풀리지 않는 알고리즘 문제에 대해 질문한다면, 코칭 과정에서 내가 직접 코드를 읽지 않고, 동생 본인이 코드 의도를 나에게 설명하도록 함.

2. 항상 본인의 터득한 지식을 설명할 수 있는 단계까지 유도

  • 설명하는 것의 필요성/중요성 강조
    • 네가 배운 것을 설명해 보라고 하는 것은 내가 “검사하는 게 아니라”, 피드백을 주기 위함인 것을 강조 (심리적 거부감 방지)
    • 정확한 이해를 유도
      • 남에게 설명하려면 더 정확히 알아야 함
      • 나에게 설명하면서 본인이 잘못된 걸 깨닫고 스스로 정정할 때는, 고무 오리 meme을 보여주면서 “네가 지금 이런 케이스다 ㅋㅋ” 하면서 재미를 유도 (남들도 나와 똑같은 경험을 한다를 인식)
    • 모르는 부분을 직접적으로 노출할 수 있음
      • 무엇을 모르는지 정확히 파악하고 심화 주제를 던져줄 수 있는 포인트
      • 모르는건 부끄러운 게 아님, 모르는 걸 숨기는 것이 더 부끄러운 일.
    • 개발은 혼자 하는 것이 아니라 협업이기 때문에, 코드를 짜는 것보다 내가 하고자 하는 것, 하고 있는 것, 왜 해야 하는지, 내가 잘 아는 것들을 남에게 잘 설명하고 설득하는 것이 더욱 중요하다는 것을 재차 강조
    • 면접 대비
      • 면접에 나올만한 질문을 할 땐, 실제로 면접 질문에 자주 나오는 것임을 강조
      • 추가로, 내 면접 경험에서 받았던 질문과 내 면접 회고를 같이 이야기해 줄 기회
  • 이렇게 시도해 봄
    • 모르는 것을 질문했을 때, 암묵적인 지식으로 생각하는 부분을 설명해 보라고 함.
      • e.g. 메모리 사용량 초과는 왜 발생하는가? → 메모리 초과에 대해 설명하기 전에 "메모리”는 어떻게 관리되는지 설명해보라고 하거나, 메모리 할당이 어떻게 이루어지는지 설명해 보라고 함.
      • 어느 수준으로 이해하고 있는지, 어디서부터 보충이 필요할지, 어디서부터 잘못된 이해를 가지고 있는지 알 수 있음. (심화 주제를 던져줄 수 있는 포인트가 됨.)
    • Q&A 세션 시간이 좀 남는 경우 강의 커리큘럼에서 무엇을 배웠는지(아주 간단하게만) 브리핑하고, 중요해 보이는 것들은 설명해 보라고 함(e.g. 매우 중요한 CS 개념, 면접에서 나올만한 것들, 등)
  • 100점짜리 답변을 기대하면 안 됨
    • 코치하는 입장에서 심화 주제를 던질 수 있는 포인트를 발견하고, 심화 주제를 탐색하도록 기회를 부여하는 것이 중요
    • 답변에서 잘 이해하고 있는 부분, 애매하거나 더 정확한 이해가 필요한 부분이 드러나는 것이 중요
    • 좀 더 조리 있게 설명하려면 어떻게 해야 하는지 피드백 해줄 필요가 있음
    • 오해를 일으킬 만한 키워드 정정해 줄 필요가 있음
      • Javascript를 Java로 이야기한다든지... (둘은 다른 것임을 모름)

3. 스스로 무엇을 모르는 것인지 깨닫고, 스스로 필요한 지식을 터득하도록 함

  • 무엇을 모르는 것인지 알더라도, 당장 문서를 보면 어렵게 느껴질 수 있음 → 왜 어렵게 느끼는지? 왜 어려운지?를 스스로 찾게 함.
    • 초심자들은 기초지식이 없기 때문에, 왜 이해할 수 없는지 파악하기조차 힘듦. 문서를 봤을 때 설명에서 무엇이 어려운지(보통은 특정 키워드, 사전 지식에 대한 부재)를 스스로 정리하고 함께 알아보도록 유도.
      • 알아야 할 사전 지식이 많다고 느껴질 때 많은 초심자들이 어려움을 겪고 좌절을 느낌
        예) A를 알 기위해서는 B도 알아야 하고 B를 이해하려면 C를 알아야 하고...
        예) B의 범위가 너무 광대하고 깊어서, 어떤 수준까지 이해해야 하는지 감이 없음
      • “A를 먼저 한번 직접 조사해 보고 나한테 설명해 봐.”라고 하면 때로는 막연할 수 있음 → “설명하기 어렵다면 무엇 때문에 어려운지 한번 생각해 봐”를 덧붙인다.
      • 때로는 속도가 느리더라도 단계적인 접근이 필요
        1. 어떤 개념을 이해하는 데 필요한 사전 지식은, 결국 광범위한 지식 이해에 도움 되는 경우가 많음. → A를 아는 것보다 B, C를 아는것이 중요할 때가 많음
        2. B, C부터 차근차근 알아가도록 하면서, 자연스럽게 A라는 개념이 왜 나왔고 왜 필요한지 깨달을 수 있도록 유도
  • 스스로 지식을 터득하는 과정
    • 지식을 어떻게 터득하는지를 보여주는 것도 필요
      • 코칭 하는 사람이 직접 말로 생각하는 과정을 잘 표현해 줄 필요가 있음
        • 나는 지금 이걸 모르는데 검색해도 잘 모르겠네?
        • 내가 뭘 모르는 거지? 아 A를 이해하려면 B를 알아야겠구나.
        • B를 알아보는데 잘 모르겠다. 좀 더 쉽게 설명된 문서가 없을까?
        • 아 이런 식으로 검색하니 좀 더 잘 찾아지네.
        • 이 설명이 더 직관적으로 이해되는구나.
        • B를 깊게 이해하는 것은 불필요해 보이는데, 이 정도 수준 개념만 알고 A를 다시 볼까.
        • 등...
      • 어떻게 검색하는지 (검색 팁 전수 필요)
        • 일반인들은 구글 검색이 생각 외로 익숙하지 않을 수 있음.
      • 영어로 작성된 문서가 친숙하게 느껴지도록...
        • 영어로 검색했을 때 더 방대하고 정확한 정보가 나올 때 많음
        • 한글 문서는 최신 정보를 반영하지 못할 때가 있음
        • 오역으로 인한 잘못된 정보가 존재할 때도 있음
        • 처음부터 한글 문서를 주로 보기 시작하면 이후에 영어 문서 볼 때 거부감이 들 수 있음.
          • 나도 그랬음. 지금도 영향을 받고 있어서 영어로 읽도록 의식적으로 노력하는 중.

4. 왜 그럴까?, 왜 필요할까?를 먼저 생각하도록 유도함

  • 당연하게끔 되는 것은 없음
  • “해야 된다” → "왜?” 궁금증이 나오도록 자연스럽게 이어져야 함.
  • 암묵적인 지식으로 당연하게끔 생각하는 부분들 중에 이해가 필요한 부분을 짚어서 왜? 인지 질문할 필요가 있음
    • 왜 이해해야 하는지 설명
    • 이걸 이해하면 어떤 것들을 더 이해할 수 있는지 설명

5. 공감을 많이 해줘야 함

  • 나도 겪었던 문제
    • 너와 똑같은/비슷한 삽질로 나도 밤을 새웠었다(...)
    • 나도 똑같은 질문을 했다!
  • 나도 못 했던 것들
    • 이거 내가 실제로 받았던 면접 질문인데 대답 못해서 떨어졌었다(...)
  • 나도 너의 설명을 들으면서 많이 배웠다.
    • 실제로 Javascript GC가 어떻게 동작하는지 나도 몰랐음. 동생한테 배움. 이때 칭찬 많이 해줌.
  • 네가 진짜 잘하고 있다 강조해야 함
    • 진짜 중요. 칭찬은 고래를 춤추게 한다.
  • 절대 같은 것을 여러 번 질문하거나, 계속 이해를 못 한다고 짜증 내면 안 됨
    • 왜 이해를 못 하고 있는 것인지 파악할 필요가 있음
    • 만약 부족했다면 더 강조하거나, 스스로 다시 조사하도록 유도할 필요가 있음.

6. 한 번에 이런 생각 흐름이 정착되기 힘듦

  • 지속적으로 질문 유도, 심화 주제를 던져주면서, 스스로 본인의 생각의 흐름에 “왜?”라는 질문을 계속 넣도록 유도하고 있음.
  • 성향에 따라 다르겠지만, 꽤 오랜시간의 반복 밖에 답이 없어보임(검증되지 않음)
    • 다른 답이 있으면 알려주세요...

 


 

위에서 강조한 코칭 지점들이 동생의 생각 흐름에 잘 정착된다면, 부트캠프의 강의 내용이 부족한 부분이 있더라도 시간의 지남에 따라 결국 자연스럽게 해결될 것이라고 기대중이다. (=발전할 수 있는 기틀 마련)

 

아직까지는 꽤 좋은 성과들이 보이지만 확신하긴 이르다.

댓글
최근에 올라온 글
Total
Today
Yesterday