아~주 예전에 저희 블로그에서 리뷰어분들을 모시는 글로 찾아뵈었던 프로그래밍 심리학이 드디어 독자 여러분과 만나게 되었습니다.
1월이면 제작이 완료되어 서점에서 보실 수 있을 것 같으니, 2008년을 화려하게 열어주는 인사이트의 첫 책이 되겠네요.
그동안 ‘대체 언제 나오는 거여~’라며 손꼽아 기다려주신 독자분들께 기다려주신 마음에 감사하며 그만큼 실망시켜드리지 않을 내용으로 가득 차 있음을 감히 자신합니다.^^;
한 줄의 글에도 결코 만만치 않은 내공이 깃든 ‘프로그래밍 심리학’을 조상민 님께서 얼마나 치열하게 고심하며 번역을 해주셨는지는 아래의 ‘옮긴이의 글’을 보시면 어느 정도 상상이 되실 거라 믿어요.
시간이 지나도 변치 않는 컴퓨터 분야의 고전 중의 고전이며, 프로그래밍과 인간에 대한 통찰과 지혜의 집약인 프로그래밍 심리학!
지금 온라인 서점에서 예약 판매 중이랍니다.^^ |

강컴 바로가기 | 교보문고 바로가기 | 예스24 바로가기 | 인터파크 바로가기

