본문 바로가기

old_Coding/Pattern&Skills

[정리] 실용주의 프로그래머 - 서문




포스팅을 시작하며..
책을 한 반정도 읽어내려갔는데, 좋은 내용들이 많은 것 같다. 여태까지 보아왔던 특정 언어나 기술/기법에 대한 내용이 아닌, 실제 프로그래머의 사상이나 생각, 사고방식등이 담겨있는 것 같은 느낌이다. 그래서 내용을 정리하기로 하고 몇몇 포스팅을 한다. 앞으로 포스팅될 내용은 "책에서 말하는 실용주의 프로그래머"에 관한 이야기이다. 필자의 생각은 왠만하면 배재할 생각..





Preface



실용주의
: 어떤 특정 기술에 매이면 안 되며, 개별 상황마다 그 상황에서 좋은 해결방안을 고를 수 있도록 충분한 배경지식과 경험을 가져야 한다. 이론과 실천의 결합이 우리를 강하게 만든다.



작가가 생각하는 작가 본인의 책(실용주의 프로그래머)는
: 여러분이 우리 접근 방법을 따른다면 빠른 속도로 경험을 쌓을 수 있고, 생산성은 즐가할 것이고, 전체 개발 과정을 더 깊이 이해하게 되며, 더 좋은 소프트웨어를 작성하게 되리라는 것뿐이다.(사실 이정도면 엄청난 것 아닌가..?)



무엇이 실용주의 프로그래머를 만드는가?
1. 얼리어덥터 성향/새로운 것에 빨리 적응하는 성향.
    ㄴ 새로운 것이 주어지면 그것을 쉽게 파악해서 자기의 지식에 통합해 넣는다.
2. 캐묻기를 좋아한다.
    ㄴ 사소한 것도 질문을 많이 하여 여러 작은 지식들을 머리 속에 쌓아둔다.
3. 비판적인 사고의 소유자
    ㄴ 사실 관계를 확인하지 않고서는 어떤 것도 들은 대로 믿는 일이 드물다.
4. 현실적이다.
    ㄴ 모든 문제의 근본적인 성격을 이해하려고 노력한다.
5. 다방면의 기술에 익숙하다.
    ㄴ 언제든지 새로운 영역과 새로운 도전으로 옮겨갈 수 있다.

Tip 1. 자신의 기술(craft)에 관심과 애정을 가져라.


Tip 2. 자신의 일에 대해 생각하면서 일하라!
   ㄴ 절대 기계적으로 일하지 말고, 언제나 생각하고 일하면서 동시에 자신의 일을 비평하고 분석하라.



실용주의 프로그래머와 규모가 큰 팀
공학적인 규율에 따라 소프트웨어를 구축하되, 개개인이 기술을 발휘할 기회가 없는 것은 아니다.
"우리가 단지 돌을 자를지라도 언제나 대성당을 마음속에 그려야 한다." - 채석장 일꾼의 신조
기법은 시간에 따라 변하겠지만, 장인 정신은 시대가 변해도 여전히 존중될 것이다.



이것은 끊임없이 지속되는 과정이다.
카이젠: 지속적으로 조금씩 자주 개량하는 것을 뜻하는 일본어.
카이젠은 일본 제조업의 생산성과 품질이 극적으로 향상된 주요 원인 가운데 하나로 여겨져서 전 세계에 모방의 바람이 불었었다.


대체 이름이 뭐길래?
책을 읽다가 전에 본 적 없는 단어와 마주치게 된다면 부탁하건데 그냥 건너뛰지 말라.


소스코드
http://www.pragmaticprogrammer.com/