글쓰기의 개미지옥

지금 보고 있는 이 페이지는 1년 전에 작성된 글입니다. 글 내용은 현재의 상황, 제 의견 또는 견해와 다를 수 있습니다.

요즘 생각도 많고 일도 바뻐서 블로그에 글 하나 올리지 않고 있다. 신년에는 글도 더 많이 쓰고 책도 많이 읽으려고 하는데 첫 주에 아무 것도 못하고 지나가고 말았다.

글을 쓰면, 특히 블로그에 글을 올리면 이런 생각이 들거나 이런 이야기를 듣게 된다.

  • 안쓰는 것보다 쓰는 것이 낫다
  • 쓸거면 잘 쓰는 것이 낫다

이 두 생각은 다양한 방식으로 변주되는데 가장 피곤한 형태는 “잘 쓰지 못한다면 안쓰는 것이 낫다”고 생각하는 일이다. 이런 생각을 본인만 하면 모르겠는데 남이 쓴 글에 이런 말을 하는 사람을 종종 본다. 심지어 이런 이야기를 건설적으로 듣지 못한다면 글 쓸 자격이 없다느니, 자신이 아무 말 해놓고는 그 책임을 글쓴이에게 전적으로 돌리는 경우도 있다. 이러면 글 쓰는 사람은 자신감도 없어지고 이런 대화를 보면 나는 글 쓰질 말아야지 결심하기도 한다. 어느 쪽이나 무서운 일이다.

늘 글을 쓰는 일을 생각하며 지내지만 이런 대화를 듣거나 보고나면 계속 글을 쓰는게 맞나 생각이 맴돈다. 마치 개미지옥과 같아서 벗어나기 쉽지 않다.

먼저, 글을 써보지 않으면 자신이 잘 쓰는지 못쓰는지 알 수 없다. 먹어보지 않은 음식의 맛을 알고 싶다면 물론 인터넷 검색해보면 간접적으로 알 수 있겠지만 직접 먹어보는 것이 확실하다. 게다가 그 글도 한 두 번 써본다고 잘 쓰는지 알기 어렵다. 맛집찾기와 비슷한 과정이다. 많이 먹어보기 전에는 어느 집이 맛있는지 비교하기 힘들다. 자신이 어떻게 글을 쓸 때 즐겁고, 더 깊이 집중하고 싶다는 생각이 드는지 알고 싶다면 꾸준히 써봐야 한다. 100개 포스트 올리기 같은 목표를 만들고 달성해보는 식이다.

그리고 글은 독자가 있어야 다듬어진다. 가장 이상적인 독자는 가까이 있는 사람 중 기꺼이 시간을 내어 글을 읽어줄 분이다. “아는 사람”은 질 높은 피드백을 줄 가능성이 높다. 다만 피드백을 받으면 종종 글의 호흡이나 글 쓰는 과정 전체가 늘어지는 경향이 있다. 짧고 간단한 글이라면 먼저 공개하고 피드백을 받는 것도 좋다고 생각한다.

그리고 좋은 피드백을 받고 싶다면 본인도 평소에 많이 찾아 읽고 피드백을 즐겁게 자주 남겨야 한다. 그렇다고 피드백이 거창할 필요는 없다. 잘 읽었다면 잘 읽었다고, 오타가 있으면 오타가 있다고 말해주는 정도여도 충분하다. 그리고 다른 의견이라면 글 뒤에는 사람이 있다는 것을 잊지 말고 정중하게 쓰자. 기본이다. 피드백을 주는 일은 내 글을 쓸 때도 더 넓은 관점으로 글을 접근할 수 있는 시각을 주는 동시에 새로운 독자를 찾는 기회가 될 수도 있다.

그리고 글이 부족하다고 지적받는 일을 두려워하지 않았으면 좋겠다. 내 스스로도 여전히 두려운 일이긴 하지만 “지적 받으면 더 고민해보고 고치면” 된다. 그런 면에서 블로그는 매우 편리하다. 문제가 생기면 고치거나 글을 내릴 수 있기 때문이다.

