철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

Archive for 2월 2014

코딩 교육의 논의의 방향은…

with 4 comments

정말 아이들에게 프로그래밍을 가르치는게 맞을까“를 적은 이후에 봐도 여전히 비슷한 이야기를 하는게 재탕좀 해도 되겠다 싶었다, 자신의 생각을 구체화하는데 반복은 중요하니 생각을 더 적어본다.

어릴때부터 코딩을 접하는게 좋다는 이야기를 하는 글들에서 단골로 나오는 주인공들, 빌게이츠, 마크저커버그, …… 피식 웃음이 나올때가 있다. Code.org의 캠페인 동영상이라면 말이 된다. 캠페인이니까. 동영상을 보면, 중간에 생뚱맞게 모회사의 자유로운 분위기를 보여준다. 뭐지? 코딩을 하면 이렇게 좋은 회사에 들어간다는건가? 암튼 캠페인 동영상이니까. 뭐. 하지만 당연히 “왜”라는 질문에 대해서는 그다지 답이 되지 않는다. 좀 다르게 가보자.

구글이나 마이크로소프트나 페이스북 사무실에 뛰쳐들어 가서 아무나 붙잡고 코딩에 대해 물어본다면, 코딩 구리구요 안좋아요라고 이야기할 사람이 그 전체 중에서 몇명일까? 과감히 내맘대로 예상컨데, 많지 않을 것이라. 소프트웨어 회사에서 코딩을 하는 사람들에게 좋냐고 묻는것 자체가 사실 웃긴 것 같다. 그렇다면 그렇게 이야기를 시작하는 글을 보면 피식 하지 않을수가.

“정기자님. 이에 대한 전문가의 의견을 들어볼까요?”
“아, 네 정기자입니다, 저는 모 소프트웨어 회사에 CEO와 함께 나와 있습니다. (유명한) CEO님, 어릴 적에 코딩을 공부해서 소프트웨어 업계에 훌륭한 사람이 되었는데, 어릴 적부터 코딩을 배우는 것에 대한 견해가 어떠신지요?”
“아 네, 저는 어릴 적부터 코딩을 배우는 것을 권장하지 않습니다. 어릴 적에는 뛰어놀고 체험하는 것이 중요하거든요, 어릴 적에 배우지 않아도 저처럼 될 수 있습니다.”

안좋다 답한 내용과는 별개로 여기서 오류는? 정작 코딩을 어릴적부터 하는 것이 좋은가에 대한 전문가가 아니다. 이런 인터뷰를 반영하는것이 아니라 연구 데이타로 쓴다거나 그냥 즐겁게 참고하면 된다.

요즘 업계에서 자주 오르내리는 일론머스크. 위키피디아를 보면 12살때 컴퓨터 프로그래밍을 독학했다고 나와있다. 여기서 예를 들어, 우리가 위의 여러 예시들에서 암묵적으로 가정한 “성공”의 여건은 프로그래밍이었을까 아니면 독학이었을까. 알아낼 방법은 없다. 그렇다면, 조기 코딩 교육이 좋은가하는 질문에는 사실 여부를 떠나 도움이 되지 않는 일화다. 좋다는 찬성 의견을 팔때 사용하는 일화일지언정. 더 반대쪽으로 가서, 어릴적부터 코딩을 배우지 않은 석학과 성인과 유명인과 부자들을 찾아볼까? 이들이 어릴적 코딩을 배웠다면 더 나은 결과가 되었을까? 김정은이 어릴적 코딩을 배웠다면(배웠을지도?) 나라를 더 잘 운영할 수 있었을까(나 종북 아님)? 안다,억지스런 질문인거. 요컨데, 요점은 이 질문들은 다 답을 낼 수 없는 엉뚱한 방향이라는 사실이다.

