[책] 프로그래머 열정을 말하다 <리뷰>


- - - - - -

### 프로그래머 열정을 말하다

저자
채드 파울러 지음
출판사
인사이트| 2012-01-25 출간
카테고리
컴퓨터/IT
책소개
『프로그래머 열정을 말하다』는 재즈 색소폰 연주자 출신 저자 채…
가격비교
- - - - - -

우리가 모두 마틴파울러나 리누스 토발즈,

프래그머틱 프로그래머가 되지는 못해도 

목표를 높이 세우면 최소한 평균보다는높은곳 어딘가에는 도달 할 것이다. 

자신의 경력을 자신이 만드는 제품의 수명이라고 생각해 보자. 

 

위험과 보상을 절충하는 것은 어느 기술과 영역에 투자할지 

신중하게 고르는데 중요한 부분이다. 

 

수요와 공급의 경제학 모델을 이해하는것이 중요하다. 

수요가 많은 기술을 선택하면 개발자가 많기 때문에 임금으로 다른 사람과 경쟁할수 밖에 없거나 다른 사람보다 월등히 뛰어나야 한다.

조금 수요가 덜한 틈새시장을 노린다면 경쟁의 관점을 

가격에서 능력으로 바꿀 수 있다. 

주류시장에서 경쟁하려면 더 높은 차원에서 경쟁해야 한다. 

소프트웨어 개발자는 사업분야를 잘 이해해야 한다. 

 

가장 못하는 사람이 되라. 


자신이 최고가 아님을 솔직히 인정하면, 

자신이 최고가 아니라는 사실이 알려지는 데 대한 두려움을 


씻어낼 수 있다. 사실은 가장 못하는 사람이 되려고 할때, 

실제로는 가장 못하는 사람이 되지 않을것이다. 


우리는 경험이 천편일률적인 사람보다는 다양한(아주특이하더라도) 응시자에게 점수를 더 많이 준것 같다. 


인도에 처음 갔을때, 그다지 주류라고는 할 수 없는 기술을 사용하거나 써봤냐는 질문에 

“그런일을 할 기회가 없었다” 라는 대답만 들을때 사실 미칠것 같았다. 

 

‘기회가 주어지지 않았다고?!

내게도 그런 기회는 주어지지 않았어!’ 라고 나는 생각했다. 나는 배울 기회를 ‘붙잡았다.’

 

한 세대전, 경력선택에 대해 이야기 할때 ‘재미’는 결정적인 요소가 아니었다. 

초점을 맞춰야 할것은 프로젝트 가치사슬에서 자신이 어디에 있느냐 하는 것이 아니다.

(아키텍트가 가장 높은 곳을 차지한다.) 자신을 얼마나 다방면으로 유용하게 만드냐하는 것이다. 


내 자신을 결코 기술로 정의 하지 않았다. 대신 내가 한일과 다음에 하고 싶은일로 정의했다. 

기술은 그저 성공에 이르는 한 방법일 뿐이다. 

사고를 날카롭게 하고, 

즉홍 코딩 솜씨를 향상시킬 멋진 방법으로는 스스로 제한 조건을 두고 연습하는 것이다. 


소프트웨어 프로세스가 성공적으로 받아들여 질려면, 프로세스를 사용하는 사람들이 그 프로세스를 받아 들여야 한다. 

그러한 프로세스에서 주인의식을 느끼는 가장 좋은 방법은 프로세스를 만드는 일을 돕는것이다. 


따라야 할 가장 좋은 프로스세스는 팀을 가장 생산적이게 하고 최고의 제품을 만들어 내도록 하는 것이다. 

가장 높은 생산성과 가장 좋은 제품을 동시에 만족하는 유일한 방법은 가능한 대안을 공부해 여러분과 팀이 이행할수 있는 부분을 골라 실제 경험에 바탕을 두고 지속적으로 다듬는 것이다. 

대가의 작품을 공부하는 것은 대가가 되기 위한 필수적인 부분이다. 

디자인 패턴에서 배울 수 있는 것은 우리가 코드 읽기를 즐기면서 배울 수 있는것에 비하면 일부분에 불과하다. 

예술에서처럼 다른 사람들의 습관을 공부하고 배움으로써 

자신만의 독특한 소프트웨어 개발 스타일을 계발할 수 있을 것이다. 


