비전공 학생이나 일반인들에게 꾸준히 코딩 능력이 강조되고 있지만 그 습득방식은 제자리걸음이다. 수십년간 보급된 거라곤 어려운 전공입문 교재나 실용성이 거의 없는 유아용 학습도구뿐이다. 재미삼아 시작해 점차 숙달하는 과정으로 이어지지 못하고 있다. 캐나다 밴쿠버 브리티시컬럼비아공과대학(BCIT) 컴퓨터공학과 교수이자 베테랑 개발자인 포프 김(Pope Kim) 씨의 생각이다.
김 씨는 한국 출생으로, 30년쯤 전 컴퓨터반이 신설된 초등학교 고학년 때 처음으로 프로그래밍을 접했다. 연세대 법학과를 졸업했다. 이후 미국 조지아공대 대학원 컴공과를 졸업했다. 헤일로, 피파, 마인크래프트 등 유명 게임 렌더링 프로그래머로도 경력을 쌓았다. 지금은 캐나다에 거주하며 BCIT 컴공과 교수직과 스타트업 '글루와' 최고기술책임자(CTO)를 겸하고 있다.
그에 따르면 시중 '입문서'들은 기초가 아니라 특정 프로그래밍 언어의 문법을 설명한다. 입문서라면 언어가 아니라 기본 개념을 가르쳐야 한다. 김 씨는 이런 문제의식으로 프로그래밍을 전혀 경험해보지 않은 학생과 일반인을 위한 입문서를 썼다. 올초 출판사 한빛미디어를 통해 출간된 'Hello Coding 개념부터 처음 배우는 프로그래밍'이다. 책은 출간 3주만에 2쇄를 찍었다.
최근 한국에 들른 김 씨를 만났다. 인터뷰를 통해 비전공자를 위한 프로그래밍 입문서를 쓰게 된 배경, 그가 프로그래밍을 접하고 지속하게 된 과정을 들을 수 있었다. 그가 대학교 교수로서 보고 듣고 경험한 현재 교육 환경의 문제점, 개인적으로 구상중인 온라인 기반의 대안 교육 서비스에 관한 계획, 스타트업 글루와에서 맡은 CTO의 역할도 알 수 있었다.
포프 김 씨와의 인터뷰를 아래 1문 1답으로 정리했다.
■ "즐기면서 잘하고 싶게 만들어야…누구나 코드 짤 수 있게 돕는 책 쓴 이유"
- 일반인 대상 프로그래밍 입문서를 쓴 계기는
"일단 나는 프로그래머라는 직장을 좋아한다. 자유롭다. 평소에는 집에서 일한다. 노트북만 들고가면 어느 나라에서든 일할 수도 있다. 시스템통합(SI) 업종 쪽은 그렇지 못할 수도 있지만. 출퇴근시간도 그렇고. 이런 자유를 누리며 일할 수 있는 직업은 프로그래머 뿐이라고 본다.
그리고 세상 모든 게 컴퓨터로 돌아가고 있다. 앞으로 점점 더 그럴거다. 일반 직장인도 코딩을 점점 많이 하게 될 거다. 그럼 뭐가 좋을까. 예를 들면, 회사에서 업무 자료 쌓이는 폴더 구조가 잘못됐다 치자. 수작업으로 일일이 자료를 재정리하느니, 코드를 짜서 돌리면 훨씬 간단하지 않을까.
그렇게 되려면, 일반인도 따라할만큼 쉽게 구성된 입문서가 필요하다. 이미 좋은 툴이 만들어져 있는 언어, 일반적인 기본개념을 돕는 프로그래밍 언어로 누구나 따라서 코드를 짜고 이해할 수 있게 돕는 책을 쓰고 싶었다. 그걸 만들겠다 결심하고 (출판사 쪽에 책 쓰자고) 제안했다.
- 다른 프로그래밍 습득 도구나 책과는 어떻게 다른가
"나는 농구를 좋아하지만 제대로 배운 적은 없고 '잘 하고 싶다' 하는 수준이다. 이렇게 사람들이 스스로 프로그래밍을 잘하길 원하고 연습을 하기 전 단계로 이끄는 과정을 만들려 했다. 스크래치는 너무 쉬워서 연결이 안 된다. 기존 책은 컴공과 입문과정 수준이라 즐길 사람을 못 끌어온다.
내 책은 프로그래밍에 엄청나게 중요한 개념 그런 것 없다. 따라서 해 보고, 이거 내 길이 아니다 싶으면 안 하면 된다. 이게 내 길이다 싶으면 좀 배워서 어떤 일 더 쉽게 해내는 수준이 될거냐, 전문 프로그래머가 될거냐, 본인이 결정하면 된다. 그 땐 좀 더 제대로 된 책을 찾아 보면 된다.
책은 얇다. 300페이지 정도 분량이다. 내용은 허술하다. 따라 하면 몇년 전 무한도전에서 보여준 '숫자야구' 게임같은 걸 만들 정도가 된다. 내가 선택한 학습용 언어는 씨샵(C#)이다. 현존하는 여러 언어와 툴, 다른 언어에서도 존재하는 개념 등 조합을 봤을 때 입문용으로 C#이 최적이었다."
■ "코딩정규과정 생겼지만 도움 안 돼…배우는 시점 오히려 더 늦어진 듯"
- 본인은 프로그래밍을 어떻게 시작했는지
"초등학교 5~6학년 때 처음 했다. 학교에 컴퓨터반이 생겼다. 전산학과 졸업자가 와서 가르쳐 줬다. 뭔지도 모르고 열심히 배웠다. 나와 관심 있는 아이들끼리는 수업과 별개로 잡지에 실린 '방구차 게임만들기'같은 코드를 따라서 입력해 보고, 구동해서, 게임하며 놀았다.
중학교에 가선 별 목표 없이 잡다한 걸 만들다가, 고등학교에선 팀을 만들어서 게임을 열심히 만들려고 했다. 어쩌다 대학은 법대로 갔는데 졸업하고 22살쯤 캐나다로 가게 됐다. 이후 한국에 왕래하지 않았지만, 막연히 '지금쯤이면 프로그래밍 교육이 나 어렸을 때보다 체계화했겠지' 여겼다.
어렸을 땐 사무직 종사자들이 거의 엑셀을 다룰 줄 몰라서, 중학생에게 '이거 어떻게 쓰냐'고 물어볼 시절이다. 지금 (컴퓨터 일찍 접한 세대들은) 웬만한 오피스 프로그램 쓰지 않나. 프로그래밍도 더 어린나이에 교육을 시작하거나 기본 소양 정도로는 자리잡을 줄 알았는데, 그게 아니더라."
- 습득방식이 정체된 이유는 뭐라고 보나
"요즘 사람들이 프로그래밍 어떻게 배우는지 보니, 내가 배울 때처럼 일단 따라하면서 재미를 느끼는 식으로 입문한 경우가 드물다. 소위 코딩정규과정이라는 게 생겼는데, 그게 다루는 언어나 툴을 보면 아무리 봐도 프로그래밍에 취미 붙일 수 있게 해주는 방식으로는 안 보인다.
2가지가 있다. 하나는 3~4살 수준에 맞춰 블록맞추기로 만든 스크래치. 이거 쓴다고 프로그래밍 이해할 수 있을 거라 보지 않는다. 어렸을 때 갖고 논 '과학상자' 설명서 따라서 조립했다고 과학 이해했다고 할 수 있나. 입문자에게 간단한 코딩을 하게 해줘야 맞다고 생각한다.
나머지 하나가 400~500페이지 분량의 프로그래밍 언어 책인데, 어떤 언어 하나를 잡고 처음부터 끝까지 훑는 구성이 대부분이다. 간단한 코딩 목적에 안 맞는다. 입문자가 클래스, 상속 이런 걸 왜 알아야하나 싶게 만든다. 내가 초등학교 때 그걸로 배웠으면 안 했을 거 같다.
요즘 늦게 시작하는 경우가 오히려 흔해졌다. 프로그래밍을 대학교와서 배우면 될 거라고 믿는 사람이 많아진 거다. 캐나다에서 교수로 일해보면서도 그런 사람들 있다는 걸 느꼈다. 교육이 후퇴하는 것 같다. 그저 영어를 중시하고, 학원을 많이 다닌다. 왜 이럴까 생각하게 됐다."
■ "온라인코스는 전문화 미흡…대학에서 핵심 안 가르치고 졸업"
- 교육 환경이나 제도에 문제가 있다고 보나
"코세라, 유다시티, 유데미 이런 걸 보면 평생교육, 모두를 위한 교육을 주창한다. 취미론 좋지만 그걸 익혀서 직장에서 돈을 벌거나 일하는 데 도움이 되는 수준까지 못 가고 있다고 본다. 그걸 하면 내 삶이 좋아질 거란 '망상'을 팔고 있다. 학교가 거기 맞춰가려는 게 망가지는 이유라고 본다.
대학 컴공과에선 핵심을 가르치지 않고 졸업시키는 경우가 있다. 이유는 알 수 없지만 교수가 학생에게 낙제를 주지 못하기도 하고. 교육을 통해 기술을 가르치는 게 퇴색된 것 같다. 교육을 바꾸고 싶다. 10년 뒤에 졸업 치킨집 차리게하는 교육 말고, 성장할 기반을 다지는 교육을 하고 싶다.
온라인스쿨을 만드는 게 목표다. 컴공 1과목 1년반짜리 과정으로 시작해 더 늘려갈 생각이다. 내용은 기본기에 초점을 맞추고, 시험을 직접 치르지 못하는 점, 1980년대 과제 채점 방식, 내용에 집중하지 않고 멍하니 영상만 보다 끝나는 수업, 이런 온라인 특성에 따른 단점을 없애려 한다."
- 온라인스쿨 어떻게 만들고 운영할 계획인지
"일단 온라인코스식 교육을 위해 컴퓨터로 시험을 쳐서 곧바로 점수를 주는 자동화시스템을 만들었다. 과제를 채점할 때 몇 번이고 재시도해 전체 수강자 성취도를 99%까지 높일 수 있게 했다. 학교 실습을 실시간으로 못 따라가는 학생들도 이를 활용해 수업 내용을 따라갈 수 있다.
온라인코스에서 시험을 직접 보지 않는 문제는 해결할 수 있다. 웹캠으로 모션 인식하고, 지문 찍고, 사진 촬영하는 방식으로. 이런 시스템을 제공하는 서비스가 나와 있다. 아직 딱 하나 해결하지 못한 건 실시간 수업이다. 이 외엔 대학과정 자체를 온라인으로 옮길 수 있다.
요즘 컴공 50, 60점 받아 패스하고, 취직할 수 있다. 하지만 10년 뒤 힘든 자리에서 일하는 경우 많다. 학교에서 무책임하지 않았나 생각한다. 차라리 졸업요건을 높여 맞추게 하겠다. 시험 잘 보려면 몇 번이든 시도해도 되니까. 기술면접에 가서 봐야 하는 걸 다 시험으로 익힐 수 있게 하겠다."
- CTO로 일하는 글루와는 어떤 회사인지
"사업에 맞는 제품을 만드는 데 주력하고 있는데, 블록체인이 필요해서 쓰게 됐다. 원래 하려던 건 '은행보다 편한 은행'이다. 시중은행 대출을 못 받거나 그 돈을 쓰기엔 불편해서 연결되지 않는 분야에, 누군가 보유한 암호화폐 빌려주면 그 이자 수익을 얻게 해주는 플랫폼이다.
글루와는 블록체인이 뜨고 나서가 아니라 그 전에 설립돼 암흑기를 버텨낸 회사다. 우리는 이 모델이 완전 탈중앙화 체제로 가진 못할 거라 본다. 그래서 중앙정부에 대한 사람들의 신뢰를 활용하는 게 중요하다고 판단하고 있다. 정부감사 받고 신용관련법을 준수해 공신력을 얻고자 한다.
관련기사
- “초급 개발자의 마지막 희망이고 싶다”2018.04.30
- 2018년에 수요 많은 프로그래밍 언어 7가지2018.04.30
- 프로그래밍 언어 '파이썬' 인기 폭발…왜?2018.04.30
- "SW는 도구일 뿐"…프로그래머 출신 대만 장관의 SW교육관2018.04.30
하이퍼레저 프로젝트의 '소투스(Sawtooth)'가 이런 블록체인 플랫폼화를 도울 기술이다. 소투스를 갖고 회사 비즈니스에 맞는 플랫폼을 만드는 방향으로 개발하고 있다. 소투스라는 코어에, 합의알고리즘과 트랜잭션패밀리 이 2가지만 코딩하면 온갖 프로젝트의 ICO 내용을 구현할 수 있다.
지금은 사무실이 캐나다 밴쿠버, 미국 실리콘밸리, 한국, 3곳에 있다. 개발자 대부분은 캐나다에 있다. 미국 인력은 비즈니스 및 법률 담당자가 대부분이다. 한국에는 운영 및 개발 인력이 있다. 캐나다에는 순수하게 개발자들만 있는데 나와 예전에 같이 일했던 사람들이다."