물리 숙제를 끝내고 잠깐 남는 시간에 뭘 할까 하다가 게임이 그닥 끌리지 않아서 시간이 더 지나기 전에 지난주에 쳤던 구글 코드잼 풀이나 써보자 하고 오랜만에 블로그를 켰다가 한참동안 블로그 업데이트에 시간을 썼다.
저번에 언급했다시피 요새 마크다운에 꽂혀서 과제나 게시글 등을 마크다운으로 많이 작성하고 있다. 지금까지는 마크다운 에디터에서 HTML로 뽑은 후 붙여 넣는 식으로 사용하고 있었는데, 이번 기회에 블로그에 마크다운으로 게시글 작성이 가능하게 세팅이나 하자 싶어서 플러그인 검색을 시작했고 Jetpack 플러그인을 사용하기로 결정했다. 다른 플러그인도 있었지만 이 플러그인이 WordPress.com 공식 플러그인이라 호환성이나 업데이트 측면에서 안정적일 것이라 느꼈고, shortcode 등 추가적인 문법 필요 없이 바로 에디터에서 마크다운을 사용할 수 있다는 점이 좋았다.
Jetpack에서 마크다운 외에도 소셜 댓글 및 공유 기능, 사이트 통계 등의 기능을 제공하길래 이 중에서도 마음에 드는 기능들을 골라서 활성화했다. 설치 후 테스트 하면서 기존에 달아 놓았던 Facebook 댓글 플러그인이랑 MathJax 플러그인이 제대로 동작하지 않길래 Jetpack에서 지원하는 기능으로 마이그레이션 했고, 블로그에 코드 삽입용으로 사용하던 Crayon Highlighter랑 마크다운 backtick 코드 태그가 충돌하는 문제를 inline code는 마크다운으로 사용하고, block code는 기존의 하이라이터를 사용하도록 충돌을 해결했다.
지금까지도 종종 생각했던 것이지만 프로그래밍을 안다는 것은 현대 사회에서 정말 엄청난 장점이라 느낀다. 문제가 발생했을 때 기반이 되는 기술들을 대략적이나마 파악하고 있기 때문에 문제의 원인에 대해 훨씬 빠르고 정확한 직관을 가질 수 있고, 자신이 필요로 하는 기능을 ‘직접 만들수 있다’는 사실은 문제 상황에서 취할 수 있는 선택지를 크게 넓혀준다. 이러한 문제 파악 – 가설 설정 – 문제 해결에 이르는 과정은 과학적 방법론과도 방향성이 일치한다.
이러한 맥락에서 나는 소프트웨어 교육을 공교육에 포함시키자는 입장에 대해 크게 찬성한다. 이를 통해 디지털 생태계에 대한 전반적인 지식을 쌓을 수 있으며, 이러한 지식들은 위에서 언급한 문제 상황에 대한 직관을 향상시키는데 큰 도움이 된다. 특히 프로그래밍은 Computational Thinking이라 불리는 사고방법을 익히는데 가장 효과적인 수단이다. 주의해야 할 점은 실제 교육 과정에서 왜 소프트웨어 교육이 필요한지에 대한 이해가 명확해야 한다는 점이다. 필요성에 대한 충분한 이해 없이 교육이 이루어진다면 조악한 앱이나 홈페이지 따위를 따라 만들면서 모든 아이들을 개발자로 양성하는 것이 목표라 오해 받을 수 있다.