본문 바로가기

독서

실용주의 프로그래머 (1) - 데이비드 토머스, 앤드류 헌트 지음

이 책이 서가의 다른 기술 서적들보다 뚜렷이 돋보이는 점은 프로그래머가 된다는 것이 어떤 의미인지에 대한 이해가 담겨 있다는 것이다.

코딩하는 법을 안다고 해서 저절로 점점 더 나은 프로그래머가 되지는 않는다. 그 과정은 의지와 의도적 수련이 수반되어야 한다. 이 책은 효율적으로 더 나은 프로그래머가 되기 위한 지침서이다.

실용주의 프로그래머들은 다음 특징들 가운데 많은 수를 공유한다.

- 얼리 어댑터 또는 새로운 것에 빨리 적응하는 사람

- 호기심이 많은 사람

- 비판적인 사고의 소유자

- 현실주의자

- 다방명에 능숙한 사람

- 자신의 기예에 관심을 가져라

- 자기 일에 대해 생각하라

이 일을 해서 받을 수 있는 보상은 여러분이 사랑하는 직업에 더 적극적으로 참여할 수 있는 것, 그리고 점점 더 다양한 종류의 일에 숙달되어 간다는 느낌, 지속적인 발전을 느끼는 데서 오는 기쁨이다.

"우리가 단지 돌을 자를지라도 언제나 대성당을 마음속에 그려야한다."

 

"나는 당신의 기대대로 살기 위해 이 세상에 있는 게 아니고, 당신도 내 기대대로 살기 위해 이 세상에 있는 게 아니다." - 브루스 리

기술에 뒤쳐지는 기분이 든다면 여가 시간을 쪼개서 재미있어 보이는 것을 공부하라.

신뢰에 바탕을 둔 건강한 환경에서는 안전하게 여러분의 생각을 말하거나 아이디어를 제안할 수 있다.

어설픈 변명 말고 대안을 제시하라

여러분이 "잘 모르겠어요"라고 말했다면, 꼭 바로 이어서 "하지만 알아볼게요"라고 말하라.

깨진 창문을 내버려 두지 말라

나쁜 설계, 잘못된 결정, 혹은 형편없는 코드 들이 모두 깨진 창문이다.

큰 무리 없이 요구할 수 있을 만한 것을 찾아라. 그리고 그걸 잘 개발하라.

"우리는 종종 뭔가 나아지게 하려다가 괜찮은 것마저 망친다." - 셰익스피어, <리어왕>

오늘의 훌륭한 소프트웨어는 많은 경우 환상에 불과한 내일의 완벽한 소프트웨어보다 낫다.

사용자에게 뭔가 직접 만져볼 수 있는 것을 일찍 준다면, 피드백을 통해 종국에는 더 나은 해결책에 도달할 수 있을 것이다.

"지식에 대한 투자가 언제나 최고의 이윤을 낸다"

새로운 기술, 언어, 환경이 개발됨에 따라 지식은 옛것이 된다.

새로운 것을 배우는 능력은 여러분의 가장 중요한 전략 자산이다.

지식 포트폴리오 관리는 투자 포트폴리오 관리와 매우 유사하다.

1. 진지한 투자자는 주기적으로 투자하는 습관이 있다.

2. 장기적인 성공의 열쇠는 다각화다.

3. 똑똑한 투자자는 보수적인 투자와 위험이 크지만 보상이 높은 투자 사이에서 포트폴리오의 균형을 잘 맞춘다.

4. 투자자는 최대 수익을 위해 싸게 사서 비싸게 팔려고 한다.

5. 포트폴리오는 주기적으로 재검토하고 재조정해야 한다.

따라 할 절차를 만든 다음 여러분의 뇌에 각인될 때까지 반복하라.

 

포트폴리오 만들기

- 주기적인 투자

- 다각화 : 더 여러 가지를 알수록 자신의 가치는 더욱 높아진다.

- 리스크 관리 : 여러분의 기술 달걀을 모두 한 바구니에 담지 말라

- 싸게 사서 비싸게 팔기

- 검토 및 재조정

 

목표

- 매년 새로운 언어를 최소 하나는 배워라 : 다른 언어는 동일한 문제를 다르게 푼다

- 기술 서적을 한 달에 한 권씩 읽어라 : 깊이 있는 지식을 원한다면 긴 글 형식의 책을 읽어야 한다

- 기술 서적이 아닌 책도 읽어라

-  수업을 들어라

- 지역 사용자 단체나 모임에 참여하라

- 다른 환경에서 실험해 보라

- 요즘 흐름을 놓치지 말라

 

이 모든 독서와 연구는 시간이 걸리고 시간은 늘 부족한 자원이다.

읽고 듣는 것을 비판적으로 분석하라.

- 왜냐고 다섯번 묻기

- 누구에게 이익이 되나?

- 어떤 맥락인가?

- 언제 혹은 어디서 효과가 있을까?

- 왜 이것이 문제인가?