나의 프로그래밍 공부법 - 서문

2012. 10. 21. 10:12기타/나의 프로그래밍 공부법

* 주 : 본 원고는 2011년 하반기부터 2012년 상반기까지 출판을 위한 목적으로 작성된 원고이다. 그러나 결과적으로 두 곳의 출판사에서 퇴짜를 맞았다. (그래서 지금은 다른 형식의 에세이를 쓰고 있다.) 모처럼 시간을 들여서 작성한 원고가 아까워서 블로그에 순차적으로 공개하게 되었다. 


본 원고는 내용적으로 보면 필자 자신에 대해서 잘난척을 하는 부분이 많고 지극히 개인적인 의견을 일반화하는 경향이 강하다. 이러한 내용에 거부감을 느끼는 분들은 아예 읽지 않는 것이 서로의 정신 건강을 위해서 좋을 것 같다. 게다가 블로그는 책과 다른 특성을 가지고 있기 때문에 원래 원고 밑에 필자의 자유로운 의견을 추가해놓을 생각이다.


본 원고를 공개하는 이유는 "프로그래머"에 대한 나의 생각을 공유하고, 충분히 행복하고 즐거운 삶을 살 수 있는 직종임을 증명해보이고 싶어서이다. 사실 어설프게 개발자인척 하는 주제들이 떠드는 헛소리를 들어주는 것이 지겹기 때문이다.


개인 블로그에 일부러 찾아와서 네 말이 맞네 틀리네 하실 분들은 인생을 알차게 만드는데 시간을 투자하라고 조언을 하고 싶다. 쓰레기라고 하더라도 이 원고를 작성하기 위해 많은 시간을 개인적으로 투자해왔고, 지금도 투자하고 있기 때문에 쓸데 없는 논쟁 따위는 하고 싶지 않다. 읽어보고 도움이 되면 다행이지만 아니라면 어쩔 수 없지 않겠는가. 물론 진심어린 충고와 조언에는 얼마든지 귀를 기울이는 준비가 되어 있다.


혹시라도 본 원고에 대해서 출판 의사가 있으신 출판사 관계자분들께서는 언제든지 연락주시기 바란다. 그리고 본 원고는 출판용 원고이기 때문에 사전 허락 없이 퍼가는 행위는 허용하지 않는다. (사이트 링크는 대환영)


-----


서문


필자가 초등학교 4학년이었던 1984년에 어머님께서 내 손을 잡고 컴퓨터학원을 찾아서 등록해주시는 그 순간부터 필자의 인생은 큰 전환기를 맞게 되었다. 그 이후부터 지금까지 컴퓨터와는 떨어져서 살 수 없는 인생을 살아온 것이 벌써 28년째가 되었다. “1만 시간의 법칙”의 기준으로 본다면 필자는 이미 3~4만 시간이 넘는 시간을 컴퓨터 프로그래밍에 투자해온 것이다.


지금도 생생히 기억나는 것은 초등학교 4학년인 필자가 고급스러운 분홍색 키티 노트에 연필로 써 내려갔던 Apple DOS 명령어와 BASIC 명령어, 그리고 예제 소스 들이었다. 당시 필자는 “catalog”라는 단어가 무슨 뜻인지도 모르는 상태에서 단지 “씨-에이--에이---지”를 입력하고 Return키를 누르면 5.25인치 디스켓에 저장된 파일 목록이 나오는 것만 알고 있는 방식으로 엄청난 반복 학습을 통해서 컴퓨터 명령어를 몸으로 익히면서 사용하고 있었다.


그 때 당시의 컴퓨터 가격은 지금으로써 상상도 하기 힘든 큰 돈이었기 때문에, 나만의 첫 번째 컴퓨터를 가질 수 있게 된 것은 2년 뒤인 1986년 여름쯤이었다. 아버님을 따라서 여의도의 “컴퓨터타운”이라는 대형 전문 매장을 방문하였는데 아버님께서는 통 크게 ROMAX-2000CP (Apple II+ 호환 기종) 풀 세트를 주문해 주셨고, 더불어서 “고스트 버스터즈” 정품 게임도 하나 사주셨다. 나중에서야 알게 된 사실이지만, 그 때는 5.25인치 FDD의 가격이 본체보다도 비쌌던 시기였다. 이 시기에 아버님과 어머님의 큰 결단과 엄청난 투자가 있었기에 지금의 필자가 있었다고 생각하니, 한없는 부모님의 사람에 감사를 드리고 또 감사를 드릴 뿐이다.


필자는 이 컴퓨터를 고등학교 졸업 때까지 약 7년간 프로그래밍 공부를 위해 열심히 사용하였고, 고등학교 1학년 때에 이르러 “Take 1 Toolkit”을 활용하여 제대로 완성시킨 첫 프로그램인 “한반도”를 만들어냈다. (지금까지 사용했던 수 많은 컴퓨터 중에서 이처럼 오랫동안 확실하게 사용했던 컴퓨터는 없었다) 다음 해에 좀더 기능을 보완하고 그래픽적인 부분을 강화한 “한반도2”까지 만들었고, 완성하지는 못했지만 MSX용 “삼국지2”의 컨버팅 작업이나 20대 후반에야 비로소 완성을 한 “야망의신화” Apple용 프로토 타입 등의 개발을 시도했었다.


