brunch

You can make anything
by writing

C.S.Lewis

by 김지영입니다 Apr 30. 2018

엘프의 외계어 배우기

자바스크립트를 배워봅시다. - 제1화

앞서, 자바스크립트에 대해서 간단히 일반인 입문자의 관점으로 알아본 후(https://brunch.co.kr/@pubjinson/57https://brunch.co.kr/@pubjinson/58 참고) 이제 본격적으로 자바스크립트를 배워보려고 합니다.


자바스크립트를 배워기에 앞서 어떻게 이 프로젝트가 시작되었는지 설명해드리겠습니다. 궁금하지 않으신 분은 몇 단락 건너뛰어도 됩니다.


프로그래밍을 배우려는 이유 

* 어설프게 아는 척하며 책을 기획하기에 부족함을 느꼈다. - 프로그래밍(개발 관련) 서적을 만들기 시작하면서 솔직히 '굳이 내가 프로그래밍을 알아야 하나?'라는 생각을 했었습니다. 모르는 건 프로그래머(개발자)들에게 물어보면 되고, 조언을 구하면 되고, 잘 아는 사람들이 번역하거나 집필할 테니 말이죠. 그렇게 하다 보면 어느 순간 어느 정도는 알게 될 거라고 생각했습니다. 물론 10년 정도 이 일을 하다 보니 주워들은 것도 많고 또 나름 알게 된 것도 많은 건 사실입니다. 그렇지만 그 정도로는 좋은 책을 기획하기에 부족함을 점점 느끼기 시작했고 그래서 몇 년 전부터 프로그래밍을 배우기 위한 여러 가지 시도를 했습니다. 

* 프로그래밍을 배우면서 개발자에 대해 조금 더 이해하고, 개발자처럼 생각하기(computational thinking)에 대해 알아보고 싶었다. - 프로그래밍을 배우다 보니 내가 원하는 결과물을 얻기 위해 코딩을 하기에 앞서 개발자처럼 생각하는 방법을 익혀야 한다는 것을 깨달았습니다. 물론 이게 배운다고 뚝딱 되는 것은 아니라고 생각합니다. 그렇지만 그렇게 생각하려고 노력하고 또 자주 시도하다 보면 어느 틈엔가 익숙해져 갈 것이라 믿습니다. 그래서 프로그래밍을 공부하는 것은 영어가 모국어가 아닌 사람이 꾸준히 영어를 공부하고 사용해야 하는 것처럼 중요한 것이라 생각합니다.


프로그래밍을 배우는 방법 

몇 년 전부터 프로그래밍을 배우기 위해 여러 가지 시도를 해 봤습니다.

* 외계어스터디를 통해 배우기 : 제가 처음으로 프로그래밍을 배우기 위해 시도했던 방법입니다. 완전 초초초 입문자에 눈높이를 맞춰 시작한 수업이었지만 제 스스로 목표가 없다 보니 수업 내용을 따라가기 급급했었습니다. 그러다 보니 내가 뭘 하고 있는지 의문이 들 때가 많았고, 지금 돌이켜보면 참 아쉬움이 많이 남는 시간들이었습니다.

* 책을 통해서 배우기 : 시중에 나와 있는 초급서 중에 정말 쌩초보가 볼만한 책은 없다는 것을 깨달았습니다. 어디에 들어가서 뭘 다운로드하여 설치하라고 나와 있는 것조차 컴퓨터를 다루는데 익숙하지 않은 사람에게는 어려웠고, 책을 보면 볼수록 무언가 더 찾아보거나 더 알아야 하는 것들이 쌓여 갔습니다. 책 한 권만으로는 시작할 수 없는 것들이 너무 많았습니다.

* 코드아카데미 등의 사이트를 통해 배우기 : 따라 하면서 익숙해지고 그러다 보면 배우게 되는 것이라고 들었는데 익숙해지기보다는 과정을 끝냈다는 만족감만 느끼게 됐었네요. 따라 하는 내내 'why?'라는 의문이 계속 생겼습니다. 


이런 여러 가지를 시도해보며 제가 느낀 건, '역시 아무래도 나는 누군가 지속적으로 물어보며 배울 수 있는 사람이 필요하다는 것이었습니다.' 나는 어쩌면 프로그래밍을 어떻게 배워야 할지 모르기 때문에 독학을 하는 것이 맞지 않는 사람일지도 모릅니다. 그리고 계속 질문을 던지며 익혀나가는 것이 저에게 제일 필요하다고 생각하게 되었습니다.


멘토 선정 이유 

그렇다면 저는 프로그래밍 가정교사가 필요한데, 과연 어떤 분에게 부탁을 해야 할까 생각해 보았습니다. 제가 제일 중요하게 생각했던 것은 아래 3가지입니다.

1. 모른다고 솔직히 이야기할 때 부끄러움을 느끼지 않을만한 사람

2. 서로 이해하며 함께 지속적으로 꾸준히 해나갈 수 있을만한 사람

3. 때로 게으름을 피우고 포기하고 싶은 나를 다잡아줄 수 있는 사람

4. 무엇보다도 본인 스스로 프로그래밍을 진심으로 좋아하고 재미있어해서 나에게도 그 에너지를 전달해줄 수 있는 사람.


그래서 제가 많이 아끼고 때론 의지하고 때론 부러워하고 때론 존경하는 그녀에게 부탁을 했고 프로젝트를 위한 만남을 통해 세부적인 것들을 결정하였습니다.


무엇을 만들 것인가?

처음 무언가 만들고 싶은 것이 있는지 질문을 받고 솔직히 일반적으로 개발자들이 프로그래밍을 배울 때 본인이 필요하다고 느끼는 것을 만드는 것이 제일 좋다고 말하지만 그 질문조차 입문자에게는 어렵다고 대답했습니다. 무얼 만들 수 있는지, 어떤 게 프로그래밍으로 가능한지 모르는데 어떻게 대답할 수 있을지... 선뜻 생각나지도 않았고요.


이런저런 이야기를 솔직하게 나누던 중 멘토는 저에게 '필요한 것'보다 '내가 지속적으로 사용할 수 있는 것'에 대해서 생각해보라고 했고, 올해 지앤선에서 도서 관련 북콘서트나 세미나 등을 조금 더 본격적으로 진행할 예정이라 지앤선만의 세미나 신청 페이지(혹은 사이트)가 있다면 꾸준히 사용할 수 있을 것 같다는 결론에 이르게 됩니다. 다른 사이트를 이용했을 때와 다르게 딱 우리 회사에 맞는 내용들만 적절히 들어가는 그런 세미나/북콘서트를 위한 예약 및 홍보 페이지 말이죠~ (프로젝트를 진행하면서 다시 이야기하겠지만 우리 프로젝트 명을 "파티party"로 정했습니다. 흥겹고 파티같이 즐길 수 있는 북콘서트와 세미나를 만들고 싶어서요^^)


JavaScript를 선택한 이유 

외계어스터디를 통해서 그래도 접해본 언어라 두려움이 적었기 때문입니다. 그리고 코드아카데미를 통해서 한번 과정을 마쳤고 또 처음 몇 페이지뿐이지만 관련 도서도 보면서 배워보려고 노력했던 언어였죠. 그리고 함께 하는 멘토가 프런트엔드에서부터 백엔드까지 하나의 언어로 모두 커버할 수 있기 때문에 제가 원하는 프로젝트를 진행하기에 적합하다고 이야기해 주었습니다.


본격적인 수업에 앞서...

저의 이런저런 필요성으로 인해 프로그래밍을 배우기로 결정했지만 멘토와 함께 이루고자 하는 목표를 정하는 것이 서로 이 프로젝트를 진행하면서 재미있게 오래 할 수 있을 것이라 생각되었습니다. 그래서 공동의 목표를, "배우고 가르치는 내용들을 정리해서 공유하자."로 결정했습니다. 아울러 멘토는 이 프로젝트에서 git을 통해서 올리고 관리하며 배포하는 전체 과정을 다루고 싶다고 했습니다. 왜냐하면 이런 전체 과정을 통해서 초급자가 회사에 취업을 할 때도 도움이 될 수 있다고 생각하기 때문이라는군요. 내가 만든 걸 내가 서비스할 수 있는 정도는 되어야 프로그래머로서 면접을 볼 수 있다고 생각한다는데, 저도 동의합니다.


자, 그럼 이제 시작해볼까요???


to be continued...




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari