http://www.yes24.com/Product/Goods/20461940
총평
소프트웨어 엔지니어링 관련 업무를 하며 처음으로 접한 책이다. 많은 추천과 후기가 있는 걸 보면 분명히 얻을 수 있을게 많다고 생각해서 정말 진지하게 꼼꼼하게 읽었다.
많은 사람들이 읽었다고 해서 다 맞거나 모두 공감할만한 내용은 아닐 수 있지만 적어도 소프트웨어를 진지하게 바라보기 시작하는 내 입장에서는 많은 내용이 공감되고 와닿았다.
개발을 하다 보면 실제 개발보다는 이슈처리나 잡다한 업무가 훨씬 많다. 이런 삶에 찌들다 보면 내가 하는 일들을 하찮게 여기기도 하고 자기 개발서들에서 하는 말들이 너무 이상적인 이야기만 한다고 느낄 수 있다.
하지만 내가 하는 일에 대해서 책임감과 자부심을 갖고 프로페셔널해지며 지속적으로 성장해나가겠다는 마음가짐은 그 누구도 부정할 수 없는 마인드셋이라고 할 수 있을 것이고, 그것이 어느새 내 모토가 되어 이 블로그를 쓸 수 있기도 했다.
내용요약
- 소프트웨어 장인정신이란 스스로 선택한 커리어에 책임감을 갖고 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다.
- 책임감, 프로페셔널리즘, 실용주의 그리고 개발자로서의 자부심을 의미한다.
- 더 짧은 정의 : 소프트웨어 개발에 있어서 프로페셔널리즘이자 일을 더 잘하기 위해 가슴에 품는 일종의 이념이다.
- 코드를 잘 작성하는 것은 소프트웨어 프로페셔널이 가져야 할 최소한의 요건이다. 그에 더해 테스트, 분석, 비즈니스에 대한 이해, 커뮤니케이션 능력, 보다 외향적인 성격을 요구한다.
- 개발자에게 동기 부여할 수 있는 최선의 사람은 바로 동료 개발자이다.
- 회의론자를 설득하기 위해서는 열정을 공유하고 모범을 보임으로써 사람들을 이끌고, 정직하고 투명해야 한다.
- 프로페셔널은 아니오 라고 할 수 있는 용기, 거기에 그치지 않고 대안을 제시해야 한다.
- 잘 작성된 코드는 해야할 일을 하면서 단순하고, 작고, 테스트 가능하며 이해하기 쉽다. 높은 품질을 유지하기 위해 계속 노력해야 한다.
[서론]
어떻게 하면 더 나은 프로그래머가 될 수 있을까? 일을 하는 것도 중요하지만 그에 못지않게 일을 어떻게 하느냐도 중요하다.
[이념과 태도]
최근 소프트웨어를 빠르게 바꾸면서도 높은 품질 유지가 가능하다면 경쟁 우위를 차지할 수 있다.
장인의 태도
실행 관례와 새로운 기술들을 배우는 것도 자동차 운전과 같다. 더 많이 훈련할 수록 더 편안해지고 별도의 주의 집중과 의식적인 노력이 없어도 자연스럽게 할 수 있게 된다.
그렇게 되면 우리가 달설하려는 목표에만 집중할 수가 있다.
영웅, 선의 그리고 프로페셔널리즘
무리한 일정에 대해 아니오 라고 대답하는 것은 우리의 의무다.
프로답게 행동하고 고객을 만족한다는 것이 고객의 요구사항을 모두 받아들이라는 뜻은 아니다. 고객이 무엇을 가장 필요로 하는지, 그것을 얻기 위한 최선의 방법을 도우며 조언하는 것이 우리의 일이다.
[완전한 전환]
열정적인 개발자는 개방된 사고로 항상 무언가를 배우기를 원한다. 그들은 스스로 동기부여되어 혁신하고 기술 변화를 이끈다.
잘 작성된 코드는 해야할 일을 하면서 단순하고, 작고, 테스트 가능하며 이해하기 쉽다.
장인은 문제 해결에 집중하고 높은 품질의 코드를 작성하는 데 집중한다.
단순한 설계를 위한 네 가지 원칙
- 모든 테스트 통과
- 중복의 최소화
- 명료성의 최대화
- 구성요소의 최소화
'개발 > 개발 공통' 카테고리의 다른 글
[객체 지향] SOLID 원칙에 대해서 알아보자 (1) | 2023.01.14 |
---|---|
[객체 지향] 객체 지향 프로그래밍(OOP)에 대해 알아보자 (0) | 2023.01.14 |
[개발 상식] 프로그래밍 패러다임을 알아보자 (0) | 2023.01.09 |
[라이브러리] 정적(static) vs 공유(shared) (0) | 2023.01.05 |
[개발문화] 데일리 스크럼을 더 잘하기 위한 방법 (0) | 2023.01.05 |