지금은 창고 한 구석에 자리를 잡고 있는 골동품이 되어버리기는 했지만, 나의 “애플컴퓨터”는 나의 프로그래밍 인생의 시발점이자 나의 프로그래밍 인생을 떠받치는 가장 중요한 기둥이라고 생각한다. 왜냐하면 필자는 이 8비트 컴퓨터를 이용하여 초, , 고등학교 때 프로그래밍 공부를 하면서 초석을 탄탄하게 쌓을 수 있었기 때문이다. 그 덕분에 C언어로 넘어가면서 본격적인 프로그래밍을 어렵지 않게 시작을 할 수 있었다.


솔직히 갈 수록 필자와 같은 열정을 가지고 프로그래밍을 하는 후배들을 보는 것이 쉽지 않다. 요즘엔 어릴 때부터 어렵지 않게 컴퓨터를 사용할 수 있는 환경 속에서 자라고, 조금만 노력을 하면 엄청나게 많은 참고 자료를 활용하여 프로그래밍을 할 수 있는 좋은 여건을 갖추고 있음에도 불구하고 게임 업계와 같은 인기 분야를 제외하고는 그러한 좋은 환경을 잘 활용할 줄 아는 새싹들이 많지 않은 것 같다. (전통적으로 게임 분야에는 열정적이고 실력이 있는 개발자들이 넘쳐난다)


이 책은 프로그래머가 되고자 하는 중학생, 고등학생이나 전공자 또는 비전공자인 대학생, 직장인 들에게 직접적인 도움을 주기 위해 만든 책이다. 30년간 컴퓨터와 동거동락을 하면서 필자 스스로 느끼고 배운 것들을 정리해서 여러분이 똑같은 시행착오를 겪지 않도록 만들고자 한 결과물이니 아무쪼록 프로그래밍 공부를 시작할 때 참고할 수 있는 유용한 “지침서”가 될 수 있기를 바란다.


많이 부족한 내용임에도 불구하고 이 책이 출간될 수 있도록 도와주신 XXX의 XXXX님과 늘 힘이 되어주시는 가족, 친구, 동료 분들께 진심으로 감사의 마음을 전하고 싶다. 처음 이 책을 기획하고 집필할 수 있도록 아이디어와 의견을 제공해주셨던 OOOO님께도 감사 드린다.

----------



아직 출간이 된 것이 아니기 때문에 감사하는 마음은 뒤로 하겠다.


사실 이 책을 집필하기 전에 필자가 기획했던 책은 "벤츠 타는 프로그래머"라는 자전적인 내용의 책이었다.


내가 어떻게 30년 동안 프로그래머로써 살아왔는지, 그리고 그것을 통해서 무엇을 이루었는지를 적어보고 싶었다.


그러나, 아직은 나 자신이 대중에게 공식적으로 인정을 받을만한 위치가 아니기 때문에 지금 시점에서 그러한 내용으로 책을 쓰기에는 부적절하다는 것을 나도 알고 출판사들도 알고 있었다.


그런데 그런 아이디어를 보고 모 편집자분께서 "프로그래밍 공부법"이라는 책에 대한 기획안을 잡아주셨다.


아마도 그 분께서는 "객관성"과 "전문성"을 가진 프로그래밍 참고서와 같은 책을 원하신 것 같았는데, 막상 집필을 해놓고 보니 자기 생각만 늘어놓은 "주관적"인 성격의 에세이가 되어 버린 것 같다.


뭐.. 내 성격이나 능력이 그 정도 밖에 안되기 때문에 기대에 부응을 하지 못한 부분은 죄송할 따름이다.


그렇지만, 그것들은 내가 30년 가까이 프로그래밍을 해오면서 경험한 것들이며 15년 넘게 실무를 하면서 느낀 점들이기 때문에 헛수고라고는 생각하지 않는다.


그것은 내가 후배들이나 친구들에게 해주던 진심어린 충고였고, 선배들과 나누던 이야기들이다.


그것이 맞느냐 틀리느냐는 그다지 중요하지 않다고 생각한다.


왜냐하면 지금까지 내가 그래왔듯이 내 인생에 도움이 되는 이야기인지 아닌지는 본인 스스로 판단하면 되기 때문이다.


요즘과 같이 엄청난 양의 정보가 쏟아지는 세상에서 정말 내게 좋은 정보인지 아닌지를 구분해내는 것은 개개인의 능력에 맡길 수 밖에 없는 일이다.


아무쪼록 이 부족한 글들이 여러분들에게도 조금이나마 도움이 되기를 바라는 마음에 공개를 한다.