소프트웨어 산업에서 중추적인 바퀴를 다시 만드는 일을 거듭 되풀이하느라 

얼마나 많은 돈을 낭비하는지 깨닫는 다면 아마 놀랄것이다. 

프로그래머들은 가치를 창조한 대가로 돈을 받는다. 

마지막 성공은 일을 끝맺어 마무리하는 사람의 차지다. 


파킨슨의 법칙에 따르면 끝내는 데 필요한 시간에 맞추어 작업이 늘어난다. 

남다른 사람은 부탁받기전에 미리 그 일을 한다는 점이다. 

다음 프로젝트나 유지보수애햐할 시스템을 위해 사용자나 관리자가 요구할 것 같은것에 대해서 노트에 기록해라. 

상식적으로 우리가 관리자의 기대이상을 해내면 A급 명단에 오를 것이다. 


매일 보고할 성과를 거두라. 

프로그래머들은 흔히 나무는 보면서 숲을 보지 못한다. 

여러분은 팀이 직면한 문제를 이해하고 있을 것이다. 

여러분은 팀이 무엇을 개선하기 위해 집중하고 


있는지, 그것이 생산성인지, 수익인지, 오류 줄이기인지, 아니면 다른것인지 안다. 

야망을 품으라. 그러나 드러내지는 말아라. 

알게되자마자 문제를 제기하라. 

책임을지라. 


해결책을 제시하라. 


도움을 구하라. 

실망시키지 않으려고 “예!” 하는 것은 

단지 거짓만일 뿐이다. 

리더는 여러분이 독립성과 주인의식을 갖길 바란다. 

계획을 만들고 실행하고 알림으로써 두 가지를 모두 손에 넣을 것이다. 


출판이나 발표보다 자신의 이름을 알리는 더 좋은 방법이 있을까?


웹에서 시작하라. 블로그를 읽는다. 자신만의 블로그를 개설한다. 

자신의 주장을 널리 알리고 이름을 알리는데 명심해야할 것은 자신이 

준비됐다고 생각할때까지 기다리지 말고 바로 시작하라는 것이다. 


어떤 경우라고 100% 완벽한 준비는 없다. 시작이 반이다. 지금 시작하라. 


가장 중요한 점은 자신이 선택한 것과 관련된 것이 자신의 이름으로 지속적인 영향을 끼침을 

기억애햐 한다는 것이다. 사람들은 잊어 버릴지 모르지만, 구글은 결고 잊지 않는다. 


오픈소스에 대한 기여는 실력을 실제로 보여주는 것이다. 

 

가장 좋은 방법은 제품을 남다르게 만드는것이다. ‘남다르다는 것’은 누가 물어보기 전에 

사람들이 먼저 여러분에 대해 이야기 하는 것을 의미한다. 


성공적인 오픈소스 소프트웨어 발표, 책과 기사쓰기, 컨퍼런스에서 발표하기를 통해

더욱 남달라 질수 있을 것이다. 

어울리기 = 염치없이 사람들 사이에 끼어드는 능력 + 가장 못하는 사람 되기 

평범한 사람과 우리가 존경하는 사람 사이의 가장 심각한 장벽은 우리 자신의 두려움이다. 

가장 좋아하는 소프트웨어를 고르고 창시자에게 이메일을 보내라. 

고맙다는 말을 하거나, 제안 혹은 질문을 해보라. 


그 소프트웨어가 오픈소스라면 돕고 싶다고 제안해보라.

자바는 이제 21세기의 코볼이다. 

결과가 아닌 과정에 집중하라. 


다른 개발자가 사용하는 애플리케이션이나 라이브러리를 유지보수한다면 

충실한 기능 로드맵이 있지 않는 한 버그 수정만 하느라 침체될 것이다. 

나쁜 일이 일어나 깜짝 놀라는 때가 바로 무감각해진 때이다. 

어제보다 오늘이 나았나요?

여러분이 애쓰는 크고 까다로운 목표 대부분을 위해서는 목표에 

더 가까워지는 것을 생각하지 말고, 어제보다 그 목표를 향한 노력을 좀 더 

잘했는지 생각하는 것이 중요하다. 

조금 ‘더 나아졌음’에 행복해할 필요도 있다.