마지막으로 맞춤법 검사를 수행하고 비문을 사용하지 않았는지 확인한다. 이 두 가지는 글을 읽는 과정을 방해하며 글이 전달하는 내용을 흐리게 된다. 맞춤법 검사 도구를 사용해보고 글을 꼼꼼하게 읽어 비문을 수정하자.

올해는 내 스스로도 글쓰기 개미지옥에서 탈출하도록 노력할 계획이다. 더 부지런히 글을 쓸 수 있었으면 좋겠다.

코딩교육

지금 보고 있는 이 페이지는 2년 전에 작성된 글입니다. 글 내용은 현재의 상황, 제 의견 또는 견해와 다를 수 있습니다.

code.org 이후로 코딩 교육에 관한 이야기를 자주 보게 된다. 한국에서도 공통 교과에 코딩을 포함해야 하는가에 대한 논의를 많이 접할 수 있었다. 기술 발전에 따라 기초 학문으로 가치가 높아지고 있고 수학과 같이 논리적 사고력을 배양할 수 있다는 의견부터 현장에서 제대로 된 교육이 가능한가에 대한 의문, 코딩 학원과 같은 사교육 열풍만 불 것이라는 부정적인 의견까지 다양했다.

코딩 교육이 옳은가, 옳지 않은가에 관한 이야기보다는 실제로 교육을 위해 움직이고 있는 모습을 보면 먼 이야기가 아니라 이미 현실이다. 앞서 예로 들었던 code.org에서는 프로그래밍을 통해 데이터를 분석하거나 문제를 해결하는 과정을 제공하고 있다. 영국의 Code Club 프로그램에서는 만9-11세를 대상으로 스크래치부터 기본적인 웹개발(HTML, CSS), 파이썬 등을 학습하는 커리큘럼을 학교 현장에서 제공하기 위해 힘쓰고 있다. 찬반을 하기엔 이미 깊숙이 들어와 있고 시행착오를 넘어 성숙하고 있는 단계로 느껴진다.

Code.org and Code Club Logo
코딩 커리큘럼을 제공하는 대표적인 단체, Code.org와 Code Club

어릴 때 프로그래밍을 가르치는 것이 정말 효율적인가에 대한 생각은 사실 미술과 음악, 작문과 같이 자기 생각과 관점을 표현하는 수단이라 생각하면 더 와 닿는다. 자신을 드러내는 또 다른 방법을 하나 더 배운다고 생각한다면 그게 크게 잘못되거나 어렵고 힘든 일이라고는 생각이 들지 않는다. 내 또래 세대는 방과 후 프로그램에서 배운 HTML로 학급 웹사이트를 만들고 포켓몬 도감을 만드는 데 시간을 썼다. 한 학년을 마치며 그 기간을 기억하기 위해 학급 문집을 만들고 각자 기념할 만한 물건을 타임캡슐에 넣어 묻었던 일을, 지금 어린 세대는 오늘을 기억하려는 방법으로 스크래치로 만든 애니메이션을 함께 공유하고 마인크래프트에서 함께 지은 건물과 탐험했던 지역을 보며 회상한다. 지금 당장에도 이 세대가 컴퓨터를 통해 만들어내는 수많은 미디어를 Youtube에서 직접 눈으로 확인할 수 있다. 지금의 어린 세대를 가까이서 관찰할 기회가 많지 않아 일반화하기 어렵지만 저스틴님 댁에 놀러 가서 아이들과 이야기할 때마다, 초등학교 다니는 우리 집 막냇동생이 운영하는 블로그를 들어갈 때마다 이 세대의 삶에서 컴퓨터를 어떻게 소화하고 활용하는지는 이미 내 상상 이상이다.

Scratch 웹사이트에서 다양한 학생 작품을 접할 수 있다.
Scratch 웹사이트에 접속해보면 애니메이션, 그림 등 다양한 학생 작품을 접할 수 있다.

