소프트웨어 교육의 추억
최근 SW 교육에 대해 생각할 일이 많아졌다. 특히 초중등 SW 교육 실시의 배경은 SW 분야에 특출나게 성공을 보인 인물들이 어릴 때 컴퓨터를 접했기 때문이라는 이유가 깔려있지 않나 싶다. 실제로 업계에서 꽤 업력이 있으신 헤드헌터분의 이야기도 어릴 때부터 SW를 했던 친구들의 실력이 뛰어나다는 이야기를 하셨다. 그래서 “왜 어릴 때 컴퓨터를 하면 좋은가?”에 대한 솔직한 생각과 내가 아이를 가르친다면 이런 부분을 중점적으로 가르치겠다는 이야기를 좀 해보고 싶다.
먼저 개인적인 컴퓨터에 대한 업력 고백부터 좀 해보고 싶다. 난 컴퓨터가 좋다. 지금도 자신 있게 좋다라고 말할 수 있다. 그리고 나는 초등학교 4학년 때 MSX SPC-1500부터 컴퓨터를 시작했다. 그러니 사실 나 자신부터가 실험모델이고, 내 경험이 어느 정도 데이터가 되었다고 할만하다. 그리고 이렇게 말하기는 좀 부끄럽지만, 나름 창의적이다. 국내 유명 포털사에서 개발자로 수년간 근무하고, 기획자로 근무한 동안 수십 개의 출원과 최근까지 25개의 특허가 등록되었다. 더불어 컴퓨터공학과를 나왔다. 한마디로 말하면, 커리어만 본다면 요즘 말하는 SW 인재에 딱 부합하는 인재다.
기대보다 우울하기만 한 SW의 냉대
그러나, 우리 딸 아이 돌잡이에 참석해주신 분들(거의 컴공)의 열화와 같은 성원(?)에 의해 한 가지 아이템을 제외했어야 했는데, 바로 마우스였다. 빌 게이츠나 안철수 같은 사례를 업계 사람들이 너무 먼 이야기처럼 느끼는 것은 분명한 사실이다. 하지만 아이러니하게도 개발자들을 개인적으로 만나보면 개발과 컴퓨터를 정말 좋아한다. 그리고 자기가 만든 것에 대해 자부심이 있다. 그것이 무언가를 만들어내는 이들의 숙명과도 같은 것이다.
그래서 나는 이런 현실에 불만이 있었다. 때문에 기획자로 전직하면서 조금 더 많은 것을 해보고 싶었고, 지금은 조금 더 많은 이들에게 영향을 미칠 수 있는 일을 하기 위해 고민하고 있다.
하지만 돌이켜 생각해보면 괜찮네? 오히려 자랑스러움
난 내 아이들에게 SW를 가르치겠다. 내가 이 경력을 밟아오게 된 배경에는 컴퓨터가 있었다. 컴퓨터, 곧 SW를 공부하지 않았다면 이러한 기회를 잡지 못했을 것이다. 또한 여러 개발자들과 여전히 친하고, 다들 여전히 뭔가를 만들고 싶어 하기 때문에 나 또한 SW 개발을 여력이 되는 한 해보려고 한다.
그때 느끼는 것이 SW 개발과정이야말로 고도화되어있고, 불필요한 것을 제거하며 끊임없이 진화한다는 점이다. 1년이면 새롭게 출현한 기술과 SW들에 대해서 놀라곤 한다. 단순히 이런 SW들이 더 빠르고 강력해서가 아니라, 생각하지 못했던 부분들을 최적화하고 혁신하기 때문이다. 몇몇이 모여서 글을 쓰는 구글 독스 같은 기능들에 놀라는 사람들도 있지만, 수십, 수백 명이 서로 다른 곳, 다른 시간에 모여서 하나의 코드를 만드는 경이적인 프로세스와 도구들을 보면 구글 독스 같은 것을 만들어낸 SW 개발자들은 어쩌면 너무도 당연한 것처럼 생각했을지도 모른다.
아무튼 SW 개발과정은 단순히 코딩만을 말하는 것은 아니다. 아이들에게 반드시 가르쳐주고 싶은 부분이다. 내가 성장한 배경이고, 또한 몇몇 이를 활용해서 성공한 사례들을 보거나, 이제는 너무도 당연히 SW가 모든 영역의 첨단에서 사용되고 있기 때문이다. 수학을 모르는 과학자가 없는 것처럼 이제 SW를 모르는 과학자는 없으며, 심지어는 글을 쓰거나 그림을 그리는 예술가들조차 SW를 이용한다.
이제는 더 이상 SW를 알아야 한다는 데 대해서는 이야기하고 싶지 않다. 이미 모든 학문의 끝에는 SW를 이용하고 있다. 차라리 내가 최근 느끼는 SW 교육에 대한 몇 가지 오해들을 중심으로만 산발적으로 이야기해보려고 한다.
내가 생각하는 SW 교육에 대한 오해
1. SW 교육은 코딩 교육이 아니라 개발 교육이다
먼저 SW 교육은 SW 개발의 교육이다. 그런데 오해하는 부분이 있는데, 개발 프로세스(Software developer life cycle)에서 소프트웨어 개발은 하부 과정 중의 일부분이다. 개발과정에 개발이 있으니 많이 혼동하는 것 같다. 심지어는 대학 전공생들조차 개발만 해도 심오하다 보니 개발과정에 대한 이해가 얕은 채로 나간다. 하지만, 코딩이 아닌 개발(그냥 뒤로는 개발이라고 부르고, 전통적인 개발은 코딩이라고 구분하겠다)의 중요성은 더욱 커지고 있다.
분석, 설계, 개발, 테스트, 배포(운영)이라는 전형적인 폭포수형 모델들은 이미 낡은 모델이 되었다. 특히 요즘 혁신을 주도하는 인터넷 SW 기업의 개발방식의 사이클은 매우 마이크로하게 동시에 여러 개가 돌아간다. 따라서 그냥 전체과정이 개발이고, 개발자들도 개발 외의 과정에 대한 이해정도는 있어야 한다.
또한 기획자들 또한 개발에 대한 이해도가 매우 높아야 한다. 구글의 경우에는 컴공 출신이 아닌 경우 아예 안 뽑는다고 한다. 그러니, SW 교육은 코딩이 아닌 개발, 컴퓨터를 통해 문제를 푸는 문제 해결 과정이다. 때문에 문제를 인식해야 하고, 분해해야 하며, 우선순위를 정하고, 구체적인 실행 방법을 정하고, 실행하고, 결과를 분석해서 문제가 해결됐는지 확인한다. 이중 코딩은 실행 방법을 정하는 것뿐이다.
문제를 인식하고 분해하며 우선순위를 선택하는 것은 기획단계이고, 구체적인 실행 방법을 정하는 것은 코딩단계이며, 실행과 결과 분석은 운영단계, 문제가 해결됐는지 확인하는 것은 다시 이 사이클을 돌리는 것을 의미한다. 이러한 사이클은 작게는 주 단위, 큰 것은 월 단위로 병렬적으로 이루어진다.
SI에서 말하는 거대한 프로젝트를 한 번에 만들어 넘기는 방식은 문제 인식, 분해, 우선순위 선택이 다른 이들에게 권한이 있으므로 전체적인 사이클을 보기에는 어렵게 만든다. 과거 SW 산업에 가장 큰 역할이 SI이던 시절에는 따라서 코딩이 가장 중요한 과정처럼 여겨졌던 것이 이런 이유 때문이 아닐까 싶다.
하지만, 지금은 단연코 아니라고 말하고 싶다. 인터넷업체나 스타트업은 개발과 테스터들이 기획단계부터 참여한다. 개발자들이 이것이 실현 가능할지. 기술적으로 더 좋은 수단이 있을지 적극적으로 참여하고 과감하게 쳐내고 개선한다.
SW 교육은 일반적으로 소규모니 사실 스타트업 모델에 훨씬 가깝고 모두 기획자이고, 개발자이다. 이는 디테일한 코딩을 잘하느냐와는 조금 다른 능력을 요구한다. 여기에는 의사소통이나 태스크 관리 등의 실력을 요구하는데, 사실 이거 잘하는 친구들은 개발을 그만두고 다른 거 해도 잘한다. 일을 명확히 나누고, 모든 걸 기록하고, 구체적으로 실행하고, 프로세스를 개선하고, 심지어는 자동화까지 해버리는데 안 좋아할 사장이 어딨는가?
2. SW 교육은 결과물을 만드는 것이다. 말로만 하는 논리학과는 다르다
이론 교육과 말로만 떠드는 교육에 대해서도 반대한다. 논리학이 개발교육을 대체할 수 있다는 데는 개발자로서 경험을 보건대, 공감하기 어렵다. 개발자들은 말싸움에서 잘 진다. 문과생들에 비해 부족한 부분이다. 그런데 문제는 말에서 그치는 경우가 많다는 것이다. 이와 달리 개발자들의 특징은 말뿐만이 아니라 결과를 보여 준다는 것이다. 다만 그 결과물 언어로 표현하는 방법이 썩 매끄럽지 않아 눈에 띄지 않을 뿐이다. (더군다나 SW 자체는 원래 눈에 보이지 않는다.)
SW 개발을 하다가 시간을 들여 치명적인 잠재적인 버그를 수정했다고 쳐보자. 위에서 보기에는 그 개발자는 아무것도 안 한 것이다. 위에서 인지할 수 있는 사고는 발생하지 않았기 때문이다.
실제 실현 시에는 수많은 최악의 상황들을 맞닥뜨리게 되는데, 이에 대한 노력들은 눈에 잘 보이지 않는다. 그래서 개발자들은 모든 것을 기록하고, 정리한다. 심지어는 코딩의 과정, 주석, 빌드의 횟수, 코딩의 속도, 복잡도까지. 측정되지 않고, 기록되지 않는 것은 존재하지 않는 것이라고 생각하는 건 개발자들의 기본적인 속성이다. 그런 개발자들에게 말로만, 논리로만 개발을 한다는 것이 무슨 의미가 있을까?
게임 기획을 해오랬더니 감동적인 소설을 써오더라. 게임 기획을 하겠다는 친구들이 하는 손쉬운 실수 중의 하나고, 주변의 게임 기획자들에게 듣는 이야기다. 게임기획의 기본은 레벨 모델링인데, 이는 사실 개발의 설계영역과 흡사, 아니 그냥 동일하다. 코딩할 것을 명시하기 때문이다. 게임 개발하고 싶다고 나서는 겜덕후가 있다면, 일단 코딩 부터 좀 배우고 오라고 얘기하고 싶다.
감성적으로 재밌는 타격감을 어떻게 물리적인 컴퓨터에 표현해야 하는지, 게임 기획자와 개발자들은 서로 줄다리기를 한다. SW 교육은 크든 작든 컴퓨터로 구동하는 결과물을 만들어야 한다. 그래야 한 사이클이 돈 것이다.
3. SW 교육은 함께 만드는 거다. 혼자 만든다면 발끝도 못배운 거다
스크래치는 매우 좋은 도구다. 하지만, 반대로 스크래치가 전혀 표현하지 못하는 개발의 가장 핵심 영역이 있다. 스크래치는 어디까지나 혼자 만드는 스탠드얼론 프로그램이다. 외부의 라이브러리를 이용하는 것도 쉽지 않고(피지컬 컴퓨팅이 가능한 걸 보면 API가 있는지는 확인해봐야 할 듯) 함께 형상관리를 할 수도 없다. 스크래치 코드를 Git에 올리는 것이 가능한가? 스크래치 교육은 반복, 분해, 이 정도 개념을 익혔으면 더 이상 할 필요가 없다고 느낀다.
최초의 외부 라이브러리를 링킹했을 때, 그리고 팀 프로젝트의 성공시켰을 때의 짜릿함은 지금도 기억에 남아 있는데, 실제 기업에 가면 그냥 그게 일상화다. 혼자 개발하는 해커는 영화에서나 찾는 편이 빠르다. 물론, 그런 괴물(이 바닥에서는 구루라고 부르는)들도 존재는 한다. 하지만 그들도 기계어부터 코딩하는 게 아니기 때문에 이에 대한 중요성은 누구보다 잘 안다. 때문에 온라인으로 협업 경험이 제공되는 학습이 제공되어야 하며, 이에 걸맞는 과제와 미션들이 주어져야 한다.
난이도 높은 인공지능 프로그램을 혼자 만드는 SW 교육보다 간단한 게임을 함께 만드는 SW 교육이 더 가치 있다고 믿는다. 쉬운 것에서 재미를 느낄 수 있어야 어려운 문제도 풀 수 있다. 중요한 건 협업을 알게 하는 것이다.
사실 이 부분은 대학교육에서도 잘 안 된다. 팀 프로젝트는 갈등과 배신과 도망과 추적뿐이라는 농담이 있는데, 이건 매우 자연스러운 일이며 이를 두고 내 프로젝트를 망쳤다고 친구를 원망하는 것은 바보짓이라고 생각한다. 프로젝트를 하다 보면 결국 사람이 늘 문제고, 이는 통제 범위 안에 있어야 한다. 친구가 해당 부분을 코딩 안 했다면, 해당 부분에 목업이라도 만들어 넣고, PM은 어떤 노력을 했는지를 기록한 후, 돌아가는 완성본을 내놓아야 한다. 그러라고 배운 것이 추상화이고, 그 배신과 추적도 SW 개발과정이다.
4. 융합에는 대게 SW가 있다
앞서 말했듯이 모든 학문의 끝에는 SW가 있다. 구글 사이언스 페어의 수상자들을 보면 대부분의 문제 해결 과정에 SW를 이용했다. 왜냐하면 수치를 기록하고 분석하기에는 SW만 한 게 없기 때문이다. 예술은 어떨까? 음악에 따라 춤추는 꽃을 만든다면, 음악의 크기를 수치화하여 특정 액션을 취하게 하는 것은 결국 SW로 해야 한다.
여름철만 되면 잠 못 이루게 만드는 봉천동 귀신으로 유명하신 호랑작가는 게임 개발자 출신이었고, 해당 웹툰은 플래시로 실제로 코딩한 결과물이다. 웹툰은 웹, 곧 SW 기술로 전달되는 미디어이니, 이에 대한 특성과 기술을 가장 잘 이해하는데 SW 기술을 알고 있는 것만큼 유리한 것도 없었을 것이다. SW는 각 영역을 붙이는 접착제와 같고, 오늘날 사용자에게 전달하는 접점에 있다. 따라서 전문적인 SW 개발자가 아니더라도, SW 기술을 이해하고 있다면 매우 유리한 위치에 있고, 혹은 그 산업의 첨단에 있다면 SW를 이용할 가능성은 매우 높다.
확실히 SW를 만날 확률은 미분을 만날 확률보다는 높다고 할 수 있다. 물론 SW를 해도 미분을 만난다. 다만, 함수로 처리가 가능하고 의외로 수포자도 많은 게 SW다. (당연히 알면 더 좋다.)
5. SW교육은 언어가 생각만큼 중요하지는 않다
처음 교육할 때 “어떤 언어가 좋아요?”라는 질문을 많이 듣는다. 스크래치냐 자바스크립트? 파이썬? 사실 이는 현업의 개발자들도 하는 고민이다. Java vs C++, 리눅스 vs 윈도우즈 이런 기술 대결은 개발자들에게는 케케묵은 대결이지만, 사실 신앙에 가깝다. 조금 더 알게되면 사실 그건 별로 중요하지 않다는 것을 알게 된다.
내가 이것이 깨진 것은 대학교 4학년 즈음에 모바일 프로그래밍에 뛰어들면서다. 이동통신 3사는 각기 다른 VM을 내놓았고, 국가는 이후에 WIPI를, 그리고 취업해서 보니 각 제조사들은 별도의 플랫폼들을 가지고 있었다. 신앙처럼 믿던, C, C++의 함수명들은 아무짝에도 의미 없는 그냥 정한 심볼이라는 것을 깨달았고, 재정의될 수 있음을 알았다. Ruby 같은 경우 방언까지 가능하니 SW 언어란 살아 움직이는 언어라고 할 수 있다.
스크래치냐, Java냐와 굳이 싸울 필요는 없다. 모든 언어는 개발된 데 이유가 있다. 교육용으로 개발된 것은 분명히 한정되어있다. 그렇다고 해서 그것이 교육용으로 절대 진리라고 할 수 있는 것도 아니다. 왜냐하면 교육용이란 것은 해당 범위까지만 가르치기 위해서 만든 것이지, 그 이상의 것을 가르치기 위한 것이 아니기 때문이다. 스크래치를 조금 만져 보았는데, 이것으로 싱글 게임이라면 아주 복잡한 것까지 만드는 것도 가능하다.
하지만, 나는 그렇게 구현하지 않을 것이다. 느린 처리속도, 깜빡임, 거기다 한정적인 문법, 외부 라이브러리를 쓰는 것 또한 쉽지 않고, 그런 거 만들려고 만들어진 언어가 아니란 게 매우 분명하기 때문이다. 내가 스크래치를 아이들에게 가르치고, 경험시킨다면 SW로 장난감처럼 가지고 놀아보는 단계 정도에만 시킬 것 같다. 이것으로 문제 해결의 미션을 주기에는 사실 부족한 부분들이 매우 많다.
현재 내가 대학생들에게 “무슨 언어를 배울까요?”라고 질문받는다면, 나는 HTML5와 Javascript라고 답하겠다. 그 이유는 웹 언어들이 점차 서버와 클라이언트까지 침투하고 있기 때문이다. 그리고 그동안 지적되었던 끔찍한 디버깅 등의 문제들도 버전업이 되면서 새로운 해결책이 나와서 비교가 무의미한 수준이 돼가고 있는 것 같다. 물론 굳이 임베디드를 하겠다면 그냥 C외에는 선택지가 없다. 이는 C가 기계의 동작에 가장 잘 매칭되기 때문인데, 그나마 이것도 고급언어를 잘 최적화해서 저급언어로 바꿔주는 기술들이 너무 많이 발전했다.
때문에 오히려 역으로 “네가 뭘 만들고 싶은데?”라고 묻는 게 순서다. 대개는 그쪽 분야에 적합한, 아니 많이 사용되어 문제 해결의 답이 많이 공유되어있는 언어들이 있다. 더 많은 고민을 해야 하는 것은 선생님들이 “무얼 가르칠까?”가 아니라 아이들이 “무얼 하고 싶은데?”이다. 그런 점에서 스크래치는 거쳐 가는 언어다.
6. SW 교육은 학교 밖에도 있다. 인터넷이 교육장이다
SW 교육이 초중등 교육에 들어가면서 다들 학교 이야기만 열심히들 하는데, 사실 SW 교육은 학교 밖에도 많이 있다. 아니 오히려 더 많다고 할 수 있다. 이는 사실 이상한 게 아니다. SW 개발자들도 자기 영역 외에는 다 모를 정도로 SW의 범위는 너무도 넓다. 때문에 학교 안에서 모든 것을 가르쳐서 해결할 수 있다고 믿는 것은 포기하는 게 좋다. 중요한 것은 문제를 접하는 능력과 해결하는 능력을 갖추는 것이다. 오픈소스에 대한 다운로드 권한은 초등학생이라고 해도 얻을 수 있다. (그냥 모든 이들에게 열려 있다.) 구루 개발자의 코드를 보는 것만으로도 사실 학습이 된다.
더 놀라운 것은 이걸 고쳐 보고, 그 고친 것이 의미가 있다면 커미터까지 될 수 있다는 사실이다. NASA의 우주왕복선을 빌려다가 고쳐 보고 그 아이디어가 좋아, 실제로 반영할 수 있다면 얼마나 멋진 일이겠는가? SW에서는 그것이 가능하고, 그런 일이 일어나고 있다. 따라서 SW 교육은 우주왕복선을 빌려보고 열어 보고 뜯어 보는 일을 가르치는 것도 매우 중요하다. 선생님도 그 우주왕복선의 구조를 다 알 수 없을 것이다. 아마도 그걸 아는 분이라면 선생님을 안 하고 계시거나, 이미 커미터일 가능성이 높지만…
혹은 인공위성을 만들어 우주에 띄울 수도 있다. 오픈소스그룹을 아이들도 만들어 운영하지 말라는 법이 없다. 페이스북의 초기 아이디어나 구현물은 사실 초라하기 그지없었다. 물론 거기서 끝났다면, 절대로 지금의 페이스북이 될 수 없었겠지만, 아무리 뛰어난 개발자도, 프로젝트 생성으로 시작하는 것은 똑같고, 만들어진 프로젝트를 공개하는 데는 제한이 없다. 그런 점에서 국민대 이민석 학장님의 오픈소스 기반의 교육에 절대적으로 동의한다. 오픈소스 활동을 해보는 것만으로도 큰 자극이 될 것이다.
온라인에 모이면 결국 수많은 프로젝트들이 비교를 하고 서로 경쟁을 하며 발전할 것이고, 수준이 낮은 프로젝트들은 자연스럽게 도태된다. 그리고, 다음 학년은 더 좋은 것을 만들 수도 있다. 그것이 소프트웨어가 가진 재사용성이고, 협업이 가능한 특징인데. 이것은 학교에 한정되지 않는다. 다른 학교와 혹은 다른 나라와 다른 나이의 사람들과도 학습할 수 있다.
7. 평가하지 마라. 경쟁하게 하라
이상한 얘기 같지만, 평가는 하지 말되 경쟁하게 해야 한다. 개발자들은 체질적으로 평가받는 걸 싫어한다. 아티스트라는 착각 때문인지 아니면, 원래 사람이란 게 평가받는 걸 좋아하지 않는 건지 잘 모르겠지만, 평가받는 걸 싫어하고, 실제로 그다지 좋은 성과를 가져오지는 않는 것 같다.
다만, 경쟁은 한다. 옆에 친구가 더 멋진 걸 개발하면 부럽고, 어떻게 했나 보고 싶고, 내가 만든 게 잘 돌아가면 흐뭇하고, 왠지 막 자랑하고 싶다. SW 교육도 마찬가지다. 점수를 매기지 말고, 경쟁하게 하고 상호 평가해서 우수 작품들에게 시상해야 한다. 선생님의 평가도 무섭지만, 친구들의 평가는 더 무섭다. 그리고 거기서 잘 받으면 매우 으쓱한 기분이 들 것이다. 경쟁은 서로 학습하게 만드는 메커니즘이다. 그래서, SW 기업에서는 코드리뷰를 한다. 소위 옷 벗는 기분까지 들지만, 그거 무서워서 리뷰해야 하는 코드는 다시 한 번 보게 된다.
8. SW는 규모도 작으니 한때 지나가는 흐름일 것이다?
다시 거대한 HW(하드웨어) 기업의 영광이 올까? 제조업, 사실 SW와 별도로 여전히 제조업이 IoT시대에 SW를 다시 앞설 수 있는 요인이 될 것이라고들 하는데, 이건 착각이다. 아니 오히려 SW에 의한 HW의 종속성이 심해지고 있다.
중국의 심천에는 수많은 HW 기업들이 있고, 이들은 전 세계의 HW를 만든다. 이들이 가장 최고의 때를 구사하던 2년 전의 삼성전자가 될 수 있을까? 불가능하다고 본다. 이들은 어디까지나 외주기업이다. 과거 삼성이 SW가 핵심이 아니던 시절에 SW를 외주에 주었듯이, 지금은 SW 기업들이 외주를 주고 있는 것뿐이다. 외주를 준다는 것은 곧, SW가 핵심으로 판단되고 자리가 잡으면 HW를 다시 내재화 시킬 가능성도 높다.
그렇다고 SW로 출발한 기업이 HW 기업으로 변신할까? 이는 HW로 출발한 기업이 SW 기업으로 변신하는 것만큼 어려운 것이다. IoT는 HW를 파편화하고 대신 SW, 곧 서비스로 통합되어 기업의 핵심가치가 클라우드, 곧 SW에 있게 될 것이다. 더 이상 삼성전자 같은 기업을 기대하기는 힘들다. 다시 말하면, HW만 하는 기업이 큰 빛을 보는 시대는 다시 돌아오지는 않을 것이다.
결론: SW 해라. 다만 모두 개발자가 될 필요는 없다
SW는 모두 해야 한다고 본다. 먼저 잠재적인 SW 천재를 발굴하거나 아이들에게 교육적인 재미를 주기 위해서. 내 경우에 컴퓨터실에 들어가는 게 처음엔 무서웠다. 어릴 때 하도 컴퓨터가 사람들 지배하는 영화를 보고 무서웠기 때문이다. 그 이후에 컴퓨터에 매력에 푹 빠져서 이 길로 왔지만.
두 번째는 어떤 산업에 있건 그 끝에 있기 위해서다. 최첨단을 지향한다면 반드시 SW와 부딪친다. 요즘은 영화 속 과학자들조차 코딩한다.
세 번째는 융합형 인재로 크기 위해서다. 사실 모든 경계가 허물어지고 있다. 목적을 달성하기 위한 수단을 위해 기술이 있고, 기술기반의 서비스가 있는데, 이를 실현하는 것이 SW다. 내가 커서 ○○가 되겠어라고 했는데, 정작 컸을 때엔 이미 그 직업이 없어졌을 수도 있다. 그럼에도 학문의 근간은 존재할 것이다. 다만 학문끼리 유기적으로 결합, 분해될 것이고 이를 쉽게 조합, 분해하는 능력을 요구받을 텐데, 이때 사용할 수 있는 가장 최적의 기술이 현재의 SW와 흡사할 것이라고 할 수 있겠다. 적어도 융합학문이 출현하고 정의되기 전까지는 말이다.
네 번째는 재밌다. 재밌다. 재밌다.
뜻대로 되는 게 별로 없는 세상이다. 컴퓨터는 뜻대로 된다. 오히려 좀 대충해도 알아먹었으면 좋겠는데 뜻대로 밖에 안 돼서 답답하다. 내가 만든 SW는 나만큼밖에 안 똑똑하다. 최근에는 개발자보다 더 똑똑하게 만드는 기술이 시도되고 있고, 결실을 맺고 있긴 하다. 뜻대로 되는 거 하나쯤 해보고 싶다면, SW를 해보시라.
어릴 때 본 EBS의 밥 아저씨는 “참 쉽죠?”를 읊조리며 말도 안 되는 풍경화를 슥슥 그려내는데, SW는 그런 거 없다. 어느 정도까지는 그냥 하는 만큼 나온다. 물론, 말했듯이 소수의 천재는 있다. 그들은 그냥 존경하고 친하게 지내면 된다. 미래의 억만장자거나 당신을 억만장자로 만들어줄 친구일지도 모른다. 스티브 잡스도 워즈니악이 없었다면 그냥 그런 친구가 됐을지도 모른다.
원문: 숲속얘기