철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

Archive for 11월 2013

인생 시간 낭비 불가법

leave a comment »

올해초 한해가 시작하면서 내가 살아가는데 있어서 말이 되는 것 같은 생각 중에서 뭔가 책을 쓴다면 사용할 수 있을 만한 꺼리를 적어볼 시간이 있었다. 일단 “인생 시간 낭비 불가법”이라는 유치한 제목으로 시작했고 별로 적절한 제목같지도 않지만, 내용은 한해 생각해보고 가지를 치기에 꽤 괜찮은 것 같아서 공유해본다(워드 문서로 적었는데 날짜를 보니 1월 6일자).

  • 한번 사는 인생임을 항상 명심해라.
    • 종교적으로 다음 생이 있다고 해도 지금 생은 한번이다.
    • 내가 죽을 확률은 X다. 로또보다 휠씬 높다.
  • 습관을 정복하라
    • 습관은 강박과 연결하면 실패확률이 높다.
    • 작은 것부터 시작하라.
  • 1초후의 미래를 생각하라.
    • 1초에 나는 다른 사람이다. 1초, 1분, 1시간후에는 더 나은 나일 수 있다. 꼭 그래야되는 것은 아니더라도 기왕이면 더 나은 나라면 내 다음 단계는 내가 원하는 곳에 가까울 수 있다.
    • 더 나은 나이기 위한 실험이 계속된다. 뭔가 바뀐다고 더 나은 것이 아닐 수도 있지만, 그것이 아니라는 것을 배우고 수정할 수 있는 기회가 또 생기는 것이다.
  • 24시간을 초/분 단위로 씹어먹어라.
    • 인생은 길다. 단지 필요한 부분만 기억하기 때문에 짧다는 생각이 드는 것이다.
    • 적는 습관이 있으면 적어도 되고, 아니더라도 씹어 먹으면 된다.
  • 우선순위를 제대로 매겨라.
    • 예를 들어, 3년동안 미뤄왔다면 우선순위가 아니다. 우선순위였지만, 못했다는 말은 인생을 그보다 낮은 우선순위의 일로 보냈다는 뜻이다.
    • 마음의 우선순위와 실제 우선순위를 맞추기 위해 노력해라.
  • 남과 비교하지 말라.
    • 담배를 끊으면 페라리를 샀겠다는 여친이 페라리가 없는 것은 자신은 실천하지 않으면서 남과 비교하는 어불성설이다.
  • 건강을 위한 모든 것은 시간을 버는 것이다.
  • 대부분의 경우를 다 생각했다 싶으면 더 생각하지 말고, 이렇게 결정을 했다면 결과가 어떻든 후회하지 말고 다음을 생각하라.

내년 초에 다시 좀 더 한해동안 생각해본 것들을 추가하고 보완해볼 생각이다.

특히나 “24시간을 씹어먹어라”는 수년동안 다른 사람들에게 전달하는데 실패한 항목이기도 한데, 올해는 다니엘카네만의 Think Fast and Slow를 통해서 뭔가 좀 더 생각해본 점이 있었다. (게다가 1초후의 미래에 대한 이야기도 우연히 관련이 있다.) 인생을 짧게 생각하는 문제는 어떤 성과만을 가지고 판단하기 때문일 가능성이 높은데, 아무튼 그런 부분들을 다시 정리해보고 싶다. 작년 초(정확히는 제작년말)에도 비슷한 이야기를 적었다.

덧붙여 건강과 여유(혹은 Procrastination) 그리고 공유(같이 살기) 같은 부분도 더 붙이고 싶다.

사는데 원칙이 있는 것은 좋은 것 같다. 하지만, 원칙도 개선될 필요가 있기에 몇몇 항목을 나열하는 것인만큼 부담도 안되고 재미난 개인 프로젝트지싶다.

 

Written by charlz

2013년 11월 18일 at 오전 2:07

Uncategorized에 게시됨

정말 아이들에게 프로그래밍을 가르치는게 맞을까

with one comment

사람들이 아이들도 프로그래밍(코딩)을 배워야한다고 이야기하기 시작한다. 왜?

