![]() |
"이 책은 매일 매일 곁에 두고 참고하도록 책상 위에 놓아둘 책이 아닐지도 모르겠다. 하지만 소프트웨어 개발 초창기부터 시작하는 매력적인 여행 안내서로서 읽어볼 책 목록에 넣어야 한다." - On Ruby 블로그 운영자
"이 책 내용과 같은 옛날 수필을 읽는 일은 즐겁다. 우리가 오늘날 토론하고 논쟁하고 글로 표현하는 문제점 (정말 똑같은 문제점)이 수십 년 전에도 토론하고 논쟁하고 글로 표현했다니 말이다. 다양한 방법으로 넓은 의미에서 소프트웨어 업계는 똑같은 교훈을 두고 두고 반복해서 배운다." - Simplex Complex 블로그 운영자
좋은 그림에는 여백이 있고, 좋은 직장에는 여유(?)가 있으며, 좋은 책에는 여운이 있다. 바쁘게 돌아가는 소프트웨어 개발 업계에서‘늘 그래왔다’는 변명이란 이름으로 반복되는 오류를 한 번쯤 제거하고 싶었던 적이 있었다면 밥의 글에 귀 기울여 보자. 50년 실무 개발 경력자가 소프트웨어 개발 업계에 던지는 날카로운 비평과 시대를 뛰어넘는 논쟁의 세계로 여러분을 초대한다.
짧지만 긴 여운이 있는 60여 편의 에세이를 통해 글쓴이의 풍부한 경험과 지식을 만끽하고 더불어 앞으로 펼쳐나갈 소프트웨어 개발 세계의 미래를 함께 생각해보는 좋은 기회가 되길 바란다.
번역서에는 원서에 나오는 용어 중에서 일반 책에는 잘 나오지 않는 특이한 용어를 딱딱하지 않고 재미있게 풀어서 설명한 특별부록도 담겨있다.
그런데 재미있는 건, 이러한 상황을 누구보다 잘 아는 로버트 L. 글래스는 아직까지도 지치지 않았다는 점이다. 오히려 이제 막 논쟁을 본격적으로 뛰어들려는 사람처럼 보인다. 그것도 새로운 주제가 아닌 오랜 시간 동안 진행되어온 논쟁거리들을 가지고 나타났다. 그렇다고, 이 책이 진부했을까? 전혀 그렇지 않았다. 오히려 속이 시원했다. 그간 통념적으로 생각되어 왔던 미신들을 여지없이 까발리고 나서는 설득력 있는 의견을 제시하며 각 글들을 마무리하고 있기 때문에 그간 한 구석에 자리잡고 있던 찌꺼기들이 벗겨져 나감을 느꼈다. 때문에 여러분들이 이 책에 잠시라도 관심을 보인다면, 다시금 논쟁에 참여하고 싶어질지도 모를 만큼 짜릿한 책이라고 소개해주겠다
베타리딩을 위해 원서와 번역서를 번갈아 보며, 가장 크게 얻을 수 있었던 건 이러한 사색의 시간이었습니다. 마치 할아버지의 옛날 이야기를 듣는 것처럼 편안한 분위기에서 로버트 L. 글래스의 이야기를 들으며, 그 위에 제 경험들이 교차되었던 것이죠. '왜 그 때는 그런 일들이 일어 났을까', '그건 그래서 였구나', '무엇이 문제일까', '무엇이 필요한가'. 근심과 격려를, 기쁨과 슬픔을, 위기와 기회를, 또 때로는 고통과 희망을 이야기하는, 마치 한편의 재미있고 긴 옛날 이야기를, 추운 겨울날 따뜻한 벽난로 옆에서 담요를 덮은 채 김이 모락모락 피어오르는 코코아를 마시며 듣는 느낌이라면 비슷할까요.
전산을 업으로 선택한 많은 분들이 처음에 시작은 순수하게 '재미'있기에 시작했다가, 반복되는 죽음의 행진 프로젝트로 인해 처음의 뜨거웠던 열정이 차츰 식고, 결국은 예전만큼 '순수히' 즐겁기에 계속하는 분들이 줄어들고 있습니다. 수필에서 묻는 물음처럼 혹시 여러분은 어떠신가요? 이 질문을 글에서 읽었을 때 슬픈이 뭍어나오는 건 혼자만의 느낌이 아니겠지요. 우리가 놓친 것은 무엇일까요. 내일의 출근이 기다려져 밤에 잠자리에 들었을 때, 머릿속은 내일 할 일을 하나씩 떠올리며 두근거리고 설레이는, 어서 빨리 내일이 왔으면 하고 느껴본 적은 언제가 마지막이었을까요.
선물과도 같은 현재가 아니던가요. 그런 매일 매일의 삶이 즐겁지 않다면, 필시 불행한 겁니다. 혹은 영화에서 매트릭스의 일부임을 인지하지 못하는 것처럼, 불행하다는 사실을 미처 느끼지 못하고 지내는 것일수도 있구요. 수필을 읽고 생각하는 동안, 어느새 가슴 한켠에 즐거움에 대한 희망의 씨앗이 자리잡고 있음을 느낄 수 있을 겁니다. 더 많은 분들이 함께 했으면 좋겠습니다. 그것도 로버트처럼 친절하고 통찰력있는 좋은 선배의 안내를 받으면서, 그리고 여행의 끝이 점점 다가옴을 아쉬워하면서 말입니다.
딱딱한 주제도 있지만 읽다 보면 가려운 곳을 긁어주거나 맞장구를 칠 만한 내용도 많이 있습니다. 저는 개인적으로 소프트웨어의 품질, 유지 보수와 단일 지점 제어를 설명한 수필이 가장 인상적이었습니다. 다른 지인들에게도 읽기를 권하고 싶을 정도로 소프트웨어 공학 관련 기본 지식을 한층 높여줄 만한 책이므로, 여러분들도 밥 글래스와 함께 재미있는 소프트웨어 공학의 세계에 빠져들기를 바랍니다. 저도 책이 나오면 다시 한번 읽어봐야겠습니다.
제가 생각하기에 이 책의 저자는 후배 연구/개발자들에게 ‘작은 문제들에 집착하지 말고 큰 그림을 보고 대범하게 나아가라’는 메시지를 주고 싶어하지 않나 생각합니다. 현재 유행하는 것들이 무엇이든, 혹은 현재 그 가치가 무시되고 있는 것들이 있다 하더라도 시류에 휩쓸리지 말고, ‘풀어야 할 대상으로서의 문제’라는 큰 명제를 항상 머릿속에 간직하면서 합리적으로 하나 하나 짚어간다면 내 앞을 가로막고 있는 문제를 풀릴 것입니다. 오랜 경험과 꾸준한 고민을 통한 대가의 시각에 살짝 올라 타 본 것은 매우 즐거운 경험이었습니다.
소프트웨어 논쟁 1.0이 나온 15년이 지난 지금 개정판(소프트웨어 논쟁 2.0)이 나왔습니다. 15년간 대체 어떤 일이 있었을까요? 얼마나 많은 변화가 있었을까요? 글쎄요. 사실 별거 없습니다. 역사는 항상 반복된다는데, 이 논리는 전산학 분야에도 그대로 적용됩니다.
하지만, "변한게 없다고? 그럼 예전 책을 찾아 읽으면 되겠네" 라며 애써 1판을 찾아내서 읽을 필요는 없겠죠. (게다가 번역서도 없답니다!) 시대는 흘렀고, 개정판에는 새로운 내용들이 추가되었다고 합니다. (사실 저도 1판은 안읽어봐서 모릅니다.)
중요한 것은 이겁니다. 15년 전이나 지금이나 별로 변한게 없다면, 지금이나 15년 후나 별로 변할게 없다는거죠. 물론 조금 변하긴 하겠지만, 본질은 그대로 일 것입니다. 이것이 우리가 소프트웨어 논쟁 2.0을 읽어야 하는 이유입니다. 몇십년 전부터 지금까지 불거져온, 그리고 아직도 해결되지 않은 논쟁거리들을 살펴봄으로써 10년, 15년 후의 미래를 대비할 수 있기 때문입니다.
이 책은 전산에 대한 짧고, 쉽게 읽을 수 있는 에세이들, 특히 우리의 풀리지 않는 고민거리, 소프트웨어 공학에 대한 에세이들이 모여 있습니다. 하지만, 읽고 난 후에도 가벼운 마음으로 뒤돌아 서게 되진 않을 겁니다. 에세이 하나하나마다 생각할 거리를 잔뜩 던져주거든요.
에세이들이 짧고, 해답 보다는 어떤 논쟁이 왜 발생했고, 어떠한 주장들이 생겨났는지를 위주로 쓰여져 있기 때문에 답답하거나, "그래서 뭐 어쩌라고? 어떻게 해야 한다는거야?" 라는 생각이 들 수도 있습니다. 하지만, 해답과 결론을 독자 개개인이 생각해본다면, 그만큼 성장할 수 있지 않을까요?
포항공과대학교 컴퓨터공학과 학부와 포항공과대학교 컴퓨터공학과 대학원(소프트웨어 공학 전공)을 졸업했다. 검색 엔진과 지식 관리 시스템 개발을 시작으로 시력 측정 장치 개발에 이어 최근에는 HDTV 관련 제품을 개발하고 있다. 종종 틈을 내어 블로그 ‘컴퓨터 vs 책’(http://jhrogue.blogspot.com)에 컴퓨터와 책에 얽힌 여러 가지 흥미로운 글을 올리고 있다. 옮긴 책으로 <조엘 온 소프트웨어>, <The Art of Project Management: 마음을 움직이는 프로젝트 관리>, <Rapid Development: 프로젝트 쾌속 개발 전략> 등이 있다.
포항공과대학교 컴퓨터공학과 학부와 퍼듀대학교 전자계산학과 대학원을 졸업했다. 오랫동안 소프트웨어 개발에 종사하다가, 2007년 현재 미국에서 소프트웨어 지역화 전문가로 일하고 있다. 옮긴 책으로 <조엘 온 소프트웨어>, <The Art of Project Management: 마음을 움직이는 프로젝트 관리>, <Rapid Development: 프로젝트 쾌속 개발 전략> 등이 있다
2006년도 저물어 가는 이 시점에서 15년이나 더 된 책을 다시 펴낼 이유가 있을까? 더 빨리 더 최신의 정보를 습득하기에도 정신이 없는 상황에서 구닥다리 옛날 이야기를 읽으면 시간 낭비가 아닐까? 얼핏 드는 생각이지만 상당히 그럴싸하다. 하지만 여기에는 함정이 있다.
칼 마르크스는 중요한 역사적 사건은 두 번 반복된다는 헤겔의 말에 첫번째 일어나는 사건이 비극이라면 두번째 일어나는 사건은 희극이라고 덧붙였다. 이 책 본문에 나오는 4GL에 대한 맹신과 같은 어리석은 일이 요즘은 일어나지 않는다고 함부로 속단할 수 있을까? 그런 의미에서 희극 한 편을 소개하겠다.
2년 전 무렵에 이름만 들으면 누구나 알 수 있는 유명한 한 회사에서 컨설팅을 의뢰 받았다. 납기일 준수와 재사용성을 높이기 위해 임베디드 분야에 사용하는 소프트웨어를 체계화 시켜서 공장(factory)에서 사용하는 BOM(Bill of Material)처럼 관리하는 방법에 대한 내용이었다. 자초지종을 들어보니 이를 위해 객체지향 방법론을 도입하고 누구나 이름만 들어도 아는 R사에서 개발한 R이라는 도구(따지고 보면 자동 프로그램을 가능하게 만든다고 선전한 4GL을 계승하는 현대판 도구다)를 도입하려고 한다는 내부 전략을 파악했다. 하지만 21세기식 은총알을 사용한 늑대 인간 사냥에는 전혀 관심이 없었기에 정색을 하면서 납기일 준수와 재사용 부품 제작은 이런 식으로 간단하게 해결할 수 없는 문제라고 잘라서 말했다.
저자인 로버트 L 글래스(밥)가 요즘도 이런 종류의 대화가 공공연히 이뤄진다는 사실을 알았으면 과연 어떤 말을 할까? 사람 좋은 웃음과 더불어 “아니 이 사람아, 내가 입버릇처럼 말했지만 은총알은 세상 어디에도 없다구!”라고 어깨를 툭 쳤을지도 모르겠다.
소프트웨어 컨플리트 2.0은 어떻게 보면 사람을 대단히 불편하게 만드는 책이다. 분명히 배경은 과거이지만 이야기는 현재 진행형으로 생생하게 전개된다. 손오공이 부처님 손바닥을 벗어나지 못하듯이 15년 전에서 몇 발자국 벗어나지 못한 현재 상황을 바라보면서 심지어는 절망을 느낄지도 모른다. 하지만 불편함을 조금만 참고 선배의 발자취를 따라가다보면 이 세상 고민은 혼자 다 짊어지고 있다는 부담에서 벗어나도록 이끌어주는, 뜻이 통하는 말동무를 찾았다는 기쁨이 싹터오르기 시작하면서 한가닥 희망이 보일 것이다.
천부적인 재주꾼인 밥이 이끄는 재미있는 이야기에 푹 빠져보자. 수동적인 자세에서 벗어나 주변 사람들과 이 책을 함께 읽고 치열하게 논쟁도 벌이면서 말이다.
저자가 서문에서 밝히듯이, 이 책은 원래 1990년에 출판되었다가 2006년에 재판된 책이다. 그래서 확실히 시대에 뒤떨어지는 내용이 없지 않다. 그럼에도 불구하고 아주 재미있는 책이다. 읽는 이의 사고를 자극하기 때문이다.
툭 터놓고 얘기해서 지금 진행 중인 프로젝트에 가시적으로 도움을 준다거나, 내일 작성할 코드 품질을 높여준다거나, 이렇듯 구체적인 지침이나 즉각적인 효과를 구한다면 다른 책을 찾아보기 바란다. 좋은 책이 많다.
이 수필집은 지적 유희를 즐기는 소프트웨어 관련자들에게 적합한 책이다. 일상 업무에 파묻혀서 돌아보지 못했던 주제, 한번쯤 떠올려는 봤으나 깊이 파고들지 못한 주제, 동료들과 좋은 토론거리가 될 주제를 다룬 글이다. 또한 읽고 생각하는 만큼 사고 폭을 넓혀주는 글이다.
독자 여러분들이 저자가 펼쳐놓은 지적 유희의 세계에 흠뻑 빠져들기 바란다.
1부_논쟁의 전장
2부_기술 진영에서
3부_최신 무기 정보 방법론
4부_지휘 본부에서 관리
5부_연구실에서 연구
6부_전장 사후 분석
에필로그 부록 베타리더 한마디 특별부록 찾아보기
위 문구는 ... 내놓은 보고서는 ... 시작한다.
'위 문구가 들어있는' 식으로 표현되어야 되어야 하는데 '위 문구는' 이 되면서 문맥이 이상해졌네요. - tzara
'위 문구는'을 빼는게 더 좋겠습니다. 다음 2쇄에 반영하도록 하겠습니다. 고맙습니다. -위키북스-
1980년대 후반 미 국방과학부 특별 위원회가...내놓은 보고서는...위와 같은...문구로 시작한다.
하지만 1950년대 중반에 이르러 전산분야와 소프트웨어 분야는 전문 영역로 각광받기 시작했다.
비약적인 발전을 이뤄냈다고만들어냈다고 주장하는 사람들은 ...
전산분야 전무가들과 자료처리 분야 전문가들의..
관리 측면에서 풀어야 문제를 놓고..
패왕넷(http://www.paewang.net)
문제를 풀릴 것입니다.
..프로그램을 작성하기 위한 설계 도면으로 활용하기에는...