약간 오래된 책이기는 한데(IT 분야에서 7년된 책이면 상당히 오래된 축에 속하는 것이지...) 꽤 재미있게 읽었다.
책은 상당히 도발적인 제목으로 시선을 끌고 있다. 저자는 서울공대를 졸업하고 미국으로 이민(+유학)을 간 후, 실리콘밸리에서 창업을 해서 회사를 이끈 경험이 있는 IT 분야종사자이다. 책을 읽다 보면 저자의 상당한 수준의 식견을 느낄 수 있기는 하지만, 한편으로는 지나친 자기과시에 대한 느낌이 들기도 한다. 저자가 창업했던 회사 명이 스탠포드 소프트웨어 라는 점에서, 저자가 스탠포드 출신이라는 점을 무척 자랑스럽게 생각하고 있다는 것도 느낄 수 있었다. 사실 스탠포드 대학으로부터 회사 명칭을 바꾸라는 경고성 연락을 받기도 했다고 한다. ㅋㅋ 그럼에도 불구하고 실리콘밸리에서 “스탠포드” 라는 명칭은 소위 말하는 매우 잘 먹히는 이름으로 비즈니스 측면에서 상당히 덕을 보았다는 이야기도 하고 있다. ;)
소프트웨어 개발은 기술적인 문제보다 문화적인 문제이며, 특히나 대한민국이 소프트웨어 강국이 아닌 중요한 이유를 후진국형의 낙후된 소프트웨어 개발 문화에서 찾는 부분은 상당히 공감이 간다. 저자는 여기에 대한 비유를 들면서 소프트웨어 개발을 “태권도” 와 비유한다. 미국인들이 아무리 태권도를 열심히 배워도 한국 사범을 이길 수 없는 이유 중 하나가 한국만이 갖고 있는 태권도 문화를 꼽는다. 마찬가지로 한국이 소프트웨어 강국, IT 강국이라고 이야기 하는 사람들이 많지만 사실 한국에서 만든 소프트웨어들 중에서 세계적으로 이름난 소프트웨어는 거의 없는 현실에 처해 있는 이유중 하나로 한국의 잘못된 소프트웨어 개발 문화를 저자는 꼽고 있다. 많은 공감이 가는 이야기이다.
태권도 관련해서는 재미있는 이야기가 책에서 나오고 있는데, 미국에 태권도 사범들이 진출하여 초기에 태권도의 우수성을 널리 알리고자 지역의 깡패들과 결투를 벌이곤 했다곤 한다. 저자 역시 소프트웨어 개발 분야에 있어서 누군가가 자신에게 도전을 해 온다면 누구든 언제든, 자신이 상대해 줄 의향이 있다고 책에서 말하고 있다. 정말 대단한 자신감이다. ㅋ
미국에서 오랫동안 생활해온 저자의 경험이 묻어 나오는, 문화적인 차이와 언어에 대한 이야기도 책의 많은 부분을 차지한다. 소프트웨어 개발에 있어서 가장 중요한 것 중의 하나는 개발 팀 내부의 원활한 커뮤니케이션인데 값싸고 능력이 좋은 외국 인력을 한국에서 데려와서 일을 시키려고 해도 언어적인 의사소통이 원활하지 않으면 말짱 도루묵이라는 이야기. 또한 영어가 중요한 이유중 하나로 IT 분야에 있어서 대부분의 자료는 영어로만 존재한다는 것을 들 고 있다. 이는 간단하게 영어로 된 웹 페이지의 숫자와 한국어로 되어 있는 웹 페이지의 개수를 비교해 보면 되고, 위키피디아에서 얻을 수 있는 고급 정보의 많은 부분이 영어로만 쓰여진 것을 생각해 보면 쉽게 이해가 간다. 최신 기술들은 대부분 영어로 소개되고 있기 때문에 영어에 익숙하지 않다면 이러한 기술들을 습득하는 것도 남보다 느릴 수 밖에 없고, 끝까지 한국어로 번역되지 않는 자료들은 제대로 이해할 수 없게 된다.사실 이러한 내용들은 평소에 나도 많이 생각해 오던 것들이라 고개를 끄덕이면서 읽게 되었다.
또 재미있게 읽은 부분은 “프로그래머에게” 라는 부분과 “중간관리자에게" 라는 챕터였다. 아무래도 실무적인 차원에서 소프트웨어 개발 문화 측면에서 개선해야 할 점들을 정리한 부분이고, 특히 개발자 입장에서 볼 때 와 닿는 이야기들이 많았기 때문에 일을 하면서 이런 부분들은 염두를 하는 것이 좋겠구나… 하는 내용들이 많았다.
예를 들면 경영자가 꼽는 최악의 개발자들의 유형으로... 회사를 놀이터로 생각하고 불필요한 스펙들과 최신 기술들을 굳이 적용해서 실제 생산성 측면에서 악영향을 끼치는 개발자들, 여러 가지 아는 것은 많아서 박식해 보이기는 하지만 깊이 아는 내용은 없고 회사를 자신의 공부방 정도로 여기는 개발자들, 그리고 커뮤니케이션 능력이 떨어지고 주위 동료의 도움을 받아 빨리 빨리 문제를 해결하지 못하고 혼자서 고생하는 타입 등등을 경영자 입장에서 암적인 존재로 꼽는 개발자의 예로 들고 있다. 실제로 이런 사람들은 주위에서 흔히 볼 수 있다. 그리고 의외로 한국의 소프트웨어 회사 중 의외로 많은 회사들이 형상관리 및 이슈관리 툴을 제대로 사용하지 않고 있다는 점을 지적하고 있는데, 요즘에 주위를 보면 예전보다는 많이 좋아지기는 했는데 아직도 형상관리 툴 없이 S/W 개발하는 IT 회사들을 몇몇 보아온 나로서는 공감을 하게 됐다.
“개발자들에게” 라는 챕터에서 저자가 개발자에게 말하는 내용은 다음과 같다. 대략 소 챕터의 제목만 보아도 무슨 내용인지 쉽게 감이 오는 그런 내용들이다. ASSERT, 테스팅 코드등을 충분히 활용하여 물샐틈 없는 단단한 코드를 만들 것. 기존에 이미 존재하는 라이브러리를 충분히 활용할 것. 객체지향의 개념을 확실하게 이해하고 객체지향에 근거한 개발을 할 것(예를 들면 private 와 public 변수들은 혼용해서는 안되고 각각의 공개 범위와 용도에 맞게 지정해서 써야 한다). Debug 및 로그 출력을 On/Off 하도록 개발할 것. 매크로 등을 적극적으로 사용하여 코드 내의 의미를 알 수 없는 숫자를 최대한 제거하고 가독성을 높일 것. 등등이다… 당연한 이야기들이지만 현업에서 보면 이러한 내용들을 숙지하고 업무에 잘 활용하는 개발자들은 의외로 많지 않은 것이 사실이다.
전체적으로 저자가 자신의 IT 분야에 몸담아 오면서 느낀 경험들을 토대로 재미있게 이야기를 풀어서 하고 있고, 특히 코드 레벨까지 내려와서 상세한 사례와 개발자의 소양이나 조직 문화 차원에서 개선해야 할 점 등을 설명한 부분들이 매우 마음에 든다. 정부의 IT 정책을 비판하는 부분 등에서는 대안이 부족하다는 느낌도 많이 들기는 하다. 이 책의 다른 서평을 찾아 읽어보았을 때 이 책을 비판하는 서평으로 대한민국 IT 분야의 문제점들만 나열했지, 개선안이라든지 해결방법에 대한 제시가 없다는 점을 지적했다. 하지만 잘 읽다 보면 저자가 선진 IT 문화를 위해 제시하는 모범 답안도 상당히 많이 나타나고 있고, 이러한 부분들은 귀담아 들어들 필요가 있다고 생각된다. 저자의 IT 산업에 대한 올바른 식견을 보여주고 있고, IT 에 몸담은 사람이라면, 특히 개발자들에게는 한번쯤 읽어 볼만한 좋은 책이라는 생각이 든다.
'여러가지 리뷰 > Book' 카테고리의 다른 글
[Book] 김우중 비사 (0) | 2010.08.18 |
---|---|
[Book] MIT 수학천재들의 카지노 무너뜨리기 (4) | 2010.08.18 |
[Book] 촘스키 (0) | 2010.07.12 |
[Book] 뉴욕의 프로그래머 (0) | 2010.06.26 |
[Book] 누워서 읽는 알고리즘 (4) | 2010.06.09 |