| 개발자 책꽂이 |
소프트웨어 개발에 대한 생각거리를 던져주는 책 |
 |


추석 연휴동안 충분한 휴식을 취하면서 몸과 마음을 재충전했다면 소프트웨어 개발을 위한 두뇌 역시 재충전이 필요하지 않을까? 이번에는 소프트웨어 개발에 대한 생각거리를 던져 주는 컴퓨터 책 두 권을 뽑아보았다.
Ship It: 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드
자레드 리차드슨, 윌 그월트니 주니어 지음, 최재훈 옮김, 위키북스 2007년 출간
지난 4월에 ‘실천가를 위한 실용주의 프로젝트 관리 7주: 위대한 관리의 비밀’을 소개했다. ‘실천가를 위한 실용주의 프로젝트 관리 7주’는 가상의 인물인 ‘샘’을 중심으로 프로젝트 진행에 필요한 여러 가지 핵심 기법을 설명하는 방법을 택했다. 이번에 소개할 ‘Ship It”은 ‘실천가를 위한 실용주의 프로젝트 관리 7주’를 독파한 독자들에게 꼭 권하고 싶은 책으로, 성공적인 소프트웨어 개발 프로젝트를 수행하기 위한 각종 기법을 기술과 인프라스트럭처와 프로세스라는 세 가지 영역으로 나눈 다음에 멋진 제품(아니면 멋진 프로젝트)을 만들어내기 위해 어떻게 각각을 조화롭게 유지하는지 저자 경험에 비춰 핵심만 뽑아내어 제대로 정리하고 있다.
‘실용 가이드’라는 제목에 걸맞게 이 책은 성공적인 소프트웨어 프로젝트 진행을 위해 필요한 노하우를 아낌없이 독자에게 전달한다. 책 서론에서 아리스토텔레스가 말한 “현재의 우리는 반복적으로 하는 행동의 결과이다. 그러므로 탁월함이란 행동이 아니라 습관이다”라는 인용구는 실사구시를 추구하는 이 책의 집필 목표를 잘 나타낸다. 그 결과 실천이 아주 어렵거나 비용이 많이 드는 개발 도구와 방법론은 일절 생략하는 대신 가격/노력 대비 효과가 뛰어난 개발 도구와 방법론을 중심으로 설명하고 있기에, 이 책에 나오는 내용은 상황에 맞춰 현업에 바로 적용할 수 있다.
전체 목차를 보면 이 책은 크게 빌드 시스템과 이슈 추적 시스템을 설명하는 ‘도구와 인프라스트럭처’, 목록과 기술 리더의 중요성, 협력/의사소통과 코드 검토와 변경 통지를 다루는 ‘실용주의적 프로젝트 기술’, 기민하고 실용적인 개발 방법인 ‘예광탄 개발’, 여러 가지 문제점이 발생했을 때 해결 방안을 조언해주는 ‘일반적인 문제와 해결 방법’이라는 네 개 부문으로 구성되어 있다.
특히 이 책에서 만족스러웠던 부분은 3장에 나오는 ‘목록에 따라 일하세요’, ‘기술 리더’, ‘매일 협력하고 의사 소통하기’와 4장에 나오는 ‘예광탄 개발’이었는데, 여기서 소개하는 방법은 실제로 진행하는 프로젝트 성격이 무엇이든 조직 특성이나 규모가 어떻게 되든 상관없이 적용할 수 있는, 일상에서 실천이 가능하면서도 효과 만점인 위력을 발휘한다. 솔직히 뛰어난 기술 리더의 지휘 하에 작업 목록을 제대로 관리하는 동시에 팀원 사이에 의사 소통만 잘 되더라도 제품 개발이나 프로젝트는 절반 이상 성공에 가까이 접근했다고 보면 틀림없다.
이 책을 효과적으로 읽으려면 현재 진행하는 프로젝트와 관련하여 어떤 문제가 있는지 생각한 다음에 이 책에 나오는 각종 도구와 기법 중에서 효과가 있어 보이는 항목을 선택한 다음 머리 속에서 이를 프로젝트에 가상적으로 시뮬레이션하면서 어떤 결과가 나올지 상상하기 바란다. 머리 속으로 시뮬레이션이 잘 된다면 현재 진행 중인 프로젝트를 망가뜨리지 않을 범위 내에서 두세 가지 기법만 뽑아내어 차츰 적용해나가면서 자신감을 얻어보자. 꽉 짜인 공정에 맞춰 머리부터 발끝까지 모든 것을 바꾸려고 하다 보면 아무리 좋은 습관이라도 몸에 배기 전에 포기하게 되기 때문이다. 프로젝트 하나를 수행하면서 가장 시급한 문제점부터 하나씩 개선하다 보면 언젠가는 제대로 된 프로젝트를 진행하는 자신의 모습을 볼 수 있지 않을까?
똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2
조엘 스폴스키 지음, 이석중 옮김, 위키북스 2007년 출간
2005년 조엘 스폴스키가 운영하는 조엘 온 소프트웨어에 실린 블로그 글 중에서 재미있는 내용만 뽑아 만든 ‘조엘 온 소프트웨어: 위대한 오프라인 블로그’(박재호/이해영 옮김, 에이콘 출판사)가 출간되었을 때 블로그 열풍과 맞물려 한동안 IT 개발자 사이에서 엄청난 반향을 불러일으켰던 기억이 새롭다. 이번에 다시 한번 조엘 온 소프트웨어에서 재미있는 내용을 뽑아 책으로 엮은 ‘똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2’이 출간되어 조엘 팬들을 즐겁게 하고 있다. 이번에 나온 새 책은 분량도 얇고 내용도 가볍기 때문에 지하철이나 버스 안에서 부담 없이 읽을 수 있다.
‘똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2’는 조엘 온 소프트웨어 블로그에서 똑똑하고 일 잘하는 기술 인력을 어떻게 모셔올 것인지를 고민한 내용을 간추려 모은 책으로, 마이크로소프트와 포그 크릭에서 여러 해 동안 인재 모집과 양성 프로그램을 관찰하고 기획하고 고민한 내용을 담고 있다.
이 책이 겨냥하는 독자층은 기업에서 인재를 뽑는 CEO나 인사부서 사람들을 대상으로 하고 있지만, 항상 회사를 잘못 선택하는, 운이 따르지 않는 개발자도 읽어보면 좋겠다. 잘 되는 회사는 인재를 모셔오고 대우하고 유지하는 독특한 방법이 있기 마련이고, 최소한 이런 비밀 정도는 알고 있어야 회사를 고를 때 유리하지 않겠는가?
전작인 ‘조엘 온 소프트웨어: 위대한 오프라인 블로그’나 이번에 새로 나온 ‘똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2’나 조엘은 좋은 프로그래머가 좋은 프로그램을 만들면 당연히 잘 팔리므로 회사가 이익을 남긴다는 아주 단순한 진리를 펼친다. 조엘은 회사가 발전하려면 좋은 인재를 뽑아야 하는데, 뛰어난 인재는 모든 회사가 탐을 내기에 치열하게 전투를 벌여 획득해야 하는 희소한 자원이므로 인재 선발에 각별히 공을 들여야 한다는 결론을 내린다.
이런 간단한 결론을 토대로 조엘은 ‘똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2’에서 1:20까지 생산성과 능력 격차가 벌어지는 프로그래머 특성 소개, 고수급 인재들이 놀고 있는 좋은 물을 찾는 법, 프로그래머가 좋은 회사를 선택하는 데 있어 필수적인 지침, 수많은 이력서를 효과적으로 분류하는 방법, 전화로 인터뷰하는 방법, ‘조엘 온 소프트웨어: 위대한 오프라인 블로그’에도 이미 소개되어 널리 알려진 게릴라 인터뷰 방법, 최적의 팀을 구성하고 유지하는 비법에 대해 재치와 유머를 곁들여 특유의 입담으로 솔직 담백하게 제대로 풀어내고 있다.
아쉬운 점도 없지 않다. 기존 ‘조엘 온 소프트웨어: 위대한 오프라인 블로그’가 IT 개발자, 관리자, 마케팅 인력에 이르기까지 다양한 독자층을 대상으로 IT 세계에 얽힌 애환을 풀어내었다면, ‘똑똑하고 100배 일 잘하는 개발자 모시기: 조엘 온 소프트웨어 시즌 2’는 인재 채용과 유지라는 주제만을 다루고 있기에 프로그래밍 팁이나 소프트웨어 전략과 마케팅을 기대했던 독자에게는 (기대가 상당히 큰 만큼) 실망을 안겨줄 가능성이 있다. 이는 선택과 집중으로 인한 책 성격상 어쩔 수 없어보인다. 또한 두 책에서 나오는 내용이 일부 겹치므로(게릴라 인터뷰 기법과 조엘 테스트), 이미 ‘조엘 온 소프트웨어: 위대한 오프라인 블로그’를 읽어본 독자라면 아쉬움을 표명할지도 모르겠다. 하지만 재미있는 내용을 한번 더 읽어본다고 해서 크게 문제되지는 않으리라는 생각이 들기에 이 정도 문제점은 이해하고 넘어가도록 하자.
마지막 당부 한 마디, 이 책을 읽고 나서 자신이 몸담고 있는 회사 환경에 대해 너무 한탄하지는 말자. 조엘은 ‘일반적인 인재’가 아니라 ‘최고의 인재’를 뽑기 위해 회사가 펼쳐야 하는 전략을 설명하므로, 개발자에게 최상의 환경을 제공하는 멋진 회사에 다니려면 당연히 최강의 개발 실력으로 무장하고 있어야 한다는 기본 진리를 망각해서는 곤란하겠다.
[지난 developerWorks Column 보기]
|