[The Pragmatic Programmer] 실용주의 프로그래머 - Overview
실용주의 프로그래머 개발도서 관련 : 도서의 전체적인 개요를 살펴본다.
목차 |
---|
1장. 실용주의 철학 |
2장. 실용주의 접근법 |
3장. 기본적인 도구 |
4장. 실용주의 편집증 |
5장. 구부리거나 부러지거나 |
6장. 코딩하는 동안 해야 할 일들 |
7장. 프로젝트 전에 |
8장. 실용주의 프로젝트 |
서문
책의 목표
- 일을 더 잘 할수 있도록 돕는 것.
- 이론적인 책이 아니며, 실용적인 주제에 더 합당한 결정을 내릴 수 있도록 독자의 경험을 이용하는 일에 집중
실용주의라
는 단어는...을 하다
를 뜻하는 그리스어를 근원으로 한다. 즉, 이 책은 무엇을 “하는” 것에 초점을 둔다.
이 책은 누가 읽어야 할까?
대상
- 더 효율적이고 생산성 높은 프로그래머가 되고 싶어하는 사람들
효과
- 책에서 제시하는 방법을 따른다면
- 빠른 속도로 경험을 쌓을 수 있음
- 생산성이 증가 됨
- 전체 개발 과정을 더 깊이 이해하게 됨
- 더 좋은 소프트웨어를 작성하게 됨
실용주의 프로그래머를 만드는 요소
개발자마다 각자의 취향과 개성이 매우 강하지만 그 와중에도 실용주의 프로그래머들은 공통된 특징을 공유하고 있다.
얼리어덥터 성향/새로운 것에 빨리 적응하는 성향
- 기술과 기법에 대한 본능적인 감각이 있음
- 새로운 시도를 좋아함
- 새로운 것에 대한 빠른 파악을 바탕으로 본인의 지식과 통합을 잘함
- 경험으로 부터 우러나오는 자신감
캐묻기 좋아한다.
- 질문이 많다.
- 자잘한 지식들을 머리 속에 쌓아두며, 그 가운데 어떤 것들이 몇 년 후의 결정에 영향을 주기도 한다.
비판적인 사고의 소유자
- 사실관계를 확인하지 않고서는 들은 대로 믿지 않는다.
- 동료가 기존 방식을 고집하거나, 벤더가 모든 문제의 해결책이라며 약속한다면 도전욕구가 솟구친다.
현실적이다.
- 맞닥드린 모든 문제의 근본적인 성격을 이해하려고 노력한다.
- 현실주의는 일이 얼마나 어려운지, 시간이 얼마나 걸리는지 판단하는 좋은 감각을 길러준다.
- 얼마나 어렵고 얼마나 오래걸릴지 안다면 그 일을 해나갈 지구력이 생긴다.
다방면의 기술에 익숙하다.
- 넓은 범위의 기술과 환경에 친숙해지려고 노력
- 새로운 발전의 흐름에 뒤떨어지지 않으려고 노력
- 특정 분야에 집요하게 파고 들어야 하는 새로운 일이라도 흔쾌히 수행할 수 있다.
실용주의 프로그래머 Tip
- 자신의 기술(Craft)에 관심과 애정을 가져라.
- 잘 하려는 관심과 애정이 없다면, 그 일을 하는 것에 아무 의미가 없다.
- 자신의 일에 대해 생각하면서 일하라!
- 어떤 일을 하면서 자기가 무엇을 하고있는지 생각해라
- 기계적으로 일하지 말고 매일 자신의 일을 비평하고 분석하라.
규모가 큰 팀
- 보통은 규모가 큰 팀 또는 복잡한 프로젝트에서는 개인의 개성을 발휘하기 어렵다고 생각함.
- 하지만 저자의 생각은 다름.
- 공학적 규율을 따라야 한다해서 개개인의 기술 발휘 기회가 없어지는 것은 아님.
- 프로젝트 전체 구조 속에는 언제나 개성과 장인 정신이 발휘될 여지가 있다.
- 시간이 흘러 기술은 낡더라도 장인 정신은 존중된다.
끊임없이 지속되는 과정
- 영국의 이튼칼리지에 있는 잔디밭은 약 500년 동안 꾸준히 조금씩 관리되어 완벽한 잔디밭이 될 수 있었다.
- 일본에
카이젠
이라는 단어는지속적으로 조금씩 자주 개량하는 것
을 뜻하는 일본어다. - 카이젠이 일본의 제조업을 향상시킨 주요 원인으로 여겨져 전 세계에서 모방하는 바람이 불었다.
- 이는 개인에게도 적용될 수 있으며 효과는 더욱 빨리 나타나며 결과도 좋을 것이다.
책 구성
- 짧은 항목들을 모아놓은 책
- 각 항목은 완결되어 있으며 특정 주제를 다룸
- 무수한 상호 참조
- 순서에 구애받지 말고 마음대로 읽어도 됨
Tip nn
이라고 나오는 것들은 본문의 요점이며 자체적인 생명력을 가지고 있음.- Tip 들을 항상 지키며 살자
- 책 뒤에 Tip 묶음이 있다
- 연습문제가 있으며, 답이 부록에 실려있다.
고찰
실용주의 프로그래머의 서문을 살펴보았는데, 책의 시작부분을 통해 앞으로 어떻게 책이 구성될지 전반적으로 살펴 볼 수 있었다.
서문을 정리를 하면서 과연 나는 얼마나 실용주의 프로그래머에 가까운지 생각하게 되었는데 비판적인 사고
를 가지는 것, (Tip1) 자신의 기술에 관심과 애정
을 가지는 것 외에는 해당사항이 없는것 같다..
앞으로 실용주의 프로그래머에 좀 더 가까워지기 위해 현실적으로 지킬 수 있는 캐묻기 좋아한다
와 현실주의
, 그리고 끊임없이 지속
의 요소를 키워 나가보도록 노력하겠다.
댓글남기기