프로그래밍으로 얻을 수 있는 것이 무엇일까. 그냥 막연한(인터넷에서 본 글들의) 예를 들어서… 논리적인 사고, 그런건 다른 책에서도 얼마든지 찾을 수 있지 않나? 레고를 혹은 과학상자를 혹은 비디오게임을 주는 것과 무엇이 다를까. 논리적인 과학자라고 프로그래밍으로 논리를 배운 것도 아니고, 그런 이유로 프로그래밍을 잘한다고 할 수 없듯이 프로그래밍을 논리적인 사고를 위해 배워야 된다고 하는 것은 뭔가 그냥 유행같다. 프로그래밍을 잘하게 될 지언정. 그냥 머리에 떠오른 예시일 뿐이니 프로그래머들이 더 논리적일까에 대한 논쟁은 버려두자, 난 그리 생각하지 않으니.

많은 프로그래밍하는 사람들이 프로그래밍을 배우는 것이 좋다는 이야기를 하는 것을 그 사람들의 (그들이 인정받는 사람이라는) 문맥에서는 믿지 않을 이유는 없지만, 그 좋다는 것이 일반화되기에는 뭔가 오류가 있지 않을까. “내가 해봤는데…” 이거 어디서 많이 들어본 문구다.^^ 그 사람들이 인정받기 때문에 믿는 권위에의 오류일까, 아니면, 정말 프로그래밍을 해서 인정받게 된 증명되지 않은 사실(fact)일까. 혹은 통계적으로 잘된 경우가 더 눈에 띄는 심리적인 현상일까. 어떤 능력이 더 좋은 사람들이 프로그래밍을 잘하더라, 그렇다면 프로그래밍을 배우면 그 능력이 좋아지는 것인가. 우리는 프로그래밍을 배운 사람과 배우지 않은 사람간의 차이를 실험해서 일반화할 수 있을만한 의지가 있는 것일까. “왜” 배워야하는가에 대한 이야기는 많이 들리지 않는다. 사실 여부를 떠나, 프로그래밍을 무작정 교육에 집어 넣기 위한 근거는 턱없이 부족해보인다.

다른 관점으로도 생각해볼 수 있다. 반대로, 프로그래밍을 잘 할 수 있는 사람들이 프로그래밍이 할머니/할아버지가 할 수 있는 것으로 만들어줘야되는 것이 맞는 방향이 아닐까한다. 그렇게 되면, 정말 누구나 프로그래밍을 배우는 의미가 더 클 것 같다. 프로그래밍을 배움으로써 가지거나 가지도록 도움을 받을 수 있는 요소가 중요한 것이고, 그 효율적인(?) 보조매개로 프로그래밍이 각광받는 것이 아닌가.

사실은, 프로그래밍이 되려 누구나 할 수 있는 방향으로 흘러 지금쯤이면 속된 말로 할머니 할아버지도 할 수 있는 것이 되어 있어야하지 않았을까? 꼭 프로그래밍을 배워야된다는 것보다 도구가 프로그래밍을 쉽게 도움(Facilitate)을 주고, 어렵게 배우지 않아도 될 그런 경험을 선사해야하지 않았을까?

하지만, 아쉽게도 그런 세상과는 꽤나 멀다. (IT)세상은 돈이 지배적이고, 그 돈이 지배적인 세상에서는 Innovators Dilemma 때문에 생각보다 발전은 느릿느릿 거북이 걸음이다. 사실 IT 산업이 우리 할머니가 프로그래밍을 할 수 있게 되는 것으로 얻을 수 있는 것은 보이기에는 그다지 없다. IT 산업은 분명 필요하다. 하지만, 모두가 IT 산업에 종사해야하는건 아니다. 왜 모두가 스티브잡스이고 마크저커버그이고 빌게이츠이어야하는가. 웃긴 일이지만, 안웃기게도 자본이 모이는 곳에 아이들의 미래를 보내고 싶어하는 심리는 어쩔 수가 없다. (이런 기사도 좀 안타깝다.)