어릴 때 코딩을 배우는데 어렵게 느끼지는 않을까? 이미 추상화된 아이디어가 일반화된 세대에게는 Car, MyCar 클래스를 만들어 설명하기보다 “마인크래프트에서 블럭의 종류는 여럿이지만 블럭은 다 같은 크기고 가방에 넣을 수 있어.” 식으로 훨씬 쉽게 이해할 수 있게 된다. 놀이터에서 그네와 시소를 타고 학교에서는 그 과학적 원리에 대해 배웠던 것과 같이 이런 환경에 일찍 노출된 세대라면 코딩을 배운다는 것 자체가 어색하지 않다. 우리의 사고와 접근으로는 어렵다고 생각할지 몰라도 마우스와 키보드 인터페이스보다 터치 스크린을 먼저 접한 아이들이 이해하기에는 훨씬 간단하고 익숙한 내용일지도 모른다.

내가 교육 현장의 일선에 있는 것도 아니고 아직 자녀가 있는 처지는 아니라서 이게 좋고 나쁨을 이야기하기엔 쉽지 않다. 하지만 이런 변화는 지금의 세대에겐 논쟁거리가 될 수 있어도 이후 세대에겐 당연하고 필수적인 생활 요소가 될지도 모른다. 지하철에서 책을 읽지 않고 스마트폰만 만진다고 못마땅하게 생각하는 사람들이 있지만, 지금의 어린 세대에게는 그런 모습을 당연하다고 생각할 것이다.1 지금의 홈 오토메이션은 별 볼 일 없게 느껴지지만, 미래 세대는 훨씬 많은 모듈을 사용해 직접 로직을 구성하고 활용하게 될 것이고 이처럼 일상에서 프로그래밍적 사고가 필요한 일이 더욱 많아져 지극히 당연한 교육이 될지도 모른다. 그때쯤 되면 이런 논쟁이 있었다는 사실을 산업혁명 시기 러다이트 운동과 나란히 배울 수도 있다.

이런 이야기 이면에는, 영미권과 한국을 비교하게 되면 상대적으로 좁은 언어권에서 나타날 수밖에 없는 한계를 느끼게 된다. 영국의 Code Club의 커리큘럼이 호주로도 들어와서 호주판 Code Club 네트워크를 순식간에 구축한 것과 같이 동일 언어권에서는 빠르게 확산하고 지식이 공유된다. 한국어 사용자에게 있어서 상대적으로 소외되는 느낌이 들 수밖에 없다. 그렇다고 학습에서 영어를 직접 사용하거나, 생성자, 소멸자, 발생자와 같은 한문 조어를 통해 배우는 것도 부차적인 학습이 따라와 부담을 느낄 수밖에 없다. 이런 문제를 뒤로 밀어둔다 하더라도, 귤화위지라는 말과 같이, 해외 사례를 모델로 삼아 번안된 교육안으로 적용하는 일은 단순하게 여겨질지 몰라도 옮겨 심는다고 모든 일이 저절로 해결되지 않는다. 환경도 필요하고 인력도 필요하다.

최근 BBC에서 영국의 7세 아동을 대상으로 제작 배포한 micro:bit. 웹사이트를 보면 없던 개발욕도 생길 것 같다.

나도 방과 후 교육으로 HTML을 배우고서 웹을 처음 알게 되었고 그 이후로도 웹 프로그래밍이나 컴퓨터에 계속 관심을 두게 된 것은 자연스러웠다. 나는 문과를 선택했고 대학도 지리교육을 전공했다. 코딩을 배운 경험 자체에 대해서는 전혀 불평할 여지가 없었다. ‘문제를 해결하는 논리적 접근 방식을 배웠다.’ 식으로 경험을 말하기에는 쉽게 드러나지 않아 판별하기 어려운 부분이다. 하지만 프로그램을 작성하는 방식, 코딩을 배운 것이 내 삶에 도움이 되지 않았다고 생각하는 편이 더 이상하고 어색하다. 내 삶에 있어 도움이 되었다고 보고 있어서 이 교육이 필요하다고 마음으로 느끼고 있다.2 그래서 나에게는 더더욱 “코딩 교육이 필요하다, 필요하지 않다” 보다는 어떻게 해야 제대로 된 교육이 가능한가에 대해 더 관심이 간다.