좋지 않다는 주장을 하기 위해서 던진 화두가 아니다. 전에도 적었듯이 개인적으로는 중립적이다. 단순하게 왜 코딩 – 이 뭔지부터 – 을 일찍 배우면 좋은가에 대해서 이야기를 하자는 것이다. 저커버그가 페북 CEO가 되었기 때문에 코딩을 배우자는 분위기를 흘리는 이야기는 웃기다는 것이다. 무슨 코딩이 논리의 만능 도구라도 되는 마냥 이야기하거나(코딩을 잘하는데 논리는 코드에서만 볼 수 있는 분들 많지 않던가? 논리라면 필요 조건과 충분 조건부터 구별해보자.), 문제를 가장 효율적으로 해결하는 최상의 교육 아이템이라고 단정할 근거가 뭔지. “내가 어릴 적부터 배웠는데, 지금 도움이 많이 되었다”는 각자의 경험적인 흑백 근거?

<인용>”SW를 문제 해결 방식 가운데 하나로 들여 오자는 겁니다. 먼저 문제 해결 능력을 기르는 수업(이 가능한 여건)을 갖추고 SW를 그 수단으로 삼자는 거지, SW 자체를 익히도록 하는 게 중요한 건 아녜요.“</인용> 이런 이야기라면 모를까. 한문장으로 <인용>”코딩 수업의 목표는 제2의 저커버그, 빌 게이츠, 스티브 잡스가 돼서는 안 된다. 건실한 교육과정과 흥미에 초점을 맞춰야 한다.“</인용>라는 이야기.

코딩을 배우는게 구체적으로 뭘 배우라는건지(언어? CS커리큘럼? 툴활용? 이론?) 얼마나 걸려서 어떻게 배우라는건지 왜 언제부터 배우라는건지 이런질문도 없이 그냥 코딩을 일찍 배우는게 좋다는 말은 나도 할 수 있다. 코딩을 일찍 배우는게 좋다. 나도 했다.

나는 코딩이라는 매개를 통해서 얻는 문제 해결 능력과의 연결고리를 단순히 코딩을 가르치는 것으로는 배울 수 없다는 견해다. 그 연결고리로 가이드를 하고 교육해야지 코딩만을 가르친다고 연결고리를 알아서 깨닫게 수준으로는 입시에 넣어봐야 암기과목 하나 더 늘이는 것 밖에는 되지 않는다는 생각이다. 매개 자체가 문제 해결 능력을 준다니, 코딩으로 문제 해결 능력을 기를/깨달은 능력이 된 일부 이외의 사람들에게는 꿈같은 이야기 아닌가. 재능이 있는 사람을 위한 교육은 아니지 않나. 그렇다면 코딩이 아닌 다른 것으로도 풀 수 있는 요소일 수 있지않을까? 코딩을 교과목에 넣어야된다는 논의보다 커리큘럼이나 프레임웍을 어떻게 짜야할 것인가가 더 어려운 것이지 않을까. 혹여, 잘못된 도입으로 인해 컴퓨터가 없으면 문제를 못푸는 부작용(확장이 아니라 대체)이 생길지는 생각해봐야할 일이다.

(전에도 공유한) 이 동영상 거의 마지막에 Wes Dyer가 이렇게 이야기한다: <인용>”대부분의 프로그래머들은 오퍼레이셔널(operational; 번역할 단어가 딱히 없어서 영영사전의 뜻을 적는다: pertaining to a process or series of actions for achieving a result)하게 생각한다. 다음 단계로 뭘 해야하는가, State Machine이 어떻게 영향을 받는가 등.”</인용> 공감한다. 현재의 프로그래머들은 다수가 튜링의 시대에서 튜링의 이론하에 코딩을 하는데, 절대적이라고 생각했던 튜링의 시대가 우리가 생각하는 방식의 어떤 한계였을지도 모를일이다. 예를 들어, Actor Model을 만든 Carl Hewitt은 동시성(Concurrency) 더 나아가 컴퓨팅을 튜링의 이론만으로는 해결할 수 없다는 이야기를 한다. 이런 생각이라면, 우리가 생각하는 현재의 방식의 코딩을 어릴 적부터 가르치는 것이 맞는 방향인지 흔들리기 시작한다. 되려 우리 아이들이 생각하는 방식을 산업에 맞게 획일화하는 것은 아닐까. Carl Hewitt같은 생각을 낸 것은 코딩을 나중에 배웠기 때문에 나온 것인지 알 수 있나. 예를 들면, 이미 사고 방식이 선 이후에 배운 코딩으로 말이다.

