이 책을 언제 구매했나 봤더니 2016년 8월입니다. 물론 읽은 기억은 없습니다. 그 때 이 책을 읽었더라면, 저는 지금쯤 더 나은 개발자가 되어 있었을까요? 최근에 회사 세미나를 듣던 도중, 강의자가 이 책을 추천하였습니다. 혹시 내가 가지고 있나 찾아봤더니 이북 구매 목록에 있어 읽게 되었습니다.
저자 소개
책의 저자는 산드로 만쿠소 라는 브라질 시골 출신의 개발자입니다. 소프트웨어 장인 정신에 대하여 보통의 개발자로서 겪어온 경험을 바탕으로 풀어내며 재미있게 설명합니다. 그렇기 때문에 저희가 겪는 문제가 오버랩되며, 역자 말대로 너무 공감 되어 밑줄 긋고 싶은 대목을 숱하게 발견하게 될 수도 있습니다.
목차 및 인상 깊은 구절
분량은 300여 페이지로, 순서 없이 관심 있는 주제만 보아도 좋을 것 같습니다.
목차는 아래와 같습니다. (목차가 너무 길어서, 공감하거나 관심 있었던 부분만 남겨둡니다. )
1부 이념과 태도
1장 21세기의 소프트웨어 개발
고참 개발자
기억나는 구절 : '고참' 이라는 것은 '일시적'이고 ' 상대적'
새로운 현실
기억나는 구절 : 소프트웨어 개발만 하면 되던 시절은 지나갔다. 기업들은 더 작아지고 기민해지며..
2장 애자일 (기억나는 구절 : 소프트웨어는 변화 자체가 기본 속성.. 애자일은 변화 할 수 있도록 변화와 관련된 위험을 줄이는..)
절차적인 관점에서의 애자일 원칙
기술적인 관점에서의 애자일 원칙
애자일을 따른다는 것
...
프로페셔널의 진화
...
애자일 매니페스토의 원칙들
애자일 격변기
애자일 행오버
부분적인 전환
기억나는 구절 : 애자일의 모든 절차들에는 기술적 탁월함이 전제되어 있다.
기억나는 구절 2: "..코딩은 그냥 지엽적인 세부 사항일 뿐이다. 우리는 더 나은 절차만 있으면 된다." 불행하게도 결코 그렇지 않다.
애자일과 소프트웨어 장인정신
3장 소프트웨어 장인정신
더 나은 비유
위키피디아에서의 정의
좀더 주관적인 정의
짧은 정의
정의 이상의 의미
공예, 사업, 엔지니어링, 과학 또는 예술
소프트웨어 장인정신의 토론 이력
소프트웨어 장인정신 모임
경계를 지나
장인 교환 프로그램
소프트웨어 장인 커뮤니티
소프트웨어 장인정신 매니페스토
매니페스토
‘동작하는 소프트웨어뿐만 아니라, 정교하며 솜씨 있게 만들어진 작품을’
‘변화에 대응하는 것뿐 아니라, 계속해서 가치를 더하는 것을’
기억나는 구절 : 애플리케이션의 수명을 오래 유지시키려면 소프트웨어의 품질에 최우선으로 집중해야 한다.
기억나는 구절 : 문제는, 유지보수 비용이 높은 기존 애플리케이션을 개발했던 바로 그 잘못된 방법으로 새로운 애플리케이션을 개발하여, 몇 달 또는 몇 년 후 똑같은 오류를 반복한다는 점이다.
‘개별적으로 협력하는 것뿐만 아니라 프로페셔널 커뮤니티를 조성하는 것을’
‘고객과 협업하는 것뿐만 아니라, 생산적인 동반자 관계를’
생산적 동반자 관계가 될 준비가 안 된 고객
매니페스토의 문제점
4장 소프트웨어 장인의 태도
내 커리어의 주인은 누구인가
기억나는 구절 : "오랫동안 일했지만 회사에서 책 한권 사준 적이 없다... 상당히 오랫동안 새로운 것을 전혀 배우지 못했다." > "네 커리어와 프로페셔널로서의 미래는 누구의 책임인가?"
...
끊임없는 자기계발
독서, 많은 독서
블로그
기술 웹사이트
팔로우할 리더 찾기
5장 영웅, 선의 그리고 프로페셔널리즘
‘아니오’라고 말하는 방법 배우기
재앙의 기억
교훈
기억나는 구절 : 저품질의 소프트웨어가 될 수밖에 없다면 주어진 조건들을 거부했어야 했다... 새 기능을 추가하라는 지시에 개발자와 마케팅 팀이 협의하지 않고서는 기능을 개발할 수 없음을 명확히 했어야 했다... 우리가 영웅이 될 수 있다는 망상에 사로잡혀 프로페셔널하게 행동하지 못했다. 우리는 '아니오'라고 말할 수 있어야 했다.
프로답게 행동하기
기억나는 구절 : '안 된다', '할 수 없다'라는 부정적인 말을 하길 꺼린다.. 무언가 실패한 듯한, 무언가 협조하길 거부한 기분, 좋은 팀원이 되지 못한 듯한 기분이 든다. 우리는 같이 일하는 사람을 실망시키는 것을 싫어한다... 언뜻 보기에는 긍정적인 사고방식같지만, 그 이면에는 대단이 이기적인 욕구가 숨어 있다.. 프로페셔널리즘은 나 자신과 팀 동료들 그리고 관리자들과 고객들에게 정직함을 의미한다.
대안 제시
뜻밖의 실용적인 대안
기억나는 구절 : 첫 번째 일정을 맞추기 위해 코드의 품질을 희생한다면 그 다음 번, 그리고 그 이후의 일정을 지키기가 점점 더 어려워질 것이 뻔하다.
기억나는 구절 : 우리가 '아니오'라고 하지 않고 우리의 관리자들에게 투명하지 않았다면 어떻게 되었을까? 아마도 영웅이 되기 위해 모든 개인 시간을 쏟아 붓고도 요구사항 몇 가지는 충족시키지 못해 회사에 큰 손실을 입혔을 것이다.
깨어 있는 관리자
기억나는 구절 : 개발자들이 어떤 기능을 개발할 수 없다고 부정적인 이야기를 할 때 관리자들은 고맙게 생각해야 한다. 좋은 소식은 아니지만 그러한 솔직함으로 인해 더 큰 문제를 피할 수 있다. 투명성은 관리자와 팀이 험난한 상황을 이겨낼 수 있게 한다.
6장 동작하는 소프트웨어
7장 기술적 실행 관례
8장 길고 긴 여정
2부 완전한 전환
9장 인재 채용
10장 소프트웨어 장인 면접하기
11장 잘못된 면접 방식
12장 낮은 사기의 대가
13장 배움의 문화
14장 기술적 변화의 실행
15장 실용주의 장인정신
품질은 선택사항이 아니다
좋은 품질은 비싸고 시간이 오래 걸릴까
테스트 주도 개발이 항상 필요할까
리펙토링
소프트웨어 개발 방법의 한 가지 예
비즈니스 돕기
단순하고 빠른 솔루션
소프트웨어 프로젝트는 우리를 위한 것이 아니다
비범함과 평범함
단순한 설계를 위한 네 가지 원칙
디자인 패턴
패턴을 위한 리펙토링
장인정신과 실용주의
16장 소프트웨어 장인으로서의 커리어
소감
앞에서 이 책을 오래전 구매했으나 읽은 기억은 없다고 했습니다. 그런데 처음 읽는 이 책에는 이전에 제가 기록해둔 많은 밑줄과 메모가 있었습니다. 내가 이 책을 읽었었다고? 왜 읽은 기억이 없는 거지?
이유는 이 책을 처음 읽었을 때의 제가 막 사회로 나간 경헙 없는 신입이었기 때문인 것 같아요. '소프트웨어 장인'은 저자의 그간의 개발 경험을 바탕으로 쓰여진 책입니다. 경험이 없던 당시의 저는 공감할 수 있는 부분이 적었기에, 읽었던 기억이 사라졌나 봅니다. (물론, 그냥 저의 기억력이 금붕어이기도 합니다. ). 개인적으로 이 책은 어느 정도 프로젝트 경험이 있는 분들이 읽기에 적합한 것 같습니다.
다시 읽은 이 책은, 주변의 개발자들과 공유하며 공감하고 토론하고 싶은 깊은 생각에 빠지게 하는 주제들로 가득합니다. 무엇보다 그러한 상황에서, 소프트웨어 장인 또는 프로로서 가져야 할 자세와 방향을제시해 줍니다.
사회에서는 나이가 들수록 더 타협하게 되는 것 같습니다. 나의 정신 건강을 지키기 위해, 어차피 바뀌는 것은 없으니까, 책임지면 나만 손해니까 등 다양한 이유를 들면서요. '소프트웨어 장인' 을 읽으며, 잘 못 알고 있던 것들을 깨달았고, 변했던 저의 태도도 다시 한 번 돌아보게 되었습니다.