수학적 사고력은 왜 전이되지 않을까?
결론부터 말하자면 수학, 코딩, 논리학, 철학, 인문고전을 공부한다고 해서 문제해결능력이 길러지지 않습니다.
얄팍한 편견들
주입식 교육의 한계
한국 교육의 문제는 뭘까요? 암기식 학력고사가 사고력을 묻는 수학능력시험으로 바뀐 지금도, 다들 주입식 교육이 문제라고 합니다. 세상은 변했는데 문제의 원인에 대한 생각은 여전히 피상적입니다.
주입식 교육을 받다보니 현실 문제를 해결할 수 없다는 지적이 많이 나옵니다. 지식만 암기해서는 회사의 실무에서 만나는 복잡하고 새로운 문제를 해결할 수 없다는 거죠.
ㅇㅇ을 공부해야하는 이유? : 형식 도야 이론
전이 검사를 사용한 첫 번째 집단은 손다이크와 그 동료들이다. (Thorndike & Woodworth, 1901) 그들은 당시를 풍미한 '형식 도야(formal discipline)'의 원리를 검증하기 위하여 연구를 수행하였다. 이 원리에 따르면 라틴어와 같이 어려운 교과목을 학습하고 훈련하는 것은 일반적인 학습과 주의집중 기술을 발달시키는 것과 같이 광범위한 효과를 갖는다. 하지만 이러한 연구는 형식도야의 가정에 근거하여 교육경험을 고안하는 것이 유용한가에 대하여 심각한 의문을 제기하였다. 학습은 다양한 영역의 수행을 가능하게 하는 '일반 기술'이나 '정신 근육'의 발달이라기 보다는 구체적인 것을 배우는 것으로 이해할 수 있기 때문이다.
[학습과학 - 뇌, 마음, 경험 그리고 교육 : 3장 학습과 전이]
사고력이나 문제해결능력이 중요하다는 이야기가 계속 나왔습니다. 이런 주장의 레파토리는 조금씩 다르지만 다들 비슷한데요. 자기계발서 작가와 방송, 사교육 업체, 대충 생각한 정책들이 기회를 놓칠리 없습니다. 코딩 사고력이니, 인문고전 리딩으로 리드하라던가, 수학의 쓸모가 어쩌구... 트위터에도 ㅇㅇ을 공부해야하는 이유에 대해 말하는 분들이 정말 많습니다.
그런데 저는 궁금합니다. 그러면 정말 이런 걸 공부하면 일반적인 문제해결능력이나 사고력이 길러질까요?
왜 지식은 실무로 전이되지 않는가?
지식은 맥락 의존적이고, 특화되어 있다
특정 상황에서 학습한 것을 새로운 상황에 적용시킬 수 있는 능력인 전이는 학습경험의 유형을 이해하는 데 특히 중요하다. 교육학자는 학생이 특정 교육과정에서 경험한 문제부터 다른 학습문제로, 금년에 배운 것이 직장생활에 필요한 것으로 학습전이가 일어날 것을 바란다. 즉 전이는 특정과제를 '훈련시키는 것'보다 광범위하게 '가르치는 것'이 더 낫다는 믿음에 근거하고 있다.
[학습과학 - 뇌, 마음, 경험 그리고 교육 : 3장 학습과 전이]
수학이나 논리 같은 지식은 특정 '맥락'에 특화되어 있습니다. 수학을 공부하면 수학 문제를 잘 풀게될 뿐이지, 문제해결능력이 좋아지지 않습니다. 상황과 분야에 따라 해결해야하는 문제도, 방법도 매우 다르기 때문입니다.
예를 들어 어떤 학생이 혼자서 어려운 무한 등비 급수 문제를 잘 풀어낸다고 합시다. 과연 이 학생은 자동차 공장에서 결함이 자꾸 생기는 이유도 논리적으로 분석해서 풀 수 있을까요? 다시 말해 수학 시험에 특화된 지식을, 자동차 공장으로 '전이(transfer)'시킬 수 있을까요?
제가 읽어온 3권이 넘는 [인지심리학] 교과서부터 많은 책들은 그렇지 않다고 말합니다. 앞으로 이 다양한 연구를 하나씩 소개할텐데요.
시험과 야생의 차이
저는 이런 학교 학습과 반대되는 개념으로 '야생 학습'이 있다고 말합니다. 야생 학습의 특징은 아래와 같습니다.
- 야생학습은 대부분 협력적이다 (학교 학습은 대부분 개별적이다)
- 야생학습은 대부분 비순차적이다(학교 학습은 대부분 공부 순서가 정해져 있다.)
- ... (이하 생략)
[함께 자라기] 12p - 김창준 지음
일단 그 이유를 이해하려면 학교와 실제 현장을 비교해볼 수 있습니다.
보통 학교에서 배우는 수학이나 논리학 문제는 이미 잘 정식화되어 있습니다. 어떤 값이 주어졌고, 무엇을 구해야하는지 정확하게 알려줍니다. 시험에는 심지어 '범위'도 있죠. 유형을 달달 외우면 문제를 보자마자 척 하고 답을 찾는 경우도 많습니다. 반면에 실제 현장에서는 문제를 정의하기조차 쉽지 않습니다. 예를 들어 기계에 결함이 있을 수도 있지만. 기계를 잘못 조작했을 수도 있습니다. 한편으로는 결함을 검사하는 장치가 잘못됐을 수도 있죠! "테스트에는 버그가 없다고 장담할 수 있나?"라는 말도 있지 않습니까?
일반적인 학교 교육에서는 혼자 문제를 해결합니다. 시험을 여러 명이 같이 보진 않죠. 하지만 실무 현장에서는 다른 사람에게 협력을 구하지 않으면 기본적인 단서나 정보조차 얻기 쉽지 않습니다.
시험에서는 정답만 찾으면 끝이지만. 회사에서는 정답을 찾았다고 해도 해결하기 어려울 수 있습니다. 예를들어 정규직 노동자를 해고하고, 비정규직 고용이 늘어나면서... 숙련된 직원들의 암묵지나 경험이 계속 사라지고 있다고 해보죠. 그러면 경영진에게 가서 비싸도 정규직 고용을 늘려야한다고 말해야할까요? 아마 경영진 분들은 그러면 돈이 들지 않느냐. 어떻게든 해결해보라고 하지 않을까요.
원래 지능이 좋은 거지, 수학을 공부해서 길러지는 게 아니다
이 연구는 인재 선발에서 85년간 이뤄진 연구의 실용적이고 이론적인 함의를 요약하고자 한다. 메타 연구에 근거하여, 이 연구는 업무 성과와 훈련 성과를 예측하는 데 있어 19가지 선발 절차의 타당성(valididy), 그리고 일반 정신 능력(GMA)을 비롯해 다른 18가지 선발 절차를 짝지어 조합(combinations)한 방식의 효과를 보여주려 한다. 전체적으로 업무 성과를 예측하는데 가장 타당하고 실용적인 3가지 조합은 GMA와 작업 샘플 평가(평균 타당도 .63), GMA와 진실성 평가(intergrity test) (평균 타당도 .65), 마지막으로 GMA와 구조화된 면접이었다. (평균 타당도 0.63)
[The Validity and Utility of Selection Methods in Personnel Psychology: Practical and Theoretical Implications of 85 Years of Research Findings] - Frank L. Schmidt, John E. Hunter
그래도 학자들은 일반적인 문제해결능력이 존재한다는 걸 밝혀내긴 했습니다. 그게 바로 GMA(general mental ability) 보통은 IQ라고 알고 계시는 일반지능 G요인(G factor) 인데요. 심리학자 스턴버그는 이런 일반지능을 3가지로 나눠서 분석지능, 창의지능, 실용지능 3가지가 있다고 주장하기도 했습니다.
이런 IQ의 상대적 차이는 상당 부분 유전적으로 결정됩니다. (물론 여기에도 많은 논란이 있지만 나중에 또 글로 다루겠습니다) IQ가 높은 사람은 정말 모든 걸 잘 합니다. 영어도 잘 하고, 수학도 잘 하고, 대부분의 업무 수행능력이 좋습니다. 위에 인용문을 보시면 알 수 있듯이 어떤 테스트라도 GMA 즉 일반 지능을 같이 검사하는 게 가장 효과가 좋았습니다.
심리학자 제프리 밀러는 [스펜트]라는 책에서는 학벌주의가 그래서 비효율적이고 차별적이라고 말합니다. 그냥 IQ테스트를 했으면 가난해도 똑똑한 학생이 뽑힐텐데. 입학사정관이니 스펙이니, 값비싼 대학 등록금으로 부자들만 스펙을 쌓을 수 있는 '과시'성 제도라고 말이죠.
본론으로 돌아와서요. 이런 이야기를 하는 이유는 "제가 보니까 수학을 잘 하는 사람들은 문제 해결도 잘 하고 똑똑하던데요?"라고 말하는 분이 있어서 그렇습니다. 그 분들은 수학을 열심히 공부해서 통찰력이 생긴 게 아닙니다. 그냥 원래 머리가 좋으신 거죠.
IQ가 높으면 대학도 잘 가고, 수학도 잘합니다. IQ를 통제하고 통계를 내보면 수학을 못하거나 안 좋은 대학을 나온 사람도 IQ만 높으면 일을 잘 합니다.
반면에 IQ가 낮지만 수학을 잘하거나, 집에 돈이 많아서 좋은 대학에 간 사람은? 딱히 업무 능력이 더 좋아지지 않습니다. 왜냐면 수학에 특화되고, 시험에 특화된 지식을 배웠을 뿐이고. 그건 실무와 아무런 관련이 없으니까요.
만능 천재가 아니라 전문가를 기르는 교육
이렇게 이야기하면 세상을 이분법으로 보는 분들은 저를 유전자 결정론자로 밀어붙이면서, 신경 가소성 같은 걸 들먹이실지 모르겠습니다. 하지만 저는 재능이 모든 걸 결정한다고 믿지 않습니다... 그러면 제 생각은 무엇인지 이제 소개해볼게요.
천재가 하지 못하는 것
이는 전통적인 IQ의 개념을 송두리째 바꾼다. 이제 “홍길동은 수학은 잘 못하는데, 영어는 잘 해.”와 같은 표현은 틀린 말이 된다. 뇌는 2차방정식을 열심히 공부하면 2차방정식에 대한 지능이 향상된다. 이와같이 동일 아동이 수학의 어떤 내용은 다른 어떤 내용보다 더 흥미를 가지고 더 열심히 해서 더 높은 지능을 가질 수 있다.
[두뇌기반교육에서 길을 찾다!] - 이찬승, 교육을 바꾸는 사람들 대표
저는 쌍둥이입니다. 일란성 쌍둥이는 유전자가 100% 일치하고, 당연히 IQ도 비슷합니다. 그러니 저희는 재능 탓을 하질 못했습니다. 한 명은 되는데, 다른 한 명은 안 된다면... 그건 재능 탓일 수가 없으니까요. 학자들도 쌍둥이를 통해 유전자의 영향을 연구하곤 합니다.
저희에게 미스터리 아닌 미스터리가 있습니다. 저는 물리학과에 갈 정도로 수학을 잘 하고, 저는 영어도 잘 합니다. 반면에 제 동생은 수학과 영어가 모두 9등급이었습니다.
어렸을 때에는 큰 차이가 없었습니다. 저희 형제는 둘 다 영어를 못했습니다. 사교육... 유치원 때 눈높이 과외를 받긴 했는데. 선생님이 숙제를 내주셔도 절대 안 했거든요. 그 후로 학교 수업만 대충 들으니 영어 수업을 따라가질 못했습니다. 영어 성적이 30점이었던 걸 기억합니다.
결정적 분기는 중학생 때였습니다. 저는 당시 열정적인 담임 선생님을 만났는데. 이 분이 공부법에 관심이 많고, 학생 한 명 한 명 멘토링을 해주셨어요. 물론 과학적으로 올바른 방법은 아니었지만. 저는 선생님과 같이 영어 공부를 시작했고, 열심히 교과서를 무식하게 통째로 외웠습니다. 시험은 어찌어찌 잘 봤고. 그 후로 영어 공부를 계속해나갈 수 있었어요.
저는 그래서 재능을 믿지 않습니다. 머리가 좋은 사람들이 영어나 수학을 쉽게 배우는 건 사실이지만. 태어날 때부터 영어나 수학을 머리에 집어넣고 태어나는 사람은 없습니다. 즉... 어딘가 빠진 게 있다는 소리입니다.
특수한 상황에서 문제 해결 전략을 개선하기
불과 네 번째 시간인데 스티브는 이미 절망하기 시작했다. 나는 실험이 두세 달은 지속되리라고 생각했지만, 실험이 시작된 첫째 주 목요일의 일이었다. 스티브의 말을 들어보니 계속하는 것은 그리 좋은 생각 같지 않았다. "8개 혹은 9개쯤이 제 한계인 것 같습니다." 스티브가 말했다. 실험 시간마다 스티브의 말은 그대로 녹음되었다. "특히 9개는 제가 사용하는 패턴, 그러니까 저만의 방법에 상관 없이 너무 힘듭니다. 어떤 방법을 쓰느냐는 정말 중요하지 않아요. 그저 너무 어려운 것 같습니다."
(...)
일반적으로 해결책은 '더 열심히 하기'가 아니라 '다르게 하기'다. 즉 방법의 문제다.
스티브의 경우 22개의 숫자에 도달했 을 때 이런 장벽을 만났다. 스티브는 이들 숫자를 4개의 숫자로 이루어진 4개의 그룹으로 묶은 다음 여러가지 연상 방법을 이용해서 기억했다. 마지막에 남은 숫자 6개는 한 묶음으로 묶어 소리로 기억할 수 있을 때까지 읖조렸다. 그러나 22개를 넘어갈 방법을 찾을 수가 없었다. 4개씩 짝지은 4개의 묶음을 외우려고 할 즈음 순서가 헷갈렸기 때문이다. 결국 그는 3개 묶음과 4개 묶음을 모두 활용하는 아이디어를 생각해냈고. 덕분에 4개 묶음 4개, 3개 묶음 4개, 6개 짜리 암송 묶음 하나를 이용하여 최대 34개 숫자까지 외울 수 있는 돌파구를 마련했다.
[1만 시간의 재발견 - 노력은 왜 우리를 배신하는가] - 안데르스 에릭슨, 로버트 풀 지음, 강혜정 옮김
앤더스 에릭슨은 전문가들이 어떻게 의도적 수련을 해서 대가가 되었는지 연구해온 학자입니다. 에릭슨은 초창기에 '기억력'을 연구했는데요. 당시에 작업 기억은 7개가 한계라는 이른바, 매직 넘버 7 이론이 득세하고 있었습니다. 어떤 학자는 그것보다 더 적은 4개 밖에 안 된다고 주장하기도 했죠.
하지만 그러면 궁금한 게 생깁니다. 옛날 그리스 시절부터 '기억술'이라는 게 있었습니다. 기억의 궁전을 만든다던가, 시를 짓는다던가 하는 방식으로... 수 십 명이 넘는 사람의 얼굴과 이름을 한 번에 기억하거나. 복잡한 책의 내용을 줄줄 외우는 놀라운 기술이 실제로 존재해왔습니다. 이런 기억술은 실제로 효과가 있다는 게 증명되었습니다.
에릭슨은 그래서 실험자를 아무나 한 명 데려다가. 이런 기억술을 가르치고 무작위 숫자를 외우게 했습니다. 예를 들어 3813798633951162343137089813756 같은 숫자를 한 번 듣고 외우는 겁니다. 이 실험에 참가한 사람이 앞에서 본 '스티브' 씨였습니다.
이 연습의 성과는 놀라웠습니다. 스티브 펠룬씨는 결국 82개의 무작위 숫자를 단 한 번 듣고 외울 수 있었습니다. 옛날이었으면 [세상의 이런 일이]나 [스타킹], 요즘이면 [뇌가 섹시한 남자] 같은 곳에 나올 수 있지 않을까요?
중요한 건 전략입니다. 우리는 '특수한' 문제를 해결하는 전략을 배우고 개선해나갈 수 있습니다.
물론 스티브 펠룬 씨는 이 실험을 통해 일반적인 문제해결 능력...을 얻지 못했습니다. 시를 외우기는 커녕. 다른 기억력 스포츠도 전혀 못했어요. 사람 얼굴을 외우거나 카드 순서를 외우는 일은 못했습니다. 이는 전이가 어렵다는 것을 보여주는 대표적인 연구 중에 하나로 인용되곤 합니다.
하지만 더 큰 교훈은 따로 있습니다. 앞으로 새로운 문제를 만나고 절망하더라도. 계속해서 새로운 전략을 개발해나갈 수 있다는 거죠. 그리고 이런 전략은 남에게 알려줄 수도 있습니다.
에릭슨 씨는 새로운 실험자 다리오 도나텔리씨를 데려왔어요. 스티브씨가 사용한 전략을 알려줬더니 이 분은, 더 빠르게 성장할 수 있었습니다. 몇 년이 지나고 다리오씨는 스티브씨의 기록을 뛰어넘어 100개가 넘는 숫자를 한 번만 듣고 외울 수 있게 됐습니다.
서로 다른 걸 뒤섞고 비교하고 일반화하기
체육 시간에 여덟 살짜리 아이들 한 무리가 바구니에 콩 주머니 던져넣기 연습을 했다. 그 중 반은 바구니에서 90센티미터 떨어진 곳에서 주머니를 던졌다. 나머지 반은 60센티미터와 120센티미터 떨어진 곳에서 번갈아 주머니를 던졌다. 12주 후 아이들은 90센티미터 떨어진 곳에서 콩 주머니 던져넣기 시험을 보았다. 이 중 월등히 뛰어난 성적을 거둔 아이들은 60센티미터와 120센티미터를 오가며 연습하고 90센티미터 떨어진 곳에서는 한번도 연습하지 않은 아이들이었다. (R, Kerr & B. Booth, Specific and varied practice of motor skill, Perceptual and Motor Skill 46 (1978)
[어떻게 공부할 것인가 : 3장 뒤섞어서 연습하라] - 헨리 뢰디거, 마크 맥대니얼, 피터 브라운 지음, 김아영 옮김
이 연구결과는 충격적입니다! 왜냐하면 90센티라는 상황 특화된 연습을 한 친구들이 오히려 실력이 떨어졌다는 거 아니에요?
여기에는 중요한 함의가 있습니다. 우리는 실제 맥락과 비슷하지만 '일반화' 될 수 있는 지식을 배우는 게 좋습니다.
예를 들어 에러가 났을 때 그 상황에만 쓸 수 있는 지식만 익힐 수도 있습니다. 이렇게 경력이 10년 쌓이면 버그를 잘 잡게 되고 유능한 프로그래머라는 소리를 들을지 모르죠.
하지만 일반화해보면 어떨까요? 나는 어떤 에러를 자주 내는지? 여기에 어떤 패턴이 있는지? 예를 들어 method not found나 variable undefined, file does not exists 같은 에러는 다른 에러지만 비슷한 특성이 있습니다. 다들 이름에 오타를 내거나, 정의를 안 했거나, import를 안 해줬을 때 나는 에러라는 거죠.
저는 이런 식으로 다양한 전략을 찾고 일반화했습니다. 프로그래밍 언어를 하나 배우면 다른 것도 비슷해서 배우기 쉽다고 합니다. 하지만 정말 그럴까요? 함수형 언어는 좀 많이 특이하고 당황스럽습니다. 저는 그래서 다양한 언어를 배우면서 비교해보곤 합니다. 공통점과 차이점을 찾아볼 수 있죠. 그러면 다르게 생겼지만 비슷한 '공통 원리'를 찾을 수도 있고요. 낯설고 차이가 있는 부분에 집중해서 공부할 수도 있습니다.
그래서 학자들은 한 가지를 집중해서 배우는 것보다, 다양한 걸 섞어서 배우는 게 좋다고 합니다. 한 연구에서는 간단한 인공어 에스페란토를 먼저 1년 배우고 프랑스어를 나중에 1년 배운 학생들이, 프랑스어만 2년 공부한 학생보다 성적이 좋았습니다.
비슷하게 C와 Python을 같이 배운 학생들이, 같은 시간 동안 하나만 집중해서 배운 학생보다 프로그래밍을 잘 했습니다. React와 Svelte를 배운 사람은 어떨까요? 프런트와 백엔드를 같이 배운 사람은? 궁금해집니다.
여기에 힌트가 있습니다. 수학이나 논리학을 공부하면 자연스럽게 문제해결능력이 길러질거라는 건 환상입니다. 그보다는 실제로 내 업무 속에서 논리적이거나 추상화해서 해결해야하는 문제를 찾고, 나름대로 정식화해서 해결하는 연습을 해보는 게 좋습니다. 그러면서 수학이나 논리학을 공부하다가 '연결'할 수 있거나 '통찰'을 찾아서 빌려올 수도 있겠죠. 그러다보면 수학 공식을 하나도 쓰지 않고도 '수학적'으로 문제해결을 할 수 있을지도 모릅니다.
실제로 써먹는 교육
교수 구성요소가 탈맥락화되었을 때, 학습자는 종종 "지금 너희는 이것을 이해하지 못하겠지만, 나중에 이것는 너희에게 매우 중요할 것이다."라는 충고를 듣는다. 결과적으로 자료에 대해 학습하고자 하는 동기가 크게 감소된다. 더욱이 학습자가 소용하는 맥락도 알지 못한 채 많은 구성요소 스킬을 반드시 기억해야만 할 때, 학습자는 많은 경우 연상 기억을 재분류해야만 하고, 전체 문제를 다루게 되었을 때 기억을 잊어버리거나, 정보의 적절성을 인지하지 못하는 경향이 나타난다. 결국, 학습자는 필요한 정보를 사용해야 할 때 이를 인출할 수 없게 된다."
[교수의 으뜸원리 - 효과적, 효욜적, 매력적 교수설계] M. David Merrill 지음. 임규연, 김영수, 김광수, 이현우, 정재삼 공역
전이를 시키려면 전이를 염두에 두고 학습하고 가르쳐야합니다. 논리학이나 수학을 배우면 자연스럽게 문제해결능력이 길러지는 일은 없습니다. 왜냐하면 논리학이나 수학에서 쓰는 기호는 실제 문제 상황이나 사고방식과 다르니까요.
철수와 영희가 나오는 이상한 실생활 응용문제를 만들어야 한다는 게 아닙니다. 진짜 문제를 풀어야한다는 거죠.
프로그래밍을 공부하는 분들은 이따금 수학의 쓸모를 마주치게 됩니다. 예를 들어 게임 그래픽에서 진동을 표현하기 위해 사인 함수를 쓴다던가, 머신러닝에서 온갖 미적분이며 수리 통계학이 나오는 것이 그렇습니다. 그 외에 간단한 사칙 연산 같은 것들 말이죠. 학교에서 열심히 수학을 공부할 걸...이라고 생각하시기도 하지만 좀 이상합니다. 학교에서 이렇게 코딩으로 수학을 배워본 적이... 없습니다.
저는 고등학생 분을 코칭한 적이 있습니다. 이 분은 인공지능을 배우고 싶어했는데요. 딥러닝 책을 공부하고 실습하는데 시그모이드 함수가 나왔습니다. 잘 모르면 시그모이드 함수가 매우 무서울 수 있죠.
하지만 저는 같이 numpy와 matplotlib로 지수함수를 그려서 보여줬습니다. x 값이 변화함에 따라서 y 값이 변하는 걸 짚어주고. 이제 1 / e^x 의 그래프와 1 / 1 - e^x 그래프를 차례대로 그려보고요. 기울기나 상수를 바꿔가면서 그래프 모양이 변하는 과정을 관찰했습니다. 동시에 이런 게 머신러닝 모델을 학습시키는데 어떤 의미가 있는지 이야기해봤습니다.
저는 블럭코딩으로 거북이를 움직이거나 알고리즘 퀴즈를 푸는 것보다, 이런 게 진짜 코딩 교육이 아닐까 싶습니다. 수학이 쓸모 있는 부분에서 쓸모를 찾고, 실제 상황에서 써보는 겁니다.
이런 수학은 저희가 학교에서 배우는 수학과는 다를 겁니다. 배배 꼬아놓은 문제도 없고. 이상한 유형도 없습니다.
한편으로 이런 수학이 필요 없는 상황도 많을 겁니다. 사람들은 이런 수학이 '쓸모' 있는 일부 사례만 이야기하면서, "누구나 수학을 배워야 한다"고 주장합니다. 저는 "해야한다"는 말은 독단의 단서라고 생각하곤 하는데요.
앞서 자동차 공장 사례에서 보신 것처럼 야생에서는 중요한 기술이 더 많습니다. 그리고 통찰이 꼭 수학에서만 오리라는 법도 없습니다.
마지막으로 제가 전에 트위터에 썼던 글을 옮기면서 마치겠습니다.
우리는 그림 그리는 프로그래머, 영양학에 관심이 많은 프로그래머, 운동하는 프로그래머, 춤추는 프로그래머, 역사학을 전공한 프로그래머, 마트에서 일해본 프로그래머가 필요하다.