어떤 언어를 배워야하나를 정한다면? 베이직같이 그냥 쉬운 걸로? 혹은 헷갈리는 JavaScript로? 함수형 언어도 요즘 새롭게 영향을 미치고 있다. 예를 들어, Douglas Crockford는 다음 ECMAScript 표준에 수학에 배경을 둔 (그리고 물리에서 영향을 받고, 함수형 언어에서 사용되던) Monad 구현을 위한 내용들이 들어간다고 한다. 절차형이나 객체형 언어를 배우는 것이 미래 지향적인 것이라는 생각에 또 금이 간다. 대학 1학년, 갑자기 카/크들거리면서 Lisp를 배워야했던 기억도 생각난다. 프로그래밍의 기본을 가르치는 교과서적인 SICP도 Scheme을 사용한다. 게다가 컴퓨터 이론의 증명은 수학을 사용한다(컴싸 석학들이 수학/물리학 배경이 많은 것은 너무나 당연하다). 어릴적 컴퓨터 학원에 다닐 수 있었는데, 그때 처음 배운 것은 Lotus 1-2-3였다. 교육을 위해 만들어진 스퀵도 있다. 예시가 너무 멀리까지 간 것 같지만, 단순히 어느 언어냐보다는 우리는 무엇을 코딩으로 가르치려는가를 명확히 짚고 가야할 필요성이 크다는 것이다. 고등학생이 Lisp을 배우지 말란법이 없고, 수학적 알고리즘 분석을 하지 말란법 없다. 배우고자하는 바를 효과적으로 전달하는 언어를 사용해야지 유행하는 언어나 꼭 현업에서 실용적인 언어를 쓸 필요도 없다. 왜 그래야하는가가 명확하다면. (단순히 사업을 만들기 위한 의도로 언어를 새로 만들겠다는 쓰잘데기없는 논의는 하지 말자.)

프로그래밍을 요하는 직업이 엄청나게 늘어난다고해서 모두가 프로그래밍을 해야된다는 논리도 설득력이 없다. 집수리를 하기 위해서 배워야되는 것은 집수리를 할 때 배워도 되지만, 먼 미래에 집을 가지게 되면 집을 수리할지도 모르니 그때 쓰라고 집수리 방법을 학교에서 가르치라 식인 것도 마찬가지다. 집수리가 아니라 도구, 재료, 원리 이런 것을 가르쳐서 뭐든 수리를 할때 도움이 되는 것과 미래에 무슨 수리를 할 지 모르는데 집수리를 가르치는 것과는 다를 것이다. 선택이 아닌 정규교육이 선택을 하는 직업교육으로 바뀐다는건 슬플 것 같다. 이미 우리나라에서는 프로그래머들의 미래가 그렇게 투명하다는데에 부정적인데, 아이들에게 가르치라면 역시나 공감하기 쉽지 않다. 교과 과정으로 코딩을 가르치자는 취지가 프로그래머 대군 양성이라면 혹은 단순히 유행을 따르는 것이라면 혹은 단순히 특정 산업의 발전을 위해서라면 바른 방향이 아닐 것이다. 하드웨어가 다시 유행하면 다시 땜질을 가르치고 바이오테크가 유행하면 실험장비에 집착할 것인가. 하지만, 언젠가는 어떻게든 컴퓨팅 시대에 맞게 바뀌어야될 것이 교육이니 모/도로 이렇게 한다 안한다만을 이야기하지 말고, “왜” 논의를 지속적으로 하면서 고쳐나가는 것이 미래 지향적일 것이다. 이미 지구상의 교육 혁명은 일어나고 있는데 말이지.

이상, 교육 전문가가 아니라 소프트웨어 엔지니어의 입(손가락)에서 나왔기에 믿을 수 없는 글이었다.

Written by charlz

2014년 2월 2일 at pm 4:00

Uncategorized에 게시됨

책이라는 호흡 단위

with one comment

