2016년 다보스포럼에서 세계는 제4차산업혁명단계에 본격적으로 진입했음을 발표하였다. 이미 전세계의 선진국들은 소프트웨어 중심의 제4차산업혁명이라는 큰 물결에서 도태하지 않고자 기존의 소프트웨어 교육을 새롭게 인식하고 컴퓨터적 사고를 위한 새로운 소프트웨어 교육을 실시하고 있다. 전문가들은 앞으로 4차산업혁명이 더 가속화되면 현존하는 많은 일자리가 사라지고 소프트웨어 중심의 새로운 일자리로 대체될 것으로 예측하고 있다.

우리정부는 이미 소프트웨어 중심의 사회를 준비를 하고자 학교에서 코딩 교육을 실시하기로 발표하였다. 물론 그 교육의 핵심 내용은 컴퓨터적 사고에 기반한 소프트웨어 코딩 교육이다. 기업이나 다른 사람들이 만든 것을 사용하는 것에서 발전하여 이미 소프트웨어가 사업과 생활의 일부가 되면서 스스로 소프트웨어를 만들어서 생활해야 하는 사회에 진입했기 때문이다. 이 의미는 코딩교육이 재미나 호기심을 유발하는 수준으로 교육되어서는 안 된다는 것을 의미한다고 생각할 수 있다. 코딩교육은 살아남기 위한 핵심 전략으로 확실하게 준비되고 실행되어야 한다.

4차산업혁명인 소프트웨어 중심의 사회에서 살아남기 위한 기본적인 전략은 남보다 창의적인 생각하에 소프트웨어를 기반으로 혁신하는 역량을 갖추는 것이다. 이 사회에서의 나의 경쟁력은 남들이 만든 소프트웨어를 잘 사용하는 것으로부터 탈피하여 필요한 것을 스스로 만들어 내는 능력 즉 소프트웨어 논리에 기반한 사고력이 가장 중요하다고 할 수 있다. 그러므로 소프트웨어 코딩 교육은 비단 학생뿐만 아니라 성인을 대상으로 폭넓게 확산되어야 한다. 이미 사회에 진입한 성인도 표준화된 플랫폼과 인터페이스를 통하여 자신이 필요한 것을 만들고 사용할 수 있어야 한다. 하루가 다르게 발전하고 있는 빅데이터, IoT, 클라우드, 모바일, AI, 로봇과 같은 비전통적 IT 영역에서 개인들의 경쟁력 강화를 위해서는 스스로 만드는 소프트웨어가 중요하기 때문이다.

앞으로의 소프트웨어 중심 사회에서는 거대 기업보다는 창의력을 기반으로 자신의 소프트웨어를 가지고 사업을 하는 개인사업자가 기하급수적으로 늘어날 것으로 예상된다. 과거 귀족과 같은 지배 계층에게 있던 권력이 산업혁명을 계기로 일반 시민에게 넘어갔던 사례와 비슷하게 소프트웨어를 만들고 유통시켰던 거대 기업의 소프트웨어 파워가 일반 시민에게 이동되고 있음을 의미한다. 물론 거대 기업은 나름대로의 포지션을 찾아서 살아남기 위해서 발버둥칠 것이다. 그러나 실질적인 경쟁력은 개인의 창의력에서 발생할 것이다. 구글플레이스토어나 애플앱스토어만 봐도 이러한 사실을 알 수 있다. 개인들이 만든 수많은 소프트웨어가 등록되어 사용되고 있으며, 사람들은 소프트웨어들을 무료로 쓰기도 하지만 기꺼이 돈을 지불한다.

