본문 바로가기

소프트웨어이야기

SW교육, 프로그래밍이 핵심 아니다



메르세데스벤츠의 CEO 디터는“이제 자동차는 기름이 아닌 소프트웨어로 달린다”고 말했다. 앞으로의 산업에서 소프트웨어가 차지하는 중요도를 단적으로 나타내는 말이다. 과거 전세계 제조업시장에서 1등자리를내주었던 미국이 세계 최고의 소프트웨어 기술을 기반으로 제조업 부활을 위한 용트림을 시작했다. 

 

우리나라 전자 회사들이 그 짧은 기간에 외국의 세계 1등 기업들을 제치고 매출에서는 세계 최고가 되었지만 점점 넘지 못할 벽으로 점점 뚜렷하게 다가오는 것이 바로 소프트웨어의 역량 차이다. 개별적인 근면 성실함과 똑똑한 머리와 치열한 의지로 외국에서 100년 넘게 이룩한 산업기반을 몇 십 년 만에 앞지른 분야도 있지만 소프트웨어 분야에서는 차이를 좁히기는커녕 점점 더 뒤쳐지고 있는 듯하다. 

 

과거 소프트웨어라고 하면 워드프로세서나 스프레드시트, 게임 같은 것을 먼저 떠올렸다. 하지만 사실 하드웨어에 장착되는 임베디드 소프트웨어의 시장도 만만치 않게 컸고 규모는 점점 커지는 양상이다. 소프트웨어가 제조업의 기반을 뒤흔들 정도가 됐다. 옛날에는 소프트웨어는 제조업 즉, 하드웨어의 보조적인 역할에 불과했으나 지금이나 앞으로는 소프트웨어가 오히려 기반산업이 되어가고 있으며 소프트웨어 역량이 제조업 경쟁력의 핵심이 되어가고 있다. 

 

세상은 소프트웨어를 중심으로 바뀌어 가고 있는데 필자가 접한 대기업을 비롯한 수많은 회사들의 대응은 무신경하기 그지없다. 몇몇 기업은 소프트웨어의 중요성을 외치고는 있지만 그 대책이 소프트웨어를 전혀 모르는 탱크 같은 추진력을 가진 경영자에게 모든 것을 맡기고 기껏해야 개발자들을 끊임없는 밤샘 작업으로 내몰고 오히려 불편한 비싼 툴을 사주고 프로세스는 과도하게 복잡하게 해서 품질을 올린다고 한다. 

 

경영자가 소프트웨어를 모르니 잡상인에 현혹되는 것은 당연하다. 이런 식으로 소프트웨어 경쟁력을 높인다고 하니 경쟁력이 오히려 떨어지는 것이 이상할 일이 아니다. 

 

다행히 몇몇 기업은 소프트웨어 전문가를 경영진으로 채용해서 진정한 소프트웨어 역량 발전에 힘을 쓰고 있지만 기업의 정치 역학 구조에서 소프트웨어 전문가들이 힘을 제대로 못쓰는 경우가 많아서 안타까움을 더하고 있다. 즉, 소프트웨어 전문 경영자들이 실력은 있는데 정치에서 밀리는 것이다.

 

지금 당장 기업들은 소프트웨어 역량 부족으로 발등에 불이 떨어졌지만 더 중요한 것은 미래다. 전체 산업에서 차지하는 소프트웨어의 비중은 향후 10~20년 동안 폭발적으로 증가할 것이 확실시 되고 있다. 즉, 20년 후에는 엄청난 수의 소프트웨어 개발자가 필요하게 된다. 

 

소프트웨어 개발자가 많이 필요하다고 해서 착실한 준비없이 급하다고 학원 같은 곳에서 개발언어 약간 가르쳐서 저급 개발자를 양산해서는 소프트웨어 경쟁력을 가질 수 없다. 급하게 부족한 인력을 보충할 수는 있겠지만 지금과 같이 열악한 소프트웨어 환경을 더 악화시키는 역할을 할 것 같은 우려가 된다. 

 

소프트웨어가 산업이 중심이 되는 미래를 대비하기 위해서는 초, 중, 고 모든 과정에서 필수적으로 소프트웨어를 대비한 교육을 해야 한다. 소프트웨어 교육이라고 하면 개발 언어를 가르쳐야 한다고 생각하면 눈감고 코끼리의 뒷다리를 만지는 격이다. 현재 우리나라 소프트웨어 역량이 뒤쳐지는 이유가 코딩을 잘 못해서는 아니기 때문이다. 개발 문화와 환경을 바꿀 수 있는 교육을 해야 한다. 

 

먼저 소프트웨어에 기초가 되는 지식을 좀더 많이 가르쳐야 한다. 수학, 논리학, 과학 등 논리적인 사고를 좀더 많이 하게 하고 뛰어난 논리력을 가지고 있는 학생들에게 좀더 많은 기회와 동기를 부여해야 한다. 

 

다음으로는 소프트웨어 문화를 바꿀 수 있는 교육을 해야 한다. 소프트웨어 개발에서 가장 중요한 것이 협업이다. 그러기 위해서 토론, 협동, 발표를 위주로 한 교육을 해야 한다. 과거에는 한 반에 학생이 60~70명이나 되어서 토론식 교육이 불가능했지만 지금은 20~30여명의 학생이라서 토론식 교육이 충분히 가능하다. 학교에서도 토론식 교육을 점점 증가시키고 있지만 너무 더디다. 자칫 배 떠난 뒤에 손 흔드는 격이 될 수도 있다. 좀더 과감히 비중을 늘려야 한다. 

 

뻔하고 당연한 얘기 같지만 학부모로서 아이들의 교육과정을 지켜보면 급격한 변화에 대응하여 무신경하고 느리기 그지없다. 

 

암기 잘하는 학생도 공부를 잘한다고 할 수 있겠지만 토론을 잘하고 발표를 잘하는 학생에게 좀더 높은 점수를 주고 이런 학생들을 많이 키워내야 한다. 소프트웨어 개발의 핵심 역량은 토론과 협업이다. 어릴 때부터 몸에 베어 있지만 않으면 성인이 되어서 갑자기 잘 할 수는 없다. 

 

학생들에게 프로그래밍을 가르치는 것은 그 후순위가 될 것이다. 이런 조건 없이 프로그래밍만 가르치고 사지선다식 시험을 본다면 지금보다 나아질 것은 전혀 없다. 프로그래밍도 토론, 협업, 발표를 융합한 교육이 되어야 한다. 

 

필자는 지금 우연한 기회에 영재 초등학생에게 프로그래밍을 가르치고 있다. 그 결과 초등학생들이 절대 학습시간이 부족하여 프로그래밍 실력은 성인에 비해서 떨어지지만 논리력은 성인 못지 않게 뛰어나다는 것을 알게 되었다. 사실 웬만한 개발자보다 논리력이 뛰어나기도 하고 이런 초등학생들이 개발 문화를 몸에 익히고 프로그래밍 실력까지 갖춘다면 미래에 뛰어난 소프트웨어 아키텍트로 성장할 것으로 확신한다. 우리나라는 이런 미래의 소프트웨어 아키텍트가 수천명, 수만명이 필요하다. 우리나라가 2등국가로 떨어지지 않으려면 꼭 필요하다. 

 

이것이 당장 학생들에게 제대로 된 소프트웨어 교육이 필요한 이유다. 


이글은 ZDNet Korea에 기고한 입니다.