중학생이 코딩 에러 100번으로 회복탄력성을 키운 이야기
완벽주의 소년이 디버깅으로 단단해지기까지 · 현직 강사의 실제 수업 기록
▲ 파이썬 수업 시간, 에러 메시지와 마주하는 순간이 아이를 단단하게 만듭니다 (이미지: Unsplash)
요즘 교육계에서 가장 주목받는 역량 중 하나가 '회복탄력성(Resilience)'입니다. 실패나 역경 앞에서 주저앉지 않고 다시 일어서는 힘이에요. 10년간 현장에서 아이들을 가르치며 저는 한 가지 확신을 갖게 됐습니다. 이 힘은 "포기하지 마라"는 백 마디 말이 아니라, 자기 손으로 실패를 극복해 본 단 한 번의 성취감에서 자란다는 것입니다.
📌 참고 자료: Carol Dweck — Mindset Online (공식 사이트)
오늘은 하루에도 수십 번씩 에러 화면을 마주하면서도 끝내 마우스를 놓지 않았던 한 중학생, 매주 화요일 저녁 수업에 오던, 틀린 문제집 페이지를 아예 찢어버리는 버릇이 있던 현우(가명)의 이야기를 꺼내 보려 합니다. 솔직히 처음에는 저도 이 아이가 한 달을 버틸 수 있을지 자신이 없었어요.
1. 조금만 막혀도 울컥하던 중학교 1학년 현우
사춘기 완벽주의 성향 청소년의 특징과 코딩 수업 초기 적응 과정
현우를 처음 만난 건 중학교 1학년 초였습니다. 승부욕이 넘치고 완벽주의 성향이 강한 아이였어요. 시험에서 하나만 틀려도 밤새 잠을 못 잔다고 했고, 자신이 불리해지거나 막히는 상황이 오면 짜증을 내거나 아예 그 상황을 피해버리는 패턴이 반복됐습니다. 어머니께서 처음 상담을 요청하셨을 때, 말씀 속에 요즘 중학생 자녀를 둔 많은 부모님의 공통된 고민이 담겨 있었어요.
그런데 어머니의 기대와 달리, 코딩은 정답이 쉽게 나오는 세계가 아닙니다. 오히려 화면 가득 붉은 에러 메시지를 뿜어내며 끊임없이 실패를 통보하는 세계에 가깝습니다. 현우에게 이 강의실은 자신의 완벽주의 벽과 정면으로 부딪히는 첫 번째 시험대였어요. 저는 그게 오히려 이 아이에게 꼭 필요한 경험이 될 수도 있겠다고 느꼈습니다.
2. "짜증 나는데 그냥 안 하면 안 돼요?" — 에러 폭탄을 만나다
파이썬 실습 중 구문 오류 발생 시 행동 패턴과 강사의 개입 방식
기초 문법을 넘어 파이썬 실전 프로젝트에 들어간 첫 주, 현우에게 위기가 찾아왔습니다. 파이썬은 들여쓰기 공백 하나, 세미콜론 하나에도 가차없이 오류를 냅니다. 소문자 'l'(엘)과 숫자 '1'(일)을 헷갈리거나, 콜론(:)을 빠뜨리기만 해도 터미널 창은 빨간 에러 메시지로 가득 찼어요.
코드가 실행되지 않자 현우의 얼굴이 붉으락푸르락해졌습니다. 키보드를 거칠게 두드리더니 이내 팔짱을 끼고 모니터를 노려봤어요. 평소 패턴대로, 실패한 상황을 견디지 못하고 도망치고 싶어 하는 신호였습니다. "선생님, 짜증 나는데 그냥 안 하면 안 돼요?" 현우가 내뱉은 말이었어요.
그 순간 저도 사실 잠깐 망설였습니다. '내가 직접 코드를 고쳐줄까? 그러면 일단 수업은 넘어가겠지.' 하지만 그게 이 아이에게 진짜 도움이 될까, 하는 생각이 들었습니다. 드웩이 말한 '성장 마인드셋'은 누군가 대신 고쳐줄 때가 아니라, 스스로 버티고 찾아내는 순간에 만들어진다는 걸 알고 있었거든요. 결국 저는 직접 고쳐주는 대신 모니터 앞에 나란히 앉아 아이가 스스로 에러를 읽도록 유도하기로 했습니다.
저는 현우의 자리로 다가가 어깨를 토닥이며 말했습니다. "현우야, 구글에서 가장 돈 많이 받는 수석 개발자도 하루에 에러를 수백 번씩 만난단다. 코딩에서 에러는 네가 틀렸다는 벌점이 아니야. '여기만 고치면 완벽해!'라고 알려주는 친절한 내비게이션이거든. 컴퓨터가 보낸 힌트를 같이 읽어볼까?" 아이의 거부감을 낮추는 게 먼저였습니다. 다행히 현우는 짧게 한숨을 내쉬고는 다시 모니터 쪽으로 몸을 돌렸어요.
3. 100번째 에러를 뚫고 일어선 순간의 카타르시스
끈질긴 디버깅 성공 후 청소년이 경험하는 자기효능감의 실체
그날 이후, 저는 현우가 에러를 만날 때마다 답을 대신 찾아주는 대신, 스스로 코드를 수정하는 과정 자체를 집중적으로 칭찬하기 시작했습니다. "와, 현우가 오타 하나를 직접 찾아서 에러 하나를 지웠어! 대단한데?" 막연한 응원이 아니라, 구체적으로 무엇을 해냈는지를 짚어주는 피드백이었어요. 처음엔 쑥스러워하던 현우도 칭찬을 받을수록 에러 메시지를 좀 더 침착하게 들여다보기 시작했습니다.
변화는 서서히 왔습니다. 한 달쯤 지났을 때, 현우는 텍스트 기반의 성적 관리 프로그램을 만드는 복잡한 미션을 받았습니다. 학생 이름과 점수를 입력받아 평균을 계산하고 등급을 출력하는 프로그램이었는데, 함수 정의와 리스트 인덱싱 개념이 뒤엉키면서 무려 1시간 동안 같은 구간에서 에러가 반복됐어요. 예전 현우였다면 진작에 키보드를 밀어버렸을 시간입니다. 그런데 현우는 입술을 꽉 깨문 채 에러 메시지와 코드 라인을 번갈아 보며 묵묵히 타이핑을 이어갔습니다. 중간에 한 번 "아, 진짜..." 하고 낮게 중얼거렸지만, 그래도 멈추지 않았어요.
수업 종료 5분 전, 마침내 터미널 창에 에러 대신 깔끔하게 정렬된 결과 화면이 출력됐습니다. 현우는 저도 모르게 자리에서 번쩍 일어났습니다.
그 목소리에는 시험 100점과는 다른 종류의 자부심이 있었습니다. 실패를 100번 만났지만, 101번째 시도로 스스로 답을 찾아낸 아이의 눈빛은 이전과 완전히 달라져 있었어요. 저도 모르게 박수를 쳤고, 옆에 앉아 있던 다른 학생들도 "와 현우 됐어?" 하며 진심으로 같이 기뻐했습니다. 그 순간은 지금도 선명하게 기억납니다.
▲ 에러를 스스로 해결하는 순간의 성취감은 어떤 칭찬보다 강력합니다 (이미지: Unsplash)
4. "틀려도 괜찮아, 다시 고치면 돼" — 강의실 밖으로 번진 변화
디버깅 성공 경험이 학업 태도 전반에 미치는 긍정적 전이 효과
이 하나의 성공 기억이 현우의 학습 태도를 통째로 바꿔놓았습니다. 뭔가 꼬여도 크게 동요하지 않게 됐고, 막히면 짜증 대신 원인부터 찾는 습관이 생겼어요. 수업 태도만 달라진 게 아니었습니다. 표정 자체가 바뀌었습니다. 처음에는 에러 화면만 보면 굳어버리던 얼굴이, 어느 순간부터는 오히려 흥미롭다는 듯 고개를 앞으로 내밀며 화면을 들여다보기 시작했거든요.
어느 날 옆자리 후배가 코드가 안 된다며 울상을 짓고 있었는데, 현우가 슬쩍 다가가 툭 던졌습니다.
실패를 자신의 무능함으로 받아들이던 완벽주의 소년이, 이제 에러를 '성장을 위한 당연한 과정'으로 받아들이는 선배 개발자로 변해 있었습니다. 솔직히 저는 그날 수업이 끝나고 혼자 꽤 뭉클했어요. 드웩이 말한 '아직(not yet)'을 이 아이가 몸으로 배운 것 같았거든요.
자녀가 실패할까 봐 모든 문제를 대신 해결해 주고 싶은 마음, 충분히 이해합니다. 하지만 그렇게 자란 아이들은 작은 걸림돌에도 쉽게 무너집니다. 코딩 교육의 진짜 가치는 프로그래밍 기술이 아닙니다. 안전한 가상 공간에서 수없이 틀려보고, 에러 원인을 스스로 분석하고, 끝내 자기 손으로 고쳐나가는 디버깅 과정이야말로 아이의 회복탄력성을 키우는 가장 실질적인 훈련소입니다. 넘어지는 연습을 해본 아이가, 진짜 세상에서도 다시 일어납니다.
5. 10년 강사로서 내가 코딩 수업에서 가장 중요하게 여기는 것
컴공 전공자이자 현직 강사가 정의하는 코딩 교육의 본질
컴퓨터공학을 전공하고 프로그래머로 일하다가 교육 현장에 들어온 지 10년이 됐습니다. 그 시간 동안 저는 아이들에게 파이썬 문법보다 훨씬 중요한 것을 가르치려 해왔어요. 바로 '에러 앞에서 무너지지 않는 태도'입니다.
저는 수업 중 학생이 막혔을 때 절대로 바로 답을 알려주지 않습니다. 대신 이렇게 묻습니다. "컴퓨터가 왜 이 줄에서 멈췄을까? 에러 메시지가 뭐라고 써있어?" 아이 스스로 에러를 읽고, 원인을 추측하고, 수정해보게 합니다. 틀려도 됩니다. 다시 틀려도 됩니다. 중요한 건 그 과정을 버티는 것이고, 그 버팀의 끝에서 아이들은 단순한 코딩 실력 이상의 것을 얻어 갑니다. 저는 그것을 '디버깅 근육'이라고 부릅니다.
프로그래머로 일했던 경험을 돌아봐도, 현장에서 가장 빛났던 동료들은 문법을 많이 아는 사람이 아니라 에러를 만났을 때 침착하게 파고드는 사람들이었습니다. 코딩 교육이 아이들에게 줄 수 있는 가장 큰 선물은 바로 이 태도입니다. 실패를 만났을 때 "왜?"라고 묻는 습관, 그리고 그 답을 찾을 때까지 버티는 힘이요.
6. AI 시대의 진짜 인재 조건 — 기술보다 단단한 마음의 근력
미래 역량 관점에서 본 회복탄력성의 중요성과 강사의 다짐
AI가 빠르게 발전하는 미래 사회에서 단순한 지식의 양은 인간의 무기가 될 수 없습니다. 끝까지 포기하지 않는 끈기, 문제를 끈질기게 파고드는 집요함 — 이 회복탄력성을 가진 아이만이 AI를 도구로 주도적으로 활용하는 인재로 성장합니다. 코딩을 가르치는 이유가 결국 여기에 있습니다.
얼마 전 현우 어머니에게서 문자가 왔습니다. 중간고사 수학 서술형 문제를 만났는데, 평소 같으면 연필을 놓았을 현우가 끝까지 매달려 결국 풀어냈다는 소식이었어요. 아이는 학원 문을 나서며 엄마에게 이렇게 말했다고 합니다.
우리 아이가 상처받을까 봐 실패할 기회조차 빼앗고 계신 건 아닌가요? 백 마디 위로보다, 실패를 당당히 마주하고 스스로 해결해 나가는 '디버깅의 즐거움'을 선물해 보세요. 코딩을 통해 다져진 마음의 근력은, 아이가 살아갈 세상에서 무너지지 않는 가장 강력한 방패가 되어줄 것입니다.
💬 자주 묻는 질문 (FAQ)
학부모님들이 가장 많이 물어보시는 질문들을 모았습니다