욱하고 화내던 중학생이 디버깅으로 감정 조절을 배운 이야기
에러만 뜨면 키보드를 밀어버리던 아이가 에러 메시지를 차분히 읽게 되기까지 · 현직 강사의 실제 수업 기록

▲ 에러를 만났을 때 어떻게 반응하는가 — 그것이 코딩 실력보다 먼저 자라야 할 것입니다 (이미지 제공)
"선생님, 우리 아이가 조금만 안 되면 버럭 화부터 내요. 게임하다 지면 컨트롤러 집어던지고, 숙제하다 모르는 게 나오면 바로 책상을 밀어버려요. 중학교 올라오면서 더 심해진 것 같아서 걱정입니다." 상담실에서 들은 말입니다.
오늘 이야기의 주인공 민재(가명)는 그런 아이였습니다. 수업 중 에러가 뜨면 키보드를 밀어버리거나 자리를 박차고 일어났어요. 그런 민재가 6개월 후 에러를 만났을 때 처음으로 이렇게 말했습니다. "잠깐만요, 제가 먼저 읽어볼게요." 디버깅이 감정 조절 훈련이 된 순간이었습니다.
📌 참고 자료: 자기조절 — 한국어 위키백과
1. 에러만 뜨면 키보드를 밀어버리던 아이
분노 반응의 실체와 첫 수업에서 파악한 민재의 패턴
매주 화요일 저녁 수업에 오던, 강의실에 들어오면 자리에 앉기도 전에 먼저 화면을 켜고 지난 시간 코드를 열어두는 버릇이 있던 중학교 1학년 민재(가명)를 처음 만났을 때, 실력은 또래 중에서 나쁘지 않았습니다. 논리 구조를 이해하는 속도가 빠른 편이었어요. 그런데 첫 수업에서 바로 문제가 보였습니다. 블록을 조립하다 원하는 대로 작동하지 않자 민재가 키보드를 세게 밀어버렸습니다. 아무 말도 없이, 그냥 반사적으로.
"선생님, 아이가 원래 욱하는 성격이에요. 어렸을 때부터 안 되면 바로 짜증부터 내거든요. 중학교 올라오면서 더 심해졌어요. 학교에서도 모둠 활동할 때 자기 생각대로 안 되면 화부터 낸다고 담임 선생님께 연락이 왔어요. 코딩은 혼자 하는 거니까 혹시 덜 부딪히지 않을까 해서 보내봐요. 솔직히 여기서도 화낼까 봐 걱정이 되긴 해요."
저는 민재의 분노 반응을 관찰하면서 한 가지를 파악했습니다. 민재가 화를 내는 건 결과에 대한 분노가 아니었어요. 무엇이 잘못됐는지 알 수 없다는 답답함이 분노로 먼저 터져 나오는 구조였습니다. 원인을 모르는 채로 막혀있는 상황 자체가 민재에게는 참을 수 없는 것이었어요. 그 구조를 이해하자 어떻게 접근해야 할지 방향이 잡혔습니다.
2. 에러 메시지는 답답함이 아니라 단서다 — 첫 번째 전환점
에러를 감정의 대상이 아닌 정보로 바라보게 만든 수업 전략
저는 민재에게 에러를 다르게 정의해줬습니다. 수업 3주차, 민재가 또 에러 앞에서 키보드를 밀려는 순간 제가 먼저 말했습니다. "잠깐, 저 화면에 뭐라고 써있어?" 민재가 멈췄습니다. 에러 메시지를 읽어본 적이 없었던 거예요. 화가 나면 화면을 보지 않았으니까요.
저는 에러 메시지를 함께 소리 내어 읽었습니다. "SyntaxError: unexpected indent." 그리고 물었어요. "이게 뭘 말하는 것 같아?" 민재가 잠시 생각하더니 말했습니다. "들여쓰기가 잘못됐다는 거요?" 맞았습니다. 에러 메시지가 이미 답을 갖고 있었어요.
이 질문이 첫 번째 전환점이었습니다. 민재에게 에러는 그동안 "내가 틀렸다"는 신호였어요. 그래서 분노로 반응했던 거예요. 그런데 에러 메시지가 무엇이 잘못됐는지를 알려주는 단서라는 걸 이해하는 순간, 에러는 더 이상 막막한 벽이 아니었습니다. 읽어야 할 정보가 됐어요. 분노의 방향이 바뀌기 시작한 순간이었습니다.
▲ 에러 메시지를 읽는 습관이 생기는 순간, 감정보다 논리가 먼저 작동하기 시작합니다 (이미지 제공)
3. 디버깅이 감정 조절 훈련이 되는 이유
컴공 전공자 시각에서 본 디버깅과 자기조절의 구조적 연결
컴퓨터공학을 전공하고 프로그래머로 일하다 교육 현장에 들어온 지 10년입니다. 개발 현장에서 가장 많이 쓰는 기술 중 하나가 디버깅입니다. 그리고 현장에서 일하면서 한 가지를 배웠어요. 실력 있는 개발자는 에러를 만났을 때 화를 내지 않습니다. 에러 메시지를 읽고, 원인을 찾고, 수정하는 순서를 침착하게 밟아요.
디버깅은 감정 조절 훈련과 구조가 같습니다. 화가 났을 때 우리는 대부분 원인을 보지 않고 반응부터 합니다. 디버깅도 마찬가지예요. 에러가 났을 때 화부터 내면 에러 메시지를 읽지 않게 됩니다. 하지만 에러 메시지를 읽는 습관이 생기면, 뇌가 "지금 화낼 게 아니라 읽어야 한다"는 순서를 따르기 시작합니다.
이 순서가 반복되면서 민재에게 일어난 변화는 코딩 실력의 향상이 아니었습니다. "화가 나는 상황에서 잠깐 멈추는 능력"이 자란 거예요. 코딩이 감정 조절 훈련이 되는 건 의도된 교육 목표가 아니라, 디버깅이라는 과정 안에 그 구조가 자연스럽게 담겨 있기 때문입니다.
화를 내지 않도록 가르치는 것과, 화가 나는 상황에서도 읽어야 할 것이 있다는 걸 경험으로 아는 것은 완전히 다릅니다. 코딩이 후자를 만들어줍니다.
4. "잠깐만요, 제가 먼저 읽어볼게요" — 달라진 민재
6개월 후 에러 앞에서 완전히 달라진 반응과 강의실 밖으로 이어진 변화
6개월이 지났을 때였습니다. 조금 복잡한 파이썬 코드를 짜다 민재가 에러를 만났습니다. 저는 반사적으로 키보드가 밀려올 거라 생각했어요. 그런데 민재가 화면을 향해 몸을 당겼습니다. 그리고 조용히 말했습니다.
💬 "잠깐만요, 제가 먼저 읽어볼게요."
그 말이 나오는 데 6개월이 걸렸습니다. 민재는 에러 메시지를 2분 동안 읽더니 "NameError니까 변수 이름이 틀린 것 같아요. 여기 오타 난 것 같은데요"라고 말했습니다. 혼자 찾아낸 거예요. 그 순간 민재의 표정에서 처음으로 자부심 같은 게 보였습니다. 화내지 않고 스스로 해결했다는 사실 자체가 민재에게 낯선 경험이었을 거예요.
어머니에게서 연락이 온 건 그로부터 2주 후였습니다. 학교에서 모둠 과제를 하다 친구가 다른 방식을 제안했을 때, 민재가 "왜 그렇게 생각해?"라고 물었다고 했어요. 전에는 자기 방식이 아니면 바로 짜증을 냈는데, 이번엔 먼저 이유를 물었다는 거였습니다. 어머니가 깜짝 놀라셨대요. 작은 변화였지만, 6개월 전 민재를 알고 있는 저는 그게 얼마나 큰 변화인지 알았습니다.
5. 욱하는 아이에게 코딩이 효과적인 이유
분노 조절이 어려운 아이에게 코딩이 특별히 잘 맞는 구조적 이유
첫째, 에러는 사람이 아닙니다. 분노 조절이 어려운 아이들은 대부분 사람과의 관계에서 감정이 폭발합니다. 코딩의 에러는 사람이 아니에요. 판단하거나 비웃지 않습니다. 이 안전한 환경에서 "막혔을 때 화내지 않고 분석하는 경험"을 반복할 수 있습니다.
둘째, 원인이 항상 있습니다. 인간관계의 갈등은 원인이 불분명한 경우가 많습니다. 하지만 코딩의 에러는 반드시 원인이 있어요. 에러 메시지를 읽으면 찾을 수 있습니다. "원인을 찾으면 해결된다"는 경험이 반복되면, 일상의 답답한 상황에서도 같은 접근을 시도하기 시작합니다.
셋째, 화내도 코드는 고쳐지지 않습니다. 키보드를 밀어도, 소리를 질러도 에러는 그대로입니다. 이 단순한 사실이 "화를 내는 것과 문제 해결은 다르다"는 걸 몸으로 가르쳐 줍니다. 화가 아무 도움이 안 된다는 걸 반복 경험하면, 화내는 대신 다른 반응을 선택하는 근육이 자랍니다.
아이에게 "화내지 마"라고 말하는 것과, 화가 나는 상황에서 "읽어봐"라고 하는 것은 다릅니다. 전자는 감정을 억제하는 요구이고, 후자는 행동의 방향을 바꾸는 안내입니다. 집에서 아이가 화를 낼 때, "화내지 마"보다 "뭐가 문제인지 같이 한번 찾아볼까?"라고 먼저 말해보세요. 원인을 찾는 방향으로 대화가 전환됩니다. 코딩이 그 습관의 훈련장이 될 수 있습니다.
6. 화를 없애는 게 아니라, 화보다 먼저 하는 것을 만들어줬습니다
감정 조절의 본질과 코딩이 민재에게 남긴 것
민재는 여전히 욱하는 기질이 있습니다. 달라진 건 화가 나는 순간과 행동 사이에 "읽어봐야겠다"는 짧은 공백이 생겼다는 점이에요. 6개월의 디버깅 훈련이 만들어준 공백입니다. 감정 조절은 화를 없애는 게 아닙니다. 화보다 먼저 할 것을 만드는 겁니다.
이 말이 나오는 순간이 코딩 수업이 감정 교육으로 이어지는 순간입니다. 욱하는 아이가 걱정되신다면, "화내지 마"라는 말보다 에러를 함께 읽어보는 경험을 먼저 만들어주세요. 디버깅이 그 시작이 될 수 있습니다.
💬 자주 묻는 질문 (FAQ)
학부모님들이 가장 많이 물어보시는 질문들을 모았습니다