앞에서 이야기한 것과 같이 “필요 없다”고 말하기엔 이미 현실이다. 환경과 인력의 부족으로 포기하는 것보다 오히려 현업에 있는 사람들이 좀 더 제대로 된 커리큘럼과 프로그램을 가질 수 있도록 목소리를 더 내야 한다. 개인이기 때문에 할 수 있는 것이 없다고 느껴질지 모르지만, 개인의 경험이 공공의 지식이 되는 과정 없이는 교육적 토대와 사회적 기틀이 생겨나기 어렵다. 나는 어떻게 배웠고 어떤 부분이 쉽고 어려웠다는 이야기를 공유해야 한다. 내가 아는 지식을 타인, 더 나아가 다음 세대가 쉽게 이해할 수 있도록 나눠야 한다. 그리고 이런 지식 데이터베이스를 교육에 어떻게 녹일 수 있는지 담론을 구성해야 한다. 그 역할이 우리 세대가 해야 할 일이라 생각한다.


  1. 나중에 그 세대가 자라면 공공장소에서 홀로그램 켜서 통화하는 사람은 예의 없다고 생각할지도 모를 일이다. 
  2. 지금은 업계에 있어 설득이 덜하게 느껴지지만 5년 전만 해도 이렇게 웹개발을 할 것이란 생각을 전혀 못 했다. 

쉬운 언어로 개발을 깊게 배우기는 쉽지 않다

지금 보고 있는 이 페이지는 4년 전에 작성된 글입니다. 글 내용은 현재의 상황, 제 의견 또는 견해와 다를 수 있습니다.

트위터를 통해 읽게 된 Javascript, the New PHP 라는 아티클은 JavaScript가 PHP를 그대로 답습하고 있음을 몇 사례를 들어 담담하게 이야기한다. 쉽게 개발할 수 있다는 장점과 단점으로 만들어진 PHP 생태계와 마찬가지로 JavaScript도 비슷한 수순을 밟고 있어 안타깝다는 이야기가 전체적인 흐름이다. 특히나 나도 비슷한 기술 스택을 가지고 있어 공감하는 부분이 많았다.

  • 쉽고 간단한 코드가 깊은 레벨로의 학습보다 복사-붙여넣기로 지금 당장 동작하는 코드를 선호하게 한다.
  • 이런 문제를 야기하는 개발자들 스스로가 공부하는 것을 귀찮아 하거나 필요하다는걸 깨닫지 못하고 있다.
  • 결과적으로, 이미 다 알고 있다고 생각하고 스스로를 전문가로 생각한다.

위 아티클에서 인용된 Stackoverflow의 안좋은 답변에서는 초심자를 위해 어떻게 질문에 접근해야 하는가에 대해 이야기하지만 그보다 더 눈 여겨 보게 된 부분은 합당한 답변보다 단순히 기술적으로 옳은 답변(지금 당장에 동작하는 코드)를 선택함으로 잘못된 코드가 계속 생명력을 갖게 된다는 점이다. 결국 낮은 수준의 개발자들이 낮은 수준의 개발자를 끊임 없이 양산한다. 커뮤니티는 보수적으로 변하고 새로운 기술에 기민하게 대응하지 못하게 된다.

깊이있게 알지 못하는 개발자를 정죄하자는 이야기는 아니다. 다만 내 스스로 쉬운 언어 속의 옅은 개발자로 삶을 살고 있는건 아닌지 경계해봐야 한다.