[옮긴이의 글]
전 지금 이 책에 실을 옮긴이의 글을 어떤 말로 시작해야 할지 고민하고 있습니다. 소프트웨어 분야에서 가장 위대한 명작 중 하나인 『The Psychology of Computer Programming』(이하 POCP)을 우리말로 번역한 이 책 말입니다. 어제 오늘만 고민한 게 아닙니다. 번역을 맡은 바로 그 날부터 걱정이었습니다. 책 번역을 처음 하는 것도 아닌데, 옮긴이의 글을 쓰기가 이렇게 어려운 이유는 POCP가 너무 위대하기 때문입니다. 역자로서 이렇게 부담되는 책은 없었습니다.
POCP는 우리 분야에서 고전 중의 고전입니다. 1971년에 초판이 출간되었으니 거의 40년이 지났습니다. 그러나 아직도 많은 사람들이 POCP를 기꺼이 구매하고 있습니다. 왜일까요? 지금도 읽을 만한 가치가 있기 때문이겠죠. 고전이란 그런 것입니다. 오래 됐지만, 여전히 내용이 살아있는.
말이 40년이지, 다른 어떤 분야보다도 빠르게 변화하는 소프트웨어 세상에서 40년 전은 고구려-백제-신라의 삼국시대라고 봐도 큰 억지는 아닐 겁니다. POCP에는 메인프레임이나 천공카드 얘기가 많이 나옵니다. 코드도 가끔 나오는데, 모두 PL/1 코드입니다. 여러분은 메인프레임을 직접 다뤄 보신 경험이 있으신가요? PL/1이라는 언어는 사용해 보셨나요? 천공카드로 프로그래밍해 본 적은요? 저는 어느 하나 없습니다. 저와 같은 세대의 독자시라면, 당연히 그럴 겁니다. 제가 대학생일 때에는 그런 시절의 경험을 들려주시는 교수님도 가끔 있기는 했습니다만, 요즘에는 천공카드란 말도 듣기 힘들겠죠. 그런데, 그렇게 옛날에 쓰여진 책의 내용이 오늘날까지도 유효하다? 참 의심스럽지 않을 수 없습니다. 그러나 실제로 그러합니다. POCP는 “메인프레임, 일주일만 하면 IBM 직원만큼 한다”도 “PL/1 30일 완성”도 아닌 ‘컴퓨터 프로그래밍의 심리학’이기 때문입니다. 심리학. 마음의 이치를 밝히는 학문. POCP는 바로 사람의 심리를 다룬 책입니다. 특히 소프트웨어 개발에 관련된 사람들의 심리를 말입니다. 그런데 세상에 사람의 심리만큼 잘 바뀌지 않는 것이 있을까요? 바로 이것이 POCP가 여전히 살아있는 이유입니다.
우리들끼리 흔히 하는 말로 “컴퓨터는 거짓말을 하지 않는다”가 있습니다. 프로그램에 어떤 문제가 있다면, 결국 사람이 컴퓨터에게 뭔가 잘못된 일을 시켰다는 뜻임은 분명합니다. 그렇다면 컴퓨터가 할 일을 정확하게만 지시하면, 다시 말해서 능력이 뛰어난 프로그래머들만 모아 놓고 프로젝트를 하면 반드시 성공하리라 확신할 수 있을까요? 우리는 모두 경험에서 알 수 있습니다. 전혀 그렇지 않음을. 당연하겠지요. 프로그래밍도 다 사람이 하는 일인걸요. 사람이 하는 모든 일이 그렇듯 프로그래밍도 끝날 때까지 알 수 없습니다. “사람이니까 실수 할 수 있지.” 이런 차원의 얘기가 아닙니다. 소프트웨어 프로젝트에 사람을 투입하면, 사람과 사람 사이에 관계가 생깁니다. 프로그래머를 기준으로 보면, 동료 프로그래머들과의 관계, 바로 윗 관리자와의 관계, 더 윗 관리자와 관계 등이 있겠죠. 그리고 프로젝트는 그렇게 형성된 관계들에 의해 돌아갑니다. 서로 나쁜 관계에 있다면 그 프로젝트가 잘 되겠습니까? 그런데 모두 알다시피, 사람 사이의 관계에서는 당사자들의 마음이 중요하지요. 따라서 그 관계들을 잘 관리해서 프로젝트를 성공시키려면, 사람들의 마음 즉, 나의 마음, 동료의 마음, 직속 상사의 마음, 사장님의 마음을 잘 알아야 하지 않겠습니까.
그러나 우리 프로그래머의 현실은 어떤가요? 과연 스스로 마음을 가진 존재로서 정당한 대우를 받고 있습니까? 과격하게 표현하자면, 프로그래머는 기계(컴퓨터)를 조종하는 기계로 취급됩니다. 네, 맞습니다. 제가 프로그래머의 현실을 너무 심하게 과장하고 일반화했지요? 그러나 누구나 때때로 그런 느낌이 들 때가 있을 또는 있었을 겁니다. 다시 말해서, 프로그래밍도 사람이 하는 일임을 제대로 인정받지 못하고 있습니다. 그리고 실은 우리 스스로도 이 사실을 제대로 이해하고 있는지 자신이 없습니다. POCP는 바로 이 문제를 인식함에서 출발했습니다.
위에서 ‘사람 사이의 관계’만 얘기했습니다만, POCP는 그뿐 아니라 코드와의 관계, 도구(프로그래밍 언어, 운영체제)와의 관계에 있는 마음의 이치도 다룹니다. 그리고 프로그래밍 학습, 교육 등의 문제도 조명합니다. 사실상 프로그래밍의 모든 측면을 다룬다고 볼 수 있습니다. 차근차근 읽다 보면, 무릎을 치거나 헛웃음을 짓게 만드는 내용이 많을 겁니다. 그리고 마음의 이치를 깨닫게 될 겁니다. 그러나 미리 말씀 드립니다. 이 책을 읽는다고 해서, 소프트웨어 개발에 관련된 사람들의 모든 심리를 완벽하게 알게 되지는 않을 겁니다. POCP에는 “심리가 이러하므로 우리는 이래야 한다”는 식의 명확한 결론을 내지 않은 주제가 많습니다. 아니, 대부분이 그렇습니다. 책 제목은 하나의 학문을 다룬 완성된 교과서 같은 느낌이지만, 저자인 와인버그(Weinberg)도 밝혔듯이 POCP는 ‘컴퓨터 프로그래밍 심리학’의 시작일 뿐이기 때문입니다.
저자는 POCP를 계기로 프로그래밍에 관련된 사람의 마음에 대한 연구가 활성화되길 기대했고, 어느 정도 성과가 있었노라 자평했습니다. 그러나 물론 이 책을 읽는 독자 여러분이 심리학 연구가가 되어야 하는 것은 아닙니다. 저나 여러분 모두 POCP를 통해서 마음이 중요함을 깨달아 항상 마음을(자신의 것이든 남의 것이든) 이해하고 그를 통해 문제를 해결하려는 자세를 가지게 되길 바랄 뿐입니다. 그리고 이는 프로그래머에게만 중요한 것이 아닙니다. 관리자 여러분! 여러분도 이 책을 읽어 보시기 바랍니다. 프로그래머의 마음을 이해하고 행동하면 여러분의 프로젝트가 훨씬 매끄럽게 돌아갈 것입니다.
혹시 이 책을 선뜻 펼치기가 망설여지는 분이 계시다면, 그 이유는 제가 이 책의 번역을 맡을까 말까 망설였던 이유와 같을 것입니다. 첫째, 너무 오래 됐기 때문에 요즘에는 맞지 않는 내용이지 않을까 생각할 수 있습니다. 그러나 앞에서도 얘기했듯이, 시간이 지나도 잘 변하지 않을 사람의 심리가 주제입니다. 그리고 이 한국어판은 POCP의 25주년 기념판을 번역한 것입니다. 저자는 기념판을 내기 위해 원본을 검토하면서 여러 가지 이유에서(기념판 서문에서 확인할 수 있습니다) 본문을 전혀 수정하지 않았습니다. 다만 각 장의 끝에 최근의 얘기를 보태었을 뿐입니다. 저자가 그렇게 한 결정적인 이유는 원래의 내용이 여전히 유효하다고 판단했기 때문입니다. 둘째, 중심 내용은 여전히 유효하다 해도 PL/1이나 천공카드 등의 구시대 기술이 너무 많이 등장하기 때문에 내용을 이해하기 어렵지 않을까 걱정할 수 있습니다. 그러나 직접 경험해 보지 못한 기술에 대한 얘기라도 충분히 상상하거나 요즘의 기술에 비추어 이해할 수 있는 수준입니다. PL/1으로 작성된 예제 코드는 조금 다른 경우입니다. 번역 과정에서 검토를 도와주신 분 중에서 PL/1의 문법에 대한 간략한 소개를 부록으로 넣을 것을 제안하신 분도 있습니다. 저도 계속 고민했던 일이지만, 하지 않기로 결론을 내렸습니다. 스스로도 모르는 언어의 문법을 잘 설명할 자신도 없거니와, 그런 부록을 넣을 경우 PL/1을 모르면 이 책을 볼 수 없다는 인상을 줄 것이라 판단했기 때문입니다. 이 책에는 코드가 아닌 우리말로 쓰여진 중요한 얘기가 훨씬 많습니다. 그리고 PL/1 예제 코드도 그 자체를 완벽히 알지 못하더라도 관련 내용을 충분히 이해할 수 있다고 확신합니다. 걱정하지 말고, 본문을 펼치세요.
처음에는 무슨 말을 써야 할지 정말 막막했는데, 어느덧 꽤 길어졌네요. 마무리하는 의미에서 감사의 말씀을 전하겠습니다. 저를 믿고 이런 명작의 번역을 맡겨 주신 인사이트 출판사 한기성 사장님, 감사합니다. 애초에 약속 드렸던 기한을 열 배 정도 넘겼음에도 묵묵히 기다려 주셨습니다. 그리고 언제나 좋은 책을 발굴(?)하여 용감하게 출판하시는 모습에 박수를 보냅니다. 꼼꼼하고 열성적으로 교정을 해주신 박선희 님, 감사합니다. 마침 심리학을 전공하신 덕분에, 심리학에 문외한인 제가 그나마 안심하고 번역에 임할 수 있었습니다. 여러모로 부족한 초벌 원고를 검토하고 많은 좋은 의견을 주신 박응주 님, 유상민 님, 장회수 님, 최재훈 님, 이제야 감사하다는 말씀을 드립니다. 직접 뵙지는 못했지만, 정말 큰 도움이 됐습니다. 바쁜 와중에도 원고를 검토하고 때때로 “언제 끝나냐?”라며 출판사도 주지 않는 압박감을 선물해 주신 성준이 형, 고맙습니다. 마지막으로, 이 책을 읽어 주실 여러분께도 미리 감사 드립니다. 재미있게 읽으시고 많은 것을 얻으시길 바랍니다.
                                                                                                     조 상 민

정오표