대부분의 사람들은 프로그램 코딩 교육을 프로그램 언어를 가르치는 것으로 생각한다. 하지만 이것은 일부만 맞는 생각이다. 프로그램 언어는 영어나 중국어와 같은 의사소을 위한 언어가 아니다. 컴퓨터에게 일을 시키기 위한 언어이다. 아쉽게도 아직까지 컴퓨터는 극히 제한적인 프로그램 언어 즉 명령어만을 이해할 수 있다. 이런 상황을 극복하기 위한 노력이 필요한데 이것을 극복할 수 있도록 해주는 것이 코딩 교육의 본질이라고 할 수 있다. 즉 ‘제한적인 컴퓨터 언어를 가지고 자기가 원하는 일을 컴퓨터에게 잘 시키기 위해서는 어떻게 하면 좋을까?’ 라고 생각하게 된 것이다.

예를 들어 ‘집에서 키우는 강아지가 배가 고플 때 자동으로 사료를 주고 싶다면 어떻게 하면 좋을까?’, 프로그램 언어를 배운다고 쉽게 해결될 수 있는 문제는 아닌 것처럼 보인다. 자신의 사업과 연계해서 생각해 보면 ‘그 동안 음식 주문을 앱이나 전화로 받고 있었는데 쌓여져 있는 그 간의 주문 데이터를 가지고 먼저 주문을 유도하는 방법이 없을까?’ ‘과연 이러한 소프트웨어를 만드는데 소프트웨어 코딩만 알고 있으면 가능할까?’ ‘전문가에게 맡겨서 이러한 프로그램을 만들면 돈도 들고 시간도 많이 드는데 나 같은 개인 사업자가 비싼 전문가를 써서 프로그램을 만드는 것이 적정한 일일까?’ 등의 예상치 못한 다양한 의문점이 발생한다. 컴퓨터 앞에 앉아서 바로 코딩할 수 있는 상황은 그렇게 많지 않다는 사실을 금방 깨닫게 된다. 그렇다면 코딩 교육은 나 스스로 소프트웨어를 만들기 위해서 무엇을 먼저 해야 하는지를 알고자 하는 것이 핵심일 수도 있다.

그러므로 소프트웨어 코딩 교육은 문제 및 요구 사항을 분석하여, 해결할 수 있는 모델을 만들어 내고, 소프트웨어 논리를 통하여 알고리즘을 만들고 절차화하여 자동화하는데 초점이 맞춰져야 한다. 이와 같은 과정을 반복함으로써 컴퓨터의 제약을 이해하고, 만들어진 모델의 논리적 오류를 해결하여 실제로 프로그램을 코딩했을 때 자신에게 필요한 소프트웨어를 얻을 수 있을 것이다. 프로그램 코딩은 맨 마지막 단계에서 필요한 일인 것을 쉽게 이해할 수 있다.

우리정부는 코딩교육과 더불어서 정보격차를 다시 생각해 봐야 한다. 자라나는 세대에게만 소프트웨어 역량을 갖추게 하는 것은 기성세대에게는 기회의 박탈이며 사회적 불만 요소가 될 것이다. 물론 일부 IT 산업에 종사하는 사람은 예외가 되겠지만 이런 사고력을 갖추지 못한 대부분의 기성세대 사람들은 평생 불평등한 상황에서 일생을 살아가게 될 것이다. 소득분배의 불평등이 앞으로는 소프트웨어 역량의 불평등으로 전이되지 않도록 국가적인 전략과 사회적 관심이 필요할 때이다.

채성수 chaesungsoo@iabacus.co.kr 소프트웨어 개발 전문기업 ㈜ 애버커스 사업총괄 부사장. 엘지전자와 엘지씨엔에스(LG CNS)에서 다년간 컴퓨터 관련 사업을 추진한 전문가이다. 국가 공인 최고 자격인 정보관리기술사로 성균관대 및 서강대에서 컴퓨터 관련 연구를 수행했으며 소프트웨어 공학, 컴퓨터적 사고에 대해서 관심을 갖고 다양한 활동을 하고 있다.

(*이 칼럼은 Nextdaily의 편집방향과 다를 수 있습니다.)

관련기사

저작권자 © 넥스트데일리 무단전재 및 재배포 금지