장인은 기능을 추가하고 버그를 수정하는 것뿐만 아니라 코드를 깔끔하게 정리하고, 구조를 개선하며, 확장성을 높이고, 테스트를 가능하게 하고, 쉽게 유지 보수할 수 있게 합니다.
2. 끊임없이 성장한다.
장인은 커리어의 주인공이 자신이라는 것을 알고 있습니다. 독서, 블로그, 오픈소스, 펫 프로젝트 등 본인이 선호하는 방법으로 끊임없이 성장합니다.
3. 프로페셔널 커뮤니티를 조성한다.
장인은 다음 세대를 준비시킬 책임이 있다는 것을 알고 있습니다. 마스터로써 수련생을 멘토링하고 그들의 여정에 도움을 주고 있습니다. 지역 커뮤니티를 조성하는 것은 꽤 괜찮은 방법입니다.
4. 고객과 생산적인 동반자 관계를 맺는다.
장인은 프로젝트의 성공에 기여합니다. 요구사항에 질문하고, 비즈니스를 이해하고, 개선사항을 제안하며, 고객에게 매우 큰 가치를 제공합니다.
5. 아니오 라고 말할 수 있고, 대안을 제시한다.
장인은 비현실적인 일정의 프로젝트에 대하여 가능한 모든 위험과 우려사항을 터놓고 관계자들과 소통합니다. 필요하다면 '아니오'라고 얘기합니다. 그리고 '아니오'에는 반드시 대안을 제시합니다.
6. 새로운기술에 대한 거부감이 없다.
장인은 개발팀에 활력을 불어넣는 존재입니다. 새로운 기술에 대한 트렌드에 밝고, 그에 따른 논쟁을 벌이기를 좋아합니다. 그리고 프로젝트에 적용하기에 적절한 기술인 지 항상 고민하고 동료들과 토론하고 싶어 합니다. 비록 이번에는 적용하지 못할지라도 말이죠.
산드로 만쿠스는 개인에 초점을 맞춰서 장인이 되려면 어떻게 해야 하는지 상세히 기술했습니다. 더불어 책 후반부에는 이런 장인들을 어떻게 하면 채용할 수 있고, 어떻게 팀 문화를 만들어 가야 하는지 적고 있습니다.
저는 책을 읽기 전에 제목만 보고 '소프트웨어 장인'이란 개발을 엄청 오래 하고 잘하는 사람이라고 생각했었습니다. 그렇지만 작가는 그런 의미로 '장인'이라는 용어를 사용한 것이 아닙니다. '더 나은 개발자', '자부심이 있는 개발자', '같이 일하고 싶은 개발자'라는 의미가 맞습니다.
우리 모두 프로그래머로써 자부심을 갖고, 어제보다 더 나은, 같이 일하고 싶은 개발자가 되어 보아요.