회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 이용 중이라면 최대 700만 원 지원받으세요
나는 비개발자의 일을 하고 있다. 그러나 일하면서 늘 '어느 정도의 프로그래밍은 알아야 한다'라는 생각을 한다. 도구로써 유용하기도 하고, 개발자와의 커뮤니케이션도 더 수월해지기 때문이다. 그래서 다양한 시도 끝에 파이썬과 자바스크립트를 가볍게 활용하는 정도까지는 터득했다. 주로 유튜브 영상을 교재로 삼았지만, 유료 강의도 (회사 지원으로) 여러 개 결제하여 공부하곤 했다. 그리고 돌이켜보니 도움이 되는 강의와 그렇지 못한 강의에는 뚜렷한 차이가 있었다.
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
나는 비개발자의 일을 하고 있다. 그러나 일하면서 늘 '어느 정도의 프로그래밍은 알아야 한다'라는 생각을 한다. 도구로써 유용하기도 하고, 개발자와의 커뮤니케이션도 더 수월해지기 때문이다. 그래서 다양한 시도 끝에 파이썬과 자바스크립트를 가볍게 활용하는 정도까지는 터득했다. 주로 유튜브 영상을 교재로 삼았지만, 유료 강의도 (회사 지원으로) 여러 개 결제하여 공부하곤 했다. 그리고 돌이켜보니 도움이 되는 강의와 그렇지 못한 강의에는 뚜렷한 차이가 있었다.
이번 글에서는 내 경험을 바탕으로 정리해 본 '프로그래밍 지식이 전혀 없는 비개발자를 가르칠 때 주의점'을 살펴보고자 한다. 프로그래밍 강의를 만드는 분들이나, 비개발자와 협업하는 개발자들에게 도움이 되길 바란다.
비개발자가 프로그래밍을 공부하는 이유는 무엇일까? 각자 다양한 이유가 있겠지만, 개인적인 추측으로 개발 자체에 흥미를 느껴서라기보다는, 자기 계발 차원에서 배우는 경우가 더 많은 것 같다. 아무리 비전공자 직장인이라도 몸값을 올리려면 코딩을 배워야 한다는 이야기들이 많아지면서, 뒤쳐지면 안 된다는 분위기가 반복해서 형성되는 것이다. 물론 부트캠프나 온라인 클래스가 부쩍 많아진 영향도 있을 것이다.
이유야 어쨌든 배우는 것은 좋다고 생각한다. 하지만 야심 차게 첫 강의를 시작했는데, print('Hello World')나 덧셈, 뺄셈 계산하는 기초만 만지작거리고 있으면 흥미가 급격히 떨어진다. 기초가 시시하다는 것이 아니다. 내가 프로그래밍 능력을 얻게 되면 어떤 일을 해낼 수 있는지에 대한 꿈을 팔아달라는 이야기다. 마치 결말의 일부를 영상 초반부터 보여주어 흥미를 유발하는 유튜브 영상처럼, 프로그래밍 강의도 그랬으면 좋겠다.
파이썬 코드 print('Hello World')를 입력하면 개발자 콘솔에 'Hello World'가 출력된다. 이것은 신기하지만 재미는 없다. 단순히 텍스트를 출력하는 것을 어디에 써먹을 수 있을지 하나도 와닿지 않기 때문이다.
나는 예전부터 프로그래밍에 재미를 붙이려 여러 번 시도했지만, 와닿는 예시를 발견하지 못해 흥미를 잃곤 했다. 그러던 내 호기심에 급격히 불을 붙인 유튜브 영상이 하나 있었다. 파이썬 코드로 1초 만에 엑셀 파일의 열과 행 구조를 편집하는 영상이었다. 엑셀을 한 땀 한 땀 편집하는 작업에서 탈출하고 싶다는 생각이 번쩍 들었고, 그러기 위해서는 print('Hello World')부터 배워야 한다는 것을 깨달았다.
강의 내용이 충실한 것도 중요하지만, 일단 비개발자의 흥미를 끌 수 있는가가 더욱 중요한 것 같다. 그리고 '이걸 배우면 이런 것도 할 수 있어요~'라며 판타지를 심어주는 것만큼 와닿는 게 없다.
비개발자에게는 프로그래밍에 대한 막연한 두려움이 있다. 개발 코드를 보면 다 외계어처럼 보이니 그런 느낌을 받는 것은 어쩔 수 없다. 그러니 조금이라도 어려운 개발 이야기가 나오면 '역시 내가 손댈 영역이 아닌 듯'이라며 거리를 두기 쉽다.
나의 두려움을 걷어내 준 것은 역시나 또 유튜브에서 발견한 영상이었다(어떤 영상인지는 까먹었다…). 영상 속 개발자는 "엑셀 함수도 프로그래밍입니다. 여러분 모두 SUM이니 VLOOKUP이니 쓰시잖아요? 그러면 이미 프로그래밍을 하고 있는 겁니다"라고 말했다. 나는 이 말에 큰 용기를 얻었다. 물론 엑셀 함수만으로 "저 프로그래밍할 줄 압니다"라고 말하면 개발자들에게 매를 맞을 것이다. 하지만 '컴퓨터에게 작업을 시킨다'라는 측면에서 보면 100% 틀린 말은 아니고, 그 말이 맞냐 틀리냐는 별로 상관없다. 어쨌든 프로그래밍을 공부하게 되면 그걸로 된 것 아닐까?
헬스 트레이너들도 "이 운동하면 뱃살 빠집니다!"라고 한다. 물론 뱃살만 빼는 운동이라는 것은 없다. 하지만 수강생을 행동하게 하려는 과장이라면 용서받아도 되지 않을까. 뭔가를 새로 배운다고 생각하면 간단한 것도 괜히 생소하게 다가온다. 하지만 이미 아는 지식의 심화 버전이라고 인식하면 부담이 훨씬 덜하다.
다만 프로그래밍을 배우는 입장에서 스스로 인식을 전환하기는 쉽지 않다. 가르치는 입장에서 열심히 "당신은 이미 하고 있어요!"라고 말해주자.
내가 프로그래밍 공부에 한창 재미를 붙였을 때 생긴 습관이 하나 있다. 그것은 바로 오며 가며 개발자들의 모니터를 힐끔힐끔 훔쳐보는 것이다. 훔쳐보다 놀랐던 점 하나는 개발자라고 해서 프로그래밍 언어를 좔좔 꿰고 있는 것이 아니라는 점이다. 다들 개발 문서나 Stack Overflow 같은 사이트를 끊임없이 참고하는 모습이 신기했다. 그리고 코드를 끊임없이 짜기보다는 전체적 구조와 해법을 고민하는데 더 많은 시간을 쓰는 것처럼 보였다.
지금이야 밈이나 유튜브를 통해 많이 알려진 사실이지만, 개발자라고 하면 여전히 '머릿속에서 코드를 뽑아낸다'라는 이미지가 있다. 그래서 프로그래밍을 처음 배우는 사람도 그렇게 행동해야 한다는 강박이 생긴다. 강의 내용을 꼼꼼히 메모하고 외워야 한다는 의무감을 갖게 되는 것이다.
이 의무감을 계속 희석시켜줘야 한다. 특정 명령어가 생각나지 않을 때 "아이고 또 까먹었네"라고 자책하게 될 수 있다. 나 또한 그랬다. 지금이야 내가 예전에 작성한 코드를 재활용하거나 ChatGPT, Stack Overflow 등에서 참고한다. 하지만 새로운 것을 배울 때 일단 머릿속에 완벽히 집어넣으려는 습관은 생각보다 쉽게 사라지지 않는다. 외우지 말고 이해해야 하며, 모르는 것은 인터넷에서 마음대로 컨닝해도 된다고 계속 강조해 주자. 경력 있는 개발자들도 모두 그렇게 하고 있다고 말이다.
배움의 두려움이 가장 커지는 순간은 역시 '내가 모르는 개념이 지나가듯이 쓱 등장했을 때'인 것 같다. 한창 파이썬 강의를 듣던 중 "파이썬으로는 데이터 처리뿐만 아니라 API 호출도 가능합니다"라는 강사의 말을 들었다. 당시 내 머릿속에선 API에 대한 개념이 모호했기 때문에 즉시 겁을 먹었다. 강사 입장에서는 파이썬의 유용함을 알리기 위한 대사에 불과했겠지만, 배우는 내 입장에서는 'API까지 알아야 하는 거야?!'라며 약간 패닉 상태가 되었다.
모든 것이 API로 연결되어 있는 지금 시대에 API가 뭔지 아는 것은 물론 중요하다. 성실한 사람이라면 'API가 정확히 뭘까?'라며 스스로 검색해 공부할 것이다. 하지만 나처럼 게으른 타입이라면 의욕이 저하될 수 있다. '이 정도는 아시죠?'라는 느낌으로 쓱 지나가는 용어도 두려울 수 있다. 가끔 이 공포에 대해 인지하고 있는 강사는 생소한 용어를 소개한 뒤 "이거 모르셔도 돼요"라며 수습하는 경우도 있다.
새로운 개념이 등장하지 않도록 잘 구성해 놓은 예시가 있어 소개하고 싶다. 생활코딩이라는 강의 사이트로, 기본 개념을 이해하기 위해 알맞은 곳이라 생각한다. 새로운 개념이 아무렇지도 않게 등장하는 경우가 별로 없어서, 헨젤과 그레텔 스타일로 하나씩 차근차근 따라가기 좋다.
사실 파이썬이나 자바스크립트가 왜 널리 사용되고, 기술적인 구조는 어쩌고 하는 내용을 초반부터 소개할 필요 없다고 본다. 마치 어린아이가 배우듯이 어떻게 사용하는지만 가르쳐 주고, 이론적인 내용은 나중에 등장해도 된다.
유튜브에서 유명 프로그래머들의 인터뷰를 몇 개 검색해 보자. '프로그래밍을 시작한 계기'에 대한 질문을 가만히 들어보면, 다들 시작점이 비슷하다. 컴퓨터에 입력한 명령어가 그대로 출력되는 것이 신기해, 호기심을 채우려 뭔가를 계속 만들다 보니 프로그래머의 길을 걷게 되었다는 익숙한 내용이다. 나는 비개발자에게도 이 경험을 하게 하는 것이 최우선이라고 생각한다.
프로그래밍이 손에 익지도 않은 상태에서 '자바스크립트는 1995년에 개발되어...' 같은 내용이 등장하면 졸리고 머리가 아프다. "우리가 엑셀의 역사에 대해서도 공부하지 않잖아요? 그러니까 자바스크립의 역사도 공부하지 맙시다"라며 실습 위주로 가르쳐주는 강의가 훨씬 재밌다.
내 말은 이론이 중요하지 않다는 이야기가 아니다. 초반부터 이론을 소개하면 지루해진다는 말이다. 전체적인 이해를 위한 기본 개념만 소개하는 정도로 충분하다. 이론은 어느 정도 실습을 거친 뒤에 등장해야 "아! 이래서 컴파일러라는 게 필요한 거구나!"라며 깨달음을 얻을 수 있다. 처음부터 "파이썬은 인터프리터 언어로써…"라고 초보자들에게 소개하면, '인터프리터는 또 뭐야…'라며 괜히 의욕만 저하될 뿐이다.
지금까지 살펴본 비개발자에게 프로그래밍을 가르칠 때 주의점 5가지를 한 줄씩 요약해 보자.
1. 와닿는 예시로 판타지를 심어주자.
2. 당신은 이미 엑셀 함수라는 (엄밀히 말하면 프로그래밍이 아니지만) 프로그래밍을 하고 있다며 용기를 심어주자.
3. 제발 외우지 말라고 개발자들도 늘 커닝을 한다고 계속 말해주자.
4. 몰라도 되는 내용은 일단은 빼자.
5. 이론적인 내용은 나중에 등장시키자.
요즘은 좀 덜할지도 모르지만 비개발자는 프로그래밍에 대해 근거 없는 두려움을 갖고 있다. 이 두려움을 최대한 희석시켜 주어야 비개발자가 스스로 눈덩이를 굴릴 수 있게 된다. 그런 가르침이 가장 효과적이라고 생각한다.
그리고 "이 정도는 알죠?"라는 가정은 하지 않는 게 안전하다. '역시 프로그래밍은 어려워…'라는 생각의 계기를 주면 안 된다. 비개발자인 내가 봤을 때, 프로그래밍은 무척 쉬우면서도 무한으로 어려워지는 특성을 갖고 있다. "이 정도면 프로그래밍 다 배웠다!"라고 느끼게 해 줄 천장이 없다. 그런데 비개발자는 존재하지도 않는 천장에 닿으려고 하고, 그게 안 될 것 같으니 의욕이 꺾인다. 우리 모두가 프로그래밍 고수가 될 필요는 없다. 내 업무에 조금이라도 적용할 정도면 충분하다. 개발자와의 커뮤니케이션을 조금이라도 수월하게 만들어줄 정도면 된다. 그렇게 말해주자.
요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.