이전 장에서 어떤 마음 가짐을 가져야 할 지, 어디에 있어야 할지에 대해서 이야기했다. 그러나 우리는 실제로 무언가를 해내야한다. 주어진 일을 완벽하게 해낼 수 있어야 한다.
지금 바로 무엇을 할 수 있을까?
- 파킨슨 법칙에 따르면 끝내는 데 필요한 시간에 맞추어 작업이 늘어난다.
- 조작된 상황이라도 급하다는 느낌이 들면 생산성은 쉽게 두세 배가 된다. 시도해 보면 알 것이다. 더 빨리 할 수 있다. 지금 할 수도 있다.
- 라오라는 대단한 사람. 이 사람은 원래도 일을 잘하는 사람이다. 하지만 더 대단한 능력은 다른 사람의 마음을 미리 읽는 다는 것이다.
- "그런데 라오가 정말 남달랐던 것은 부탁받기 전에 미리 그 일을 한다는 점이었다. 이런 그의 신비한 능력은 상대방이 자신에게 무엇을 부탁할지 미리 알고 상대방이 그것에 대해 생각하기 전에 그 일을 하는 것이었다."
- 라오는 회의해서 해야 할 것 같은 일들이 눈에 보이면, 그리고 구현이 쉬워 보이면 "할 일 목록"에 넣기도 전에 그 일을 처리해버린다.
- 매일의 성과를 추적하라. 매일 관리자에게 몇 가지 두드러진 성과를 보고하라. 당신의 행동와 아이디어 속한 부서가 더 나아질 수 있도록 한 것이 무엇인지 추적하라.
- 자신의 행동이 사업 가치에 바탕을 두고 있는지 자연스럽게 평가하게 될 것이다. 그러면 당신의 행동도 변할 것이다.
- 매일 30분을 비워두고 생각해보라. 모두가 하기 싫어하는 그 성가신 일은 무엇인가? 업무 시간을 매일 몇 분씩 낭비하지만 아무도 그것에 대해서 하려고 하지 않는. 그런 일은 무엇인가?
- 현재 프로젝트에서 자동화할 수 있지만, 수동으로 하고 있는 것은 무엇인가?
관리자의 문제를 해결하는 것부터 시작하라
- 사업이라는 큰 틀을 먼저 생각하면 쉽지 않을 수 있다. 바로 생각할 수 있으면 굿.
- 그렇지 않다면, 본인의 관리자에게 먼저 접근하라. 팀은 충분히 작고, 해결해야 할 문제가 명확한 집단이다. 이 팀이 무엇을 개선하기 위해 집중하고 있는지, 그것이 생산성인지, 수익인지, 오류 줄이기인지, 아니면 다른 어떤 것인지 알고 있는 사람은 관리자이다. 이 관리자의 목표는 곧 팀의 목표다. 관리자의 문제를 해결하는 사람이 되어라.
- 관리자의 성공과 당신의 성공을 분리하지 마라
- 현재에 집중하다 보면 일과 생활의 작은 성취를 즐길 수 있게 된다. 예를 들면 일을 잘 했을 때의 느낌, 중요한 사업 문제에 전문가로서 참여할 때의 느낌, '잘 나가는' 팀의 필수 멤버가 되는 느낌 같은 것들이다. 이 느낌들은 늘 공상에 잠겨 있다면 놓칠 수 있는 것들이다.
- 자신의 경력 목표를 1주일간 내버려 두라. 현재 업무 목표를 적으라. 다음에 어디로 가고 싶은지 생각하는 대신 지금 하는 일을 끝낼 때 이루고 싶은 것을 생각하라.
지겨운 일도 재미있게 더 잘할 수 있는 방법은 없을까
- 지겨운 일을 어떻게하면 더 재미있게 할 수 있을까? 지겨운 일은 왜 지겨울까? 왜 그렇게 재미가 없을까? 분명 지겨운 일들은 반복적이거나, 창의적이지 않은 일일 가능성이 높다.
- 그 지겨운 일들을 최대한 완벽하게 해내보는 것은 어떨까?
- 하루 일과를 보고 스스로에게 질문해보라 "나는 오늘 얼마나 일을 잘할 수 있을까?" 아마 자신의 일을 더 좋아하게 될 것이다.
- 회사에 어떤 가치를 기여했는지 늘 생각하라. 한달 단위로, 하루 단위로.
- 그리고 그 가치를 평가할 수 있는 방법에 대해서 관리자와 논의하라
- 어떻게하면 회사 비용을 독창적으로 절약할 수 있을지, 어떻게 하면 개발 팀이 좀 더 효율적으로 변화될 수 있을지 생각할 것
- 언제나 겸손한 마음. 자만하지 않는 마음.
- 팀은 나 없으면 안된다는 마음보다, 나 없어도 돌아갈 수 있도록 팀을 만드는 역할. 문서화할 수 있는 부분을 찾을 것, 리팩터링을 해도 남들이 이해할 수 있도록 작성할 것
- 코드의 지뢰밭을 지속적으로 제거하라
- 코드의 품질을 측정할 수 있는 척도를 마련하라. 그 척도로 지속적으로 코드를 점검하라.
- 야근할 생각을 하지 말라. 8시간 안에 모든 일을 다 끝내겠다는 마음가짐으로 일하라.
- 프로그래머인 우리는 개발 과정에서 소프트웨어 결함을 빨리 발견할수록 소프트웨어가 더 견고해진다는 것을 안다. 157.p
- 오류가 있다는 것은 개발자가 프로그래밍 오류를 만들었다는 것을 나타내지만 오류를 일찍, 자주 발견한다는 것은 소프트웨어가 안정되고 있다는 좋은 조짐이다. 157.p
- 지킬 수 없는 약속은 "아니오"라고 말하라. 그렇게해야 진정한 신뢰를 얻을 수 있다.
- 매일 '아니오'라고 하던 사람이, "예"라고 하면 우리는 그 사람의 말을 신뢰하게 된다.
- 기술에 가장 익숙해지는 방법은 달인을 지켜보는 것이다.
- 자신이 아는 달인을 지켜보니, 문제가 생겼을 때 당황하지 않는 것이었다. 그는 상황이 아무리 어려워도 기록을 보면 항상 느긋했고 다음에 무엇을 할지 늘 생각하고 있었다. 그는 자신의 현재 상황이 시합의 전체적인 형세에 어떻게 맞아 들어갈지 아는 것처럼 보였다.
- 계획을 세울 것.
- 크리스는 수업 사이 15분을 이용해 금방할 수 있는 루틴을 연습하는 것까지 실제로 계획을 세웠다. --- 우리가 앉아서 다음 수업 시작을 기다리는 동안 크리스는 음계 연습 또는 듣는 연습으로 시간을 다 채웠다. 심지어 시간표를 3-5분 단위까지 나누어 주어진 10분 동안 하나 이상의 연습을 하기도 했다. 크리스는 결국 우리의 도시에서 굉장히 훌륭한 연주자 중 한 명이 되었다. --- 그는 음악적 엘리트의 길을 가기로 계획을 세웠고 그것을 실천했다.
- 계획을 말하고 그것을 실천하면 여러분은 '실천가'라는 평판을 얻을 것이다.
- 더 나은 프로그래머가 되기 위해서는 좋은 코드를 읽어야 한다는 이야기를 들어봤을 것이다. 대신, 적극적으로 광범위하게, 코드를 베끼라.
- 미국의 저널리스트 헌터 톰슨은 좋은 책을 읽기만 하지 않았고 헤밍웨이와 피츠제럴드 작품을 타자했다.
- 베끼기가 어떻게 도움이 되는지는 쉽게 알 수 있다. 베끼면 기억력이 길러진다. 원본의 어감과 형식을 맛볼 수 있다. 이런 세부사항은 빠르게 훑어봐서는 놓치는 것들이다.