책 소개
요약
세계적으로 유명한 프로그래머 '밥 아저씨' 로버트 마틴이 쓴 책으로, 프로 개발자가 되는 길을 알려준다. 수십 년의 경험을 바탕으로 장인 정신, 실천 기법, 도구뿐만 아니라 프로가 가져야 할 마음가짐과 태도를 알려준다. 빡빡한 일정으로 인한 압박을 견디고 비이성적인 사람들과 대화하고 진창에 빠져 오도가도 못하는 상황을 피하는 법 등 다양한 지혜가 책에 담겨 있다. 위대한 소프트웨어를 만드는 장인 정신을 보여주고 프로만이 가지는 자부심과 충만감을 얻게 해 준다.
이 책에 쏟아진 찬사
“’밥 아저씨’ 마틴은 최신 저서로 업계 기준을 확연히 높였다. 밥은 관리자와 상호작용하는 프로 프로그래머, 시간 관리, 압박, 같이 일하기, 사용할 도구 선택에 대한 자신의 기대치를 풀어놓았다. 마틴은 테스트 주도 개발(TDD)과 ATDD(Advanced TDD)를 넘어 자신을 프로라 생각하는 모든 프로그래머가 알아야 하고, 젊은 프로그래머가 자라나려면 따라야 하는 규칙까지 설명했다.”
- 마커스 가트너(Markus Gärtner),
아이티애자일(it-agile GmbH)의 선임 소프트웨어 개발자(www.it-agile.de/www.shino.de)
“몇몇 기술 서적은 영감과 가르침을 준다. 다른 몇몇은 기쁨과 즐거움을 준다. 드물게 4가지를 다 주는 기술 서적도 있다. 로버트 마틴의 책은 항상 나를 만족시켰고, 이 책도 예외는 아니다. 이 책에 나온 교훈을 읽고, 배우고, 그대로 살다 보면 진짜로 자신을 소프트웨어 프로라 부를 수 있다.”
- 조지 불록(George Bullock),
마이크로소프트의 선임 프로그램 관리자
“만일 컴퓨터 과학 학위에 ‘졸업 후 필독서’가 있다면, 바로 이 책일 것이다. 현실에서는 학기가 끝나도 당신의 나쁜 코드는 사라지지 않는다. 마감 하루 전 마라톤 코딩으로는 A학점 못 받는다. 그리고 가장 나쁜 건, 사람을 상대해야 한다. 그래서 코딩의 달인들이 반드시 프로인 것은 아니다. 이 책은 프로를 향한 여정을 서술한다. 그리고 서술 과정에서 놀랍도록 즐거움을 준다.”
- 일리노이 대학교 어바나-샴페인캠퍼스의 제프 오버베이(Jeff Overbey)
“이 책은 규칙이나 가이드라인 모음집이 아니라 훨씬 더 많은 내용을 담았다. 숙달된 장인의 견습 도제로 일하면서 몇 년에 걸친 시행착오를 통해 힘겹게 얻는 지혜와 지식이 담겨있다. 만일 스스로를 소프트웨어 프로라 부른다면 이 책이 필요하다.”
- 보게티(R. L. Bogetti),
백스터 헬스케어(Baxter Healthcare )의 책임 시스템 설계자(www.RLBogetti.com)
이 책에서 다루는 내용
■ 진정한 소프트웨어 장인으로 행동(behave)하는 일이 가지는 의미
■ 충돌, 빡빡한 일정, 비이성적인 관리자를 다루는 방법
■ 코딩에 몰입하고, 막혔을 때 빠져 나오는 방법
■ 끊임없는 압박을 다루고 녹초가 되는 상황을 피하는 방법
■ 새로운 개발 패러다임에서도 기존 태도를 지켜내는 방법
■ 시간을 관리하고 막다른 길이나 늪, 진창, 수렁을 피하는 방법
■ 프로그래머와 팀이 번창하는 환경을 조성하는 방법
■ '아니요'라고 말하는 때와 말하는 방법
■ '네'라고 말하는 때와 '네'의 진정한 의미
목차
목차
- 미리 읽어두기
- 1장. 프로의 마음가짐
- 함부로 바라지 마라
- 책임감을 가져라
- 무엇보다도 해를 끼치지 마라
- 직업 윤리
- 참고문헌
- 2장. 아니라고 말하기
- 반대하는 역할
- 손익관계가 높을 때
- 팀 플레이어
- 예라고 말하는 비용
- 훌륭한 코드는 불가능한가?
- 코드 코드 임파서블
- 3장. 예라고 말하기
- 약속을 뜻하는 말
- 예라고 말하는 법 익히기
- 결론
- 4장. 코딩
- 준비된 자세
- 몰입 영역
- 진퇴양난에 빠진 글쟁이
- 디버깅
- 속도 조절
- 일정을 못 지키다
- 도움
- 참고문헌
- 5장. 테스트 주도 개발
- 배심원 등장
- TDD의 세 가지 법칙
- TDD와 관련 없는 사실
- 참고문헌
- 6장. 연습
- 연습의 배경지식
- 코딩 도장
- 경험의 폭 넓히기
- 결론
- 참고문헌
- 7장. 인수 테스트
- 요구사항 관련 의사소통
- 인수 테스트
- 결론
- 8장. 테스트 전략
- QA는 오류를 찾지 못해야 한다
- 테스트 자동화 피라미드
- 결론
- 참고문헌
- 9장. 시간 관리
- 회의
- 집중력 마나
- 타임박스와 토마토
- 피하기
- 막다른 골목
- 진흙탕, 늪, 수렁, 기타 엉망진창
- 결론
- 10장. 추정
- 추정이란 무엇인가?
- PERT
- 업무 추정하기
- 큰 수의 법칙
- 결론
- 참고문헌
- 11장. 압박
- 압박 피하기
- 압박 다루기
- 결론
- 12장. 함께 일하기
- 프로그래머 vs 보통 사람들
- 소뇌
- 결론
- 13장. 팀과 프로젝트
- 갈아서 만들었나요?
- 결론
- 참고문헌
- 14장. 스승과 제자 그리고 장인 정신
- 실패의 정도
- 스승과 제자
- 수습기간
- 장인 정신
- 결론
- 부록. 도구 활용
- 도구
- 소스 코드 제어
- IDE/편집기
- 이슈 추적
- 지속적인 구축
- 단위 테스트 도구
- 구성요소 테스트 도구
- 통합 테스트 도구
- UML/MDA
- 결론
도서 오류 신고
정오표
정오표
수정 사항은 여기에서 내려받으세요.
[p.157 : 아래에서 8행]
서브 디텍토리
->
서브 디렉토리
[p.158 : 아래에서 5행]
Fitnesse
->
FitNesse
[p.159 : 아래에서 4행]
게획을 이해한다.
->
계획을 이해한다.
[p.215: 9행]
압력솥 안에 있는 것 상황을 빠져나가는 유일한 길은 좋은 방법임을 이미 아는 자신의 규율에 기대는 것이다.
->
압력솥을 빠져나가는 유일한 길은 이미 좋은 방법임을 아는 자신의 규율에 기대는 것이다.
[p.251: 12행]
알기 쉬었다.
->
알기 쉬웠다.
[p.253: 아래에서 3행]
디텍토리
->
디렉토리