우리는 전세계적으로 책 판매량이 줄어들고 있는 추세(그것이 장기적이든 단기적이든)를 이미 몸으로 그리고 본능적으로 느끼고 있다. 점점 더 많은 시간을 책을 읽는 것보다는 영화를 보고 웹서핑을 하고 게임을 하는 시간으로 보내니 말이다. 미디어 매체가 진화하고 있으니 사람들도 이에 맞춰서 바뀌고 있는 것이고 당연하다.

사람들은 책이라는 호흡에 익숙해져있다. 공부를 하거나, 어떤 이야기를 읽거나, 하나의 주제를 섭취하는 호흡 말이다. 50분 수업하고 10분 쉬는 것처럼, “책한권”이라는 단위에 익숙하다. 언제까지 이 책을 읽을 것이다라는 어떤 commitment(공약)의 단위이기도 하다. 적어도 정규교육을 마치고 사회에 들어가기 전까지 최소한 12년 이상을 이 호흡에 맞춰서 몸에 익힌다. 두꺼운 책은 두권으로 나눠서 한편 이상으로 나누기도하고, 어떤 주제들은 책을 여러권 엮은 한 질로 구성된다. 아마도 들고 다닐 수 있는 분량이나 두꺼워도 최소한 넘겨서 볼 수 있는 만큼으로 제한을 한 그런 물리적인 한계에서 온 단위라는 생각을 한다.

하지만, 이미 컴퓨터와 인터넷이라는 매체로 이런 물리적인 제약의 필요성 자체는 사라진지 오래다. 하이퍼 미디어는 단위를 굳이 책 분량으로 나눌 이유가 없다. 사람을 책에 맞추기 보다 글을 사람에 맞추는 것이 가능한 세상으로의 진화 요소는 갖춰진 것이다. 게다가 글이 아니라 여러가지 다른 미디어를 통해서 더 효율적으로 전달하는 방법도 발전하고 있다.

지금의 책에 익숙한 세대라면 새로운 방식보다는 익숙한 책의 단위가 더 편할 것이고, 새로운 것에 적응하는 것보다 효율적일 수도 있을지 모르겠다. 하지만, 이후의 세대에게는 새로운 미디어에 훨씬 익숙해져 있음에도 그것에 맞춘 방식이 아니라 구세대(?)적인 방식에 꿰맞춰서 교육받을 수 밖에 없는 상황이 되고 있는 것일 수도 있다.

이에 맞춰 효율적인 방법으로 시스템이 변화해야되고, 적절한 단위를 만들어내는 수많은 연구와 실험이 필요하고, 또한 이를 위해서 훈련을 하는 것이 필요하다. 어찌보면 너무나 자연스러운 변화일 것인데, 점차 책을 읽지 않는 현상 자체는 분명 탓할 대상이 아니라 생각한다. 우리 사회도 책의 호흡을 기준으로 헤쳐 모여있다. 때문에 이를 벗어나려는 움직임에는 저항이 뒤따르고, 변화는 더딜 수 밖에 없다. 예를 들어, 교과서는 안가져오면 선생님한테 혼나기에 물리적인 책을 “구매”해야되는 사업 대상인 것이다. 책을 예로 들었지만, 잡지나 신문의 예도 마찬가지다.

상업적인 영역에서는 변화가 생각보다 빠르다. 기존 책을 단순히 그대로 전자 매체로 바꾸는 초기 단계이기는 하지만, 그 이북의 성장도 괄목할만 하다. 변화의 첫 단초이겠다.

책보다 작은 단위의 다양한 실험들이 이뤄지고 있다. 이미 십여년전부터 블로그라는 플랫폼을 통해 개인의 생각을 적는 단위를 만들었다 – 생각보다 블로그를 엮어서 책을 만드는 사례가 적은 것도 책이라는 호흡과는 다름을 내포한다고 생각한다. 근래에는 Medium, Svbtle 같이 이를 더 강화해보려는 실험도 있고, 모바일 영역에서 카카오페이지와 같이 책과는 다른 단위의 마켓을 실험하기도 했고, 교재들의 멀티미디어화 실험들, 글들의 다양한 매거진화 실험들, Kindle Singles와 같은 짧은 이야기를 저렴하게 판매할 수 있는 실험등등 상상할 수 있는 것들은 다 실험되고 있다. (아직 딱히 굳어진게 없어서 모두 실험으로 생각한다.)

