💻 개발자생존일지/독서노트 (개발)
소프트웨어 장신 (산드로 만쿠소) - 장인정신을 향하여
뚜루리
2024. 11. 18. 10:48
728x90
320x100
- 책이름 : 소프트웨어 장인
- 저자 : 산드로 만쿠소
- 출판사 : 길벗
애자일 정신
- 빠르고 빠른 짧은 피드백 루프를 통해 올바른 일을 하는지 점검하는 과정
- 팀원의 역할은 지시 받은 일만 하는 것이 아니라, 비지니스와 고객창출에 개발자들이 직접 참여하는 것이 중요
- 코드를 잘 작성하는 것은 프로페셔녈이 가져야 할 최소한의 요건이며, 고객의 만족이 최우선이 되어야 한다.
- 완전한 애자일 전환이란 절차과 도구의 도입 뿐만 아니라 기술적인 탁월함 (= 개발자의 프로페셔널) 모두 함께 있어야 한다.
- 변화와 싸우는 것이 아니라 변화 자체를 내제화 한 것.
- 애자일 방법론이 품질 상태에 대해 알려주진 않기 때문에 소프트웨어 장인 정신이 이 부분을 보완해준다.
소프트웨어 장인 정신
- 개발자가 선택한 커리어에 책임을 지고, 지속적으로 새로운 도구와 기술을 익히며 발전해나가겠다는 마음가짐.
- 커리의 주인공은 나.
- 기술적인 실행관례보다 사회적 활동, 태도에 가깝다.
- 프로페셔널리즘 : 나 자신과 팀 동료들 그리고 관리자들과 고객들에게 정직함을 의미한다.
- 제품오너가 원하는 것은 아무런 문제없이 의도대로 동작하는 시스템이며 그에 대한 책임은 개발자인 우리에게 있다.
- 개발이라는 업의 수준을 사회적/기술적으로 높이는 것. 개발 직무의 위상을 높히는 것.
동작하는 소프트웨어
- 단위 테스트는 우리가 코드를 작성하는 방식에 녹아 있을 뿐, 별도의 작업이 아니다.
- 레거시 코드를 고통스러운 전생의 업보로 보는 것보다 재밌고 도전적인 문제로 바라보아야 한다.
- 리팩토링은 전체 한꺼번에 수정하는 것이 아니라 자주 변경되는 부분을 대상으로 시작하여 수정하는 것이다.
인재 채용
- 채용공고에는 사용기술, 필수 기술 나열보다 특정기술에 대한 경험을 우대 하여야 한다. (경력, 전공, 학위 X)
- ex) TDD, BDD, 리팩토링, 페어프로그래밍 등의 경험
- 채용공고에는 회사 문화, 가치와 프로젝트 상세내용이 담겨져 있어야 한다. (지원 조건은 참조자료로만 사용되어야 함)
- 추천 채용제도는 보상이 있어선 안된다.
- 리크루트 에이전시를 활용한 채용은 최후의 수단으로 생각해야 한다.
- 질문 만은 지원자를 우선시 해야 한다.
- 지원자의 지식이 아닌 태도, 재능, 열정, 잠재성을 봐야 한다.
- 새로운 팀은 프로젝트 성공 과거 경험이 중요하고, 기존의 팀이라면 최종까지 고통 속에서 이끌어본 경험을 중요시해야 한다.
- 개발자 면접은 개발자가 봐야 한다.
잘못된 면접 방식
- 면접관이 똑똑한 척 하는 것 (= 지원자를 바보 만드는 것)
- 코딩 면접시 인터넷 검색을 막는 거나 손 코딩 하는 것
- 알고리즘 면접이나 전화면접
면접하기
- 지원자는 일자리를 구걸하는 자리가 아니다, 비지니스 협상을 하는 것.
- 면접관이 실무자인지 관리자인지도 중요하다.
- 좋은 면접은 토론과도 같다.
배움의 문화
- 북클럽, 테크런치, 그룹토론회, 업무교환하기, 코드리뷰, 내부학습모임, 펫 프로젝트 허용
실용주의 장인 정신
- 유능한 개발자라면 TDD 때문에 개발일정이 지연되지 않는다.
- 특별한 이유없이 코드를 열어서 재정리하는 것은 아무런 의미가 없다.
- 가장 훌륭한 코드는 작성할 필요가 없는 코드 이다.
- 단순 설계의 4가지 원칙 : 모든 테스트 통과, 중복의 최소화, 명료성과 최대화, 구성요소의 최소화
[후기]
- 애자일에서 더 나아간 개념과도 같은 '장인정신'에 대한 책.
- 더 나은 개발자가 되고싶은 마음가짐이 궁금하다면 꼭 읽어봐야 할 책
- 리더가 된다면 한 번 쯤 다시 읽어봐야 할 책.
728x90
320x100