번역한단 소리는 있던 것 같은데 책도 안나오고, 이전 책의 가격(=2.2만 / 할인해서 1.7만)을 생각하면 그냥 eBook 이 싸보이길래(9.9불) 그냥 킨들 책으로 읽어봤다. ((책 안나왔나 글 쓰면서 확인해봤는데 일어판 번역서는 나왔더라 ㅠㅠ. 일본의 번역서 시장의 두터움은 진짜 부럽다))
[genie 9781430209874]
Joel On Software (우리말 번역서: 조엘 온 소프트웨어) 랑 비슷하게, 기존에 Joel이 동명의 블로그에 올렸던 글들을 적당한 카테고리로 묶어서 책으로 편집해서 내놨다.
- 사람 관리하기: 빌 게이츠가 리뷰했던 엑셀 (매크로) 스펙에 관한 얘기. 그리고 이전 책(똑똑하고 100배 일 잘하는 개발자 모시기)에서 많이 언급했던 사람 다루는 요령류가 나온다
- 미래의 프로그래머에의 조언: 두 단어 요약 – recursion과 pointer를 이해하라(?)
- 디자인의 중요성: Windows/Mac의 font에 대한 관점차이를 시작으로, 여러가지 사용성 문제를 설명
- 큰 프로젝트 관리하기
- 프로그래밍 조언: …이지만 사실상 프로젝트 스케쥴링에 관한 얘기다. 약간의 광고도 포함(?)
- 소프트웨어 비지니스 시작하기
- 소프트웨어 비지니스 수행하기: …의 4 개 장에서는 Fog Creek을 운영하면서 얻은 gotchas 모음에 가깝다
- 소프트웨어 출시: 어떻게 출시할지에 관해서 타겟으로 하는 소프트웨어 시장을 구분하고 설명한다
- 소프트웨어 수정하기: 운영할 때의 원칙 세우기, 우선순위 정하기(프로젝트 기능 목록 정하기 등등)
조금 아쉽게도 “프로그램을 만드는 것 자체” 에 관한 내용은 이전 책 “조엘 온 소프트웨어” 보다 적다. 오히려, 뭔가 만들어내는 것 자체보다, 대학에서 C언어의 포인터 개념, 순수 함수형 언어의 재귀(recursion) 및 함수 표현(map, reduce)에 대해서 익혀두라는 조언이라거나, 헝가리식 표기법에 대한 설명 정도가 프로그래밍 관련된 몇 안되는 내용이었다.
다만 헝가리식 표현이 원래처럼 타입을 표현하기 위에 썼던 별로 의미없는 일이 아니라 각 변수가 “어떻게 쓰인다”를 표현하는 것 — 예를 들어 엑셀에서 r, c로 시작하는 변수로 행/렬을 표현한다거나 하든지 — 에 의미가 있었음을 설명하고 원본 논문을 알려주는건 내 오해(…)를 깨준듯함.
소프트웨어 출시에 관해서도 자주 출시하기 / 12~18개월 출시하기 / 3~5년 주기로 출시하기 세 가지에 대해서 설명하는데, 인상 깊었던 구절을 꼽자면,
3~5년 주기로 출시하는 소프트웨어: 이런 주기는 매우 큰 소프트웨어 시스템이나 플랫폼에서 흔한데, 여기에 거의 전 세계가 의존한다. 운영체제나 .Net, 오라클, 그리고 어떤 의미에서는 모질라가 이 항목에 속한다. 대부분 수천명의 개발자가 개발하며 (VS.Net의 인스톨러 팀에는 50명의 개발자가 있다), 절대로 깨서는 안되는 다른 소프트웨어들과 상호작용한다
정도? 사실 소프트웨어 업계는 이미 충분히 분화되어서 서로 다른 규모를 이해하는게 쉬운 일은 아니다 — 한 분야에서의 cutting edge 기술이 딴 분야에선 애저녁에 개발이 끝난 형태인 경우도 왕왕 있다. 그래서인지 이런 식의 오버뷰는 이 책의 충분한 장점이 될듯. ((저자가 MS에서 일하다가 일부 인터넷 회사를 거쳐 버그 트래킹 시스템을 만드는 회사를 창업했다. …물론 버그 트래킹 시스템을 만들려고 창업한건 아니지만;; ))
총평: Joel On Software 만큼 재밌게 읽은 건 아니지만, “똑똑하고 100배 일 잘하는 …” 책 보다는 수억배 괜찮은 책이니 사서봐도 후회는 안할듯하다.
ps. 덤으로 웃겼던 부분. 앞에서 말한 것처럼 큰 시스템은 함부로 릴리즈 안하고 꽤 많은 테스팅을 거쳐서 출시한다고 했는데, 그에 대한 완벽한(?!) 예로 아파치 웹서버를 들면서 한 얘기가 좋더라(?)
대형 소프트웨어 플랫폼의 경우 수백만의 현존하는 응용이나 하드웨어와의 호환성을 유지해야하는데, 이런 일을 달성하려면 말도안되는 규모의 테스트를 해야하고, 그 양은 파나마 운하를 주말 프로젝트로 보이게 할 지경이다.
(중략)
그래서 자주 출시하는 것은 그다지 현실적이지 못하다. 만약 그렇게 할 경우 수 많은 사람들을 빡돌게(…) 만들것이다. 그래서 이런 소프트웨어는 자주 출시하지 않으며, 아파치처럼 하면 된다. 아파치 웹서버는 인터넷 버블 시작에 한 번 릴리즈하고, 인터넷 버블이 끝날 때 한 번 릴리즈했다. 완벽하다!(…)
/먼산
오타가 있네요(사람 괸리하기)
그나저나, 저 책도 번역서가 나오면 참 좋을텐데 말이죠(ㅜㅜ)
어떻게 저렇게 손으로 쓴 것 같은 오타를 낸거지 -_-;; (내가 내 놓고도 신기한다)
너는 오타를 보지 못했다! 레드썬!
…
그리고 저거 번역서 나올 것 같긴 했음. 근데 베타리더를 작년 겨울에 모집해놓고(…) 아직도 안 나오는게 문제겠지만;
좋은 책 추천 감사합니다. 조만간 사서 읽어봐야겠네요. :)
덧) 저 그런데, 덧글을 다는 사이 또 한 글자가 바뀐 것 같은데 혹시 그 사연을 아시나요(…)
…레드썬!
완벽하다!(…)
…
우리도 이슈 트래킹 시스템 마음에 드는 게 없어서 새로 만들었지-_-; 조엘 아저씨도 그러다가 어 괜찮다 팔아도 되겠네 한 거 아닐까…
그 얘기도 실려있음. 근데 약간 달라. 처음 만든 목적은 맘에 안들어서 새로 만든게 아니라 ASP 처음 배워보는 의미로 만들었다함[…]
그리고 그거가지고 가격정책/서비스정책/… 을 한 얘기에 대해서 설명하지;;
베타리딩도 끝났고, 책 준비도 다 되었다고 했는데 아직도 안 나오는군요. 곧 나오리라고 생각합니다.
그러면 곧 나오겠네요 ~_~
Gloridea의 생각…
다만 헝가리식 표현이 원래처럼 타입을 표현하기 위에 썼던 별로 의미없는 일이 아니라 각 변수가 “어떻게 쓰인다”를 표현하는 것 — 예를 들어 엑셀에서 r, c로 시작하는 변수로 행/렬을 표현한다거나 하든지 — 에 의미가 있었음을 설명…