MOOC도 굉장한 변화를 겪고 있다. 교재를 필요로하지 않는 강의들도 굉장히 많아졌고, 미디어의 길이도 한시간이 아니라 짧게 토막으로 제공하는 경우가 많다. MOOC이 아니라도 TED처럼 일부러 요점에 다가갈 수 있게 짧은 시간을 강제하는 형태가 되려 지식을 얻는 호흡으로 생각할 수 있겠다. 짧은 팟캐스트나 혹은 책을 읽어주는 오디오북도 책의 호흡을 바꾸는 한 형태이겠다 – 책 한권을 읽어주는 시간은 꽤나 길다. 만화도 인터넷의 호흡으로 바꾸는 다양한 노력들이 생겨나고 있다. 만화책의 포맷으로 제공하던 것을 반대로 웹툰이라는 스크롤 형식으로 바꿔 제공하는 것도, 만화책이 아니라 연재 단위를 판매하는 것도, 모두 이런 호흡의 변화의 조류와 맞물리는 것일게다.

작년 노벨 문학상의 Alice Munro도 숏스토리로 인정받았다는 사실도 우연일까.

가장 중요한 섹터인 교육도 바뀌어야한다. 단순히 숙제를 온라인으로 올린다거나 교과서를 다운 받을 수 있다거나 인강을 한다거나 그런 도구와 매체 자체의 활용도 이뤄져야하고 이뤄지고 있는 부분이지만, 길게보고 시작해야되는 훨씬 근본적인 호흡의 변화에 대한 연구와 논의 이야기는 진행되고 있는걸까. 세상은 이미 변하고 있으니 이를 가리키는 손가락은 그만보고, 미디어 자체에 대한 그 손가락 논의를 빨리 벗어나서 달을 보는 진화를 해야하지 않을까 생각된다. 정작 중요한 교육 자체의 변화를 대비하는 논의는 아직 들어본 바 없다(그렇다고 그런 논의가 없다고 할 수는 없겠지만).

아직도 매체만 바꾼다고 책을 보는 시간이 컴퓨터로 게임을 하는 시간으로 대체되는 것처럼 이야기하는 것도 문제겠다. 책으로 보던 것을 디바이스로 보는 것으로 바꾸는 것과 시간을 활용하는 것은 다른 문제일테니 말이다. 이런 매체 자체에 대한 부분들은 반영이 더딜 필요가 없지 않나 싶지만, 반면에 교육 자체를 바뀐 포맷을 활용하도록 진화시키는(예컨데 시험을 보는 방식이라든가, 교과 과정을 책이 아닌 새 매체의 호흡에 맞게 적용한다든가) 논의는 어설프게 급조한 스마트 교육이라는 이상한 형태가 아닌 충분한 베이킹 시간이 필요할 것이다. 모 대통령이 던진 사회성/인성같은 이야기는 프로그래밍을 배워야 된다는 커리큘럼에 대한 논의 이전에 사이버에틱스(cyberethics)과 같은 것을 배우는 것과 같은 논의로 풀어야될 역시나 다른 이야기지 않을까.

뭐, 신문이 없어질리가 없다는 이야기와는 다르지 않게, 책도 없어질리가 없다고 이야기할 수 있다. 하지만, 없어지냐 없어지지 않느냐는 지식 소비자에게는 그다지 중요하지 않다. 어떻게 바뀌고 있느냐가 직접적으로 내가 어떻게 바뀌어야하느냐와 연결되어있기에 더 중요하지. 앞으로는 구세대적인 것이 되어버릴지도 모를 책의 호흡 단위지만, 지금은 의도적으로 그 변화를 생각하는 것은 새로운 시대를 사는데 중요한 요소일 것이라는 생각을 해본다.

Written by charlz

2014년 2월 1일 at am 3:41

Uncategorized에 게시됨