우리는 예를 들어 마당의 워터쿨러 시스템 같은 홈 오토메이션에서 은연중에 생활속 프로그래밍을 한다. “시간이 몇시가 되면 물을 틀어 몇분후에 끄고, 수요일은 예외로 하고, 온도가 몇도 이상이면 틀지 말아라.” 프로그래밍 로직이다. 이렇게 말로 하면 쉬운데, 프로그래밍 언어로 적으라고 하면 왜 그렇게 어려운 것이 되어버리는지. 이 둘간의 패러다임 쉬프트는 일어나지 않았다 – 여전히 다수가 프로그래밍은 프로그래머의 몫으로 생각한다. 앨런 케이의 끊임없는 노력이나, IFTTT와 같이 프로그래밍이 아닌 프로그래밍 같은 것등 노력은 꽤 많다. 삶속에서의 프로그래밍 메타포를 적용할 수 있는 것들은 많지만, 둘의 융합은 아직인 것 같다. 되려 우리의 사고가 프로그래밍 언어의 틀에 구애받는 것이 올바른 것인가하는 질문도 던질 수 있다.

이는 우리 아이들에게 프로그래밍을 가르친다는 개념과는 사뭇 다르다 – 적어도 지금 주류의 패러다임에 있어서는 말이다. 프로그래밍을 가르친다면 프로그래밍 언어를 가르치고 있을 것이다. 그것보다는 프로그래밍을 프로그래밍을 이해하지 못하는 사람들에게 이해시키기 위한 다른 형태로 만들고자 하는 시도들이다. 우리 할머니가 C코드를 작성하실리는 절대 없지만서도, 우리 아이들도 C코드를 작성할 필요가 없지 않냐는 것이다. 왜 아이들에게 포인터의 개념을 가르치고 있어야되나, 살아가면서 꼭 알아야할 필요는 없는 내용같은데.

비주얼 프로그래밍이라고 이야기하는데, 자칫 잘못 오해하면, 뭔가 휙휙 끌어다 놓고 연결하면 다 될 것 같은 느낌이 드는 말이다. 하지만, 어린이들에 맞춰서 충분히 추상화된 경우가 아니라면 도메인 지식을 필요로 하는 경우가 상당수다. 전문가에게는 쉬울지언정, 일반인에게는 선택의 폭이 넓지 않다. 프로그래밍을 가르치는 것이 아니라 게미피케이션으로 논리/로직을 가르친다고 생각해보면 어떨까? 프로그래밍을 가르쳐야된다는 이야기는 사실은 프로그래밍의 어떤 요소를 가르치기 위해서 사용하는 도구를 이야기하는 것이지 않을까. 그렇다면 프로그래밍이 가장 효율적인 도구가 아니라면 꼭 프로그래밍일 필요는 없는 일이다. 역시나 택타일한 레고나 과학상자가 더 효율적이지 않을 것이란 법은 없다. 어떤 도구를 아이들에게 잘 가르쳤더니 굉장히 창의적이고 재미난 결과물을 많이 만들어내더라…그 도구를 프로그래밍으로 치환하지 않아도 맞는 말이 될 가능성이 크다는 이야기다. 게다가, 그것이 아이들의 사고에 어떤 도움이 될 것인지, 아니면 교육으로써 커서 어떤 영향을 미치고 있는지에 대한 연결고리는 여전히 불문명하다.

프로그래밍 방식과 언어가 바뀌는 것은 또 어떻게 적용할 것인가도 골치다. 교육제도라는 것이 그렇게 유연성이 있는 것도 아니고, 바뀐다고 바꾸는 것에 아닌데, 자칫 잘못 도입했다가 아이들만 헷갈릴 부작용도 생각해볼 수 있다. 고등학교 2학년때 학력고사 공부를 하다가 갑자기 수능으로 바뀐 상황이 떠오른다.

인터넷에 있는 글들을 읽어보면, 그 이유는 그다지 찾기 힘들다. “이유” “왜” 이런 제목을 붙여놓고는 경험만 길게 이야기하거나 어떤 나라에서는 이렇게 한다카더라 나열하거나 혹은 그냥 신념만을 이야기한다. 여전히 “왜”는 없다. 아이들에게 프로그래밍을 가르쳐야된다는 추상적인, 그리고 마치 별 이유없는 정책적인, 혹은 무슨 제품을 파는 마케팅의 포지셔닝처럼 만들지 말고, 장기적으로 왜 그것이 필요한지, 그것으로 어떤 긍정적인 그리고 부정적인 효과가 있을 것인지를 연구해서 일반화할 필요가 있지 않을까하는 생각을 해본다. 솔직히 나는 중립적이라는 이야기도 살짝 붙여본다.

Written by charlz

2013년 11월 4일 at 오전 12:30

Uncategorized에 게시됨

%d 블로거가 이것을 좋아합니다: