brunch

You can make anything
by writing

C.S.Lewis

by 김지영입니다 Jan 07. 2016

엘프의 외계어 배우기

외계어를 왜 배우는가...

오늘 박재성 교수님의 글을 보고 원초적인 질문으로 돌아가 나 자신을 돌아보는 시간을 가져보았다.

나는 왜 외계어를 배우려고 하는가??? 나는 외계어를 배움으로써 무엇을 얻으려고 하는가???


사실, 처음 외계어를 배워야겠다고 생각했던 가장 큰 이유는 더이상은 대충 아는 척 하는 걸로는 개발자들과 대화가 어렵다는 이유에서였다. 명색이 IT 관련 도서를 출간하는 대표 출판사의 기획자로서 여러 저역자들을 만나고, 개발자들을 만나면서 모르는 건 모른다고 솔직히 말하는 것도 중요하지만 언제까지고 솔직함이 장점이 될 수는 없는 노릇이었다. 또한 이거 저거 주워 들은 이야기는 많아서 대충 이해는 하고 있었으나 그 이해의 깊이나 폭에 결국 한계가 있어서 더 좋은 도서를 기획하는 데 어려움이 있었다. 

그리고 남들에게는 자세히 말하지 않았지만, 개발자들의... 특히나 내가 친하게 지내는 프로그래머를 꿈꾸는 어린 학생들의 열정이 부럽고 또 궁금했다. 도대체 프로그래밍의 매력이 뭐길래 저렇게 새벽까지 저들을 컴퓨터 앞에 앉아 있을 수 있게 만드는지, 흔들리지 않는 목표를 가질 수 있게 하는지, 또 무언가를 직접 만들어 본다는 보람과 만족에 대한 의미는 무엇인지 너무나도 궁금했다. 그래서 조금은 걱정스럽지만 일단 도전해보기로 한 것이다.


배우고자 하는 이유는 명확했지만 뭘 어떻게 시작해야 하는지에 대해서 전혀 알 수가 없었다. 특히, 나는 전공자도 아니었고 프로그래머를 꿈꾸는 사람도 아니었다. 일단 지인을 통한 스터디에 참여를 했으나 프로그래밍이 컴퓨터를 통해 무언가를 만드는 것이라는 것 외에는 아는 것도 전혀 없었고, 'Hello World'를 찍어본 적도 없었다. (대학 때 교양 과목으로 Computer Science를 듣기는 했으나 그 과목은... 그냥 컴퓨터를 전반적으로 이해시키는 수준이라고 해야 할까?)

그때 당시 어쩔 줄을 모르는 나에게 개발자 지인들은 '너가 정말 프로그래밍을 통해 하고 싶은게 뭔지 생각해보라'는 조언을 많이 해줬다. 그런데 지금 와서 하는 이야기지만, 프로그래밍으로 무얼 할 수 있는지도 모르는 나에게 하고 싶은게 뭔지 생각해 보라니... 이건 유치원생에게 어서 너의 인생 계획을 말해보라는 것과 다를 바가 없었다. 그래서 내가 했던 이야기는 "대박 서비스를 만들고 싶습니다"였다. 물론 지금도 대박 서비스를 만들고 싶다.  푸하하하하~


프로그래밍을 배운다는 것은 생각보다 어려웠다. 영어를 배우는 것보다 수학을 배우는 것보다 훨씬 어려웠다. 특히나 이론은 정말...... 지독하리만큼 지루했다. 구구단을 짜보라든가, 계산기를 만들라든가... 아니 그걸 왜??? '이런 건 나중에 게시판을 만들 때 필요해~' 나는 홈페이지를 만들고 싶은게 아닌데 그런 것도 알아야 해??? 이런 반복이랄까. 아마도 배우고자 하는 이유는 있었으나 도대체 내가 이걸로 뭘 할 수 있는지 정확히 알지 못해서 재미가 없었다고 하는 것이 더 확실한 표현일 것이다. 그러다가 외계어 스터디를 통해 실습을 하게 되었는데, 그때부터 뭔가 번쩍하는 빛을 보게 되었다. 선생님을 따라 코드를 입력했더니 내가 어딘가에 가입하려고 할 때 보았던 그 화면이 짠~ 하고 나왔다. 박스에 내 이름을 넣었는데 '안녕하세요 지영님'이라고 딱!!! 그때의 감동이란... 아~ 정말 어떻게 말할 수 있을까??? 프로그래밍이란게 이런거구나. 내가 한 것이 바로 결과물로 나오니까 이 재미가 엄청나구나. 

프로그래밍에 대한 재미를 조금 느끼기 시작했지만 그때도 역시 내가 무얼 할 수 있을지, 무얼 하고 싶은지에 대해서는 명확하지 않았고 처음 배우기 시작한 JavaScript에 대한 공부를 계속 하면서 다른 사람들이 비전공자가 접근하지 가장 쉽다는 Python을 codeacademy를 통해 공부하기 시작하고, 또 Toby님의 새로운 도서 베타테스터로 지원해서 어이없게 자바 공부도 시작하며 이거저거 힐끔거리고 있을 뿐이었다. 그때 Toby님이 나의 실력이 아직 Java를 시작하기에도 너무 부족하다고 생각하셔서 (사실 조교를 붙여 주셨음에도 진전이 없었다 ㅠ.ㅠ) SQL을 한번 공부해보자고 하셔서 일단 다른 것들은 다 미뤄두고 SQL을 시작해보았다.

SQL은... 내가 입력한 코드로 바로 결과물을 보여줘서인지 나에게는 최적의 언어였다. 하물며 혼자 책을 보고 공부하기도 편했고 또 배운 걸 활용해서 무언가를 해볼 수도 있었다. 내가 와인을 엄청 좋아라 하는데 SQL을 이용해서 내가 마신 와인들에 대해 내 나름의 평점을 매긴 테이블을 만들어서 지금도 업데이트 하고 있다. 솔직히 말하자면 그 테이블을 만드는데 거짓말 안 보태고 100번정도 코드를 새로 작성한 것 같다. 아직도 추가하거나 새로운 테이블을 만들 때 책을 참조하면서 한다. 익숙하지 않아서 짜증이 날 때도 있다. 그런데 무엇보다 중요한 것은... 재미있다!!! 정말 재미있다!!! 내가 입력하고 만들고자 한 것들이 짠 하고 딱 나타날 때의 쾌감이란... 혼자 컴퓨터를 쳐다보며 씩~ 웃게 되는 그 기분!!! 아는 사람들은 다 알 것이다.


아... 내 이야기가 너무 길었다. 여튼, 프로그래밍을 공부를 시작하려고 하는데 무엇부터 시작하면 좋을지 모르겠는 사람들에게 내가 감히 조언을 해주자면,


첫째, 왜 프로그래밍 공부를 하고 싶은지 생각해보라는 것이다. 재미있어서, 혹은 취업이 잘 되서, 혹은 남들이 다 하니까...라는 이유라고 해도 상관없다. 어떤 것이든 남들이 뭐라고 하든, 자신만의 명확한 이유를 가지고 시작하는 것이 좋다.

둘째, 일단 무조건 시작해봐라. 웹프로그래머가 될지 서버 개발자가 될지 혹은 보안 관련 프로그래머가 될지 솔직히 처음부터 알 수 없다. 그러니까 나는 무조건 무엇이든 시작해보라고 말해주고 싶다. 일단은 프로그래밍 자체가 나에게 재미있는 일인지, 나에게 열정을 불러 일으키는지 알아야 한다.

셋째, 미술가도 조각가가 있고 화가가 있고 설치 미술가가 있듯이 프로그래머도 여러 분야가 있고 자신에게 맞는 걸 자신이 찾아야 한다고 생각한다. 그러려면 혼자 책을 보고 공부하는 것도 중요하지만 스터디를 한다거나 모임에 참여한다거나 커뮤니티 활동을 통해 다양한 개발자들을 만나서 여러 가지 이야기를 듣고 조언을 얻는 것이 중요하다. 나는 정말 다행히도 주위에 너무 좋은 개발자들이 많다.


(박재성 교수님의 답변은 여기서 확인해볼 수 있다.)


프로그래머를 꿈꾸는 모든 사람들에게 행운이 함께 하길... 그리고 나와 같이 프로그래밍을 통해 재미를 느낄 수 있길...



매거진의 이전글 엘프의 외계어 배우기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari