학습 정리/📗 개발 서적 읽기

<소프트 스킬> - 존 손메즈

무딘붓 2024. 6. 19. 21:53

 

 

📖 책 소개

 

평범한 개발자의 비범한 “인생 전략” 74가지 라는 부제목 처럼, ‘개발자를 위한 자기개발서’라는 설명이 잘 어울리는 책이다.

 

요즘들어 개발자에게 특히 강조되는 능력이 ‘소프트 스킬’이다. 소프트 스킬은 프로그래밍 실력같은 ‘하드 스킬’과 달리, 의사소통 능력 같이 협력에 필요한 비기술적인 능력을 말한다. 이런 소프트 스킬을 기르기 위한 방법들이 책에 소개되어 있다.

 

책은 총 7부로 구성되어 있다. 초반부는 “경력”, “학습”, “생산성” 같은 개발자에게 필요한 전략이 소개되어 있고, 후반부에는 “재무관리”, “건강” 같이 개발자에게 특화된 내용이 아닌 일반적인 자기개발서에서 찾아볼 수 있는 전략을 담았다.

 

책을 처음 읽을 때는 저자가 일하는 미국과 한국의 차이를 고려해가면서 읽었는데, 생각보다 개발자들의 삶은 큰 차이가 없는 듯 했다. 전형적인 자기개발서의 강압적인 태도보다는 ‘나는 이렇게 해봤다‘ 같은 문장으로 적혀 있어서 부담도 없었다.

 

책에 소개된 전략들은 선배 개발자들과 멘토링을 하거나, 커피챗을 통해 들을 수 있는 조언과 비슷하다. 시니어 개발자들에게는 뻔하게 들리는 내용도 많겠지만, 개발에 막 입문한 사람들에게는 도움이 될 만한 이야기가 많다. 개발자라면 누구나 가볍게 읽기 좋은 책인 것 같다.

 


 

✍️ 인상적인 내용 정리

 

1) 칸반보드를 사용한 계획 수립

 

나에게 가장 도움이 되었던 부분은 “4부 생산성” 이었다. 칸반보드와 뽀모도로 타이머를 이용해서 생산성을 높이는 전략이 나에게 잘 맞았다.

 

전략을 간단히 요약하면, 계획을 분기별 - 월간 - 주간 - 일간 계획으로 나눈다. 주간 계획은 칸반보드를 이용해서 관리하고, 일간 계획은 뽀모도로 기법을 이용해서 집중력을 유지한다. 구체적인 저자의 생산성 계획은 다음과 같다.

 

  • 저자의 생산성 계획 정리
    • 매주 해야 할 일을 두 시간 이하의 작은 작업으로 나누고, 칸반 보드를 사용해 한 주를 계획한다.
    • 매주 월요일 아침에 한 주간의 일정을 계획하며 하루를 시작한다.
  • 칸반플로를 사용해서 칸반 보드를 작성한다.
    • 칸반플로에는 뽀모도로 타이머가 내장되어 있어서 좋다.
    • 각 요일에 해당하는 칼럼, 오늘 할 일을 볼 수 있는 '오늘' 칼럼, 이미 완료한 일을 볼 수 있는 '완료' 칼럼, 이번 주에 완료하지 못했거나 다음주에 꼭 해야하는 일을 표현하는 '다음 주' 칼럼을 사용한다.
    • 하루를 계획할 때는 그날에 해당하는 카드를 모두 '오늘' 칼럼으로 옮긴 다음, 중요도 순으로 정리한다
  • 주의할 점
    • '작업을 따라 잡는다'는 개념이 없다
    • = 1 뽀모도로가 들 것으로 예상했던 작업에 실제 4 뽀모도로가 들더라도, 그날 혹은 그 주에 할당한 다른 작업을 완료하려고 노력하지 않는다
    • 내 목표는 작업 X개가 아니라 뽀모도로 X개를 완료하는 것이다
  • 가끔 휴식을 취하거나, 몇 주 정도 뽀모도로도 사용하지 않는 '자유 주간'을 시행한다
    • 이 주간에는 하고 싶은 일만 한다. → 굉장히 비생산적이라서 원래 사용하던 체계로 돌아오고 싶은 마음이 간절해진다.
    • 내가 사용하던 체계가 생산성을 높이는 데 얼마나 효과적인지 상기해주는 소중한 시간

 

2) 뽀모도로 기법으로 작업 시간 예측하기

 

가장 인상적인 내용은 뽀모도로 기법을 활용하는 방법이었다. 나는 이미 몇 차례 뽀모도로 기법을 시도해 봤는데, 큰 도움을 받지 못했었다. 저자는 자신도 같은 어려움을 겪었음을 토로하고, 뽀모도로 기법을 제대로 사용하는 전략을 제시한다.

 

뽀모도로 기법의 진정한 힘은 이 기법을 작업 예측 및 측정 도구로 사용하는 데 있다. 하루에 뽀모도로를 몇 번 실행했는지 기록하고, 완료할 뽀모도로의 개수를 목표로 설정하면 스스로 하루에 얼마나 열심히 일하는지, 얼마나 많은 일을 처리할 수 있는지 정확히 측정할 수 있다.
- 303p

 

뽀모도로 타이머를 작업 시간을 예측하고 측정하는 도구로 사용하는 전략을 설명한다. 그동안 프로젝트를 진행하면서 작업량 측정과 예측이 효과적이라는 것을 체험해 봤지만, 뽀모도로를 이용해서 개인의 주간 계획에 적용한다는 발상은 해보지 못했다. 구체적인 전략은 아래와 같이 정리해 보았다.

 

  • 뽀모도로 기법
    • 25분 동안 완전히 집중해서 일한다.
    • 25분이 끝나면 다시 타이머를 5분으로 설정하고 휴식을 취한다. 여기까지가 1 뽀모도로
    • 뽀모도로를 네 번 반복하고 나면 15분 동안 긴 휴식을 취한다
  • 뽀모도로 기법 효과적으로 활용하기
    • 하루에 뽀모도로를 몇 개 할 수 있는지 살펴보고, 매일 몇 개를 할지 목표를 설정한다.
    • → 일주일이라는 시간을 뽀모도로 자원으로 환산해서 볼 수 있다
    • → 매주 일정한 양의 일을 해내고 싶을 때는 한 주에 완료할 수 있는 뽀모도로 개수를 확인하고, 그에 맞춰 우선순위를 매기면 된다.
  • 이 방법의 장점
    • 일주일간 해야 하는 작업에 시간이 얼마나 소요되는지, 이 작업에 뽀모도로가 몇개나 필요한지 정확히 알게 되었다.
    • 완료한 뽀모도로의 개수를 측정하면 일주일 동안 처리한 일의 양을 정확히 알수 있다 → 일을 더 해야 할 것 같은 채무감을 느끼지 않아도 된다
  • 뽀모도로 기법 시도하기
    • 처음에는 일단 시도하자. 이때는 하루에 뽀모도로를 몇 개나 완료해내는지 고민하지 말고, 한 주 동안 얼마나 해내는지 기록해보자.
    • 일주일 안에 완료할 수 있는 뽀모도로 개수를 예측할 수 있다면 다음 주에 완수할 목표를 설정하자.
    • 실제로 해낸 일의 양에 주의를 기울이고, 목표했던 뽀모도로 개수를 완료한 날에는 어떤 기분이었는지 생각하자.

 

뽀모도로 기법의 목표도 현실적으로 설명하면서, 본인은 하루 뽀모도로 10개, 일주일에 약 뽀모도로 50~55개를 해내는 것이 목표라고 설명한다. 이 목표도 매일 8시간 이상 일해도 채우지 못할 때가 있음을 언급한다.

 

따라서, 일주일간 직접 뽀모도로 기법을 시도해 보고, 본인이 할 수 있는 뽀모도로 개수를 측정해 보는것이 중요하다고 말한다. 나도 다음 주부터 바로 시도해보려고 한다.

 


 

📝 추가로 기억에 남는 문장 정리

 

좋은 소프트웨어 개발자란 코딩, 문제 해결, 단위 테스트 작성을 능숙하게 잘하는 사람이 아니다. 좋은 소프트웨어 개발자는 자신의 경력을 관리하고 목표를 성취하며 삶을 즐기면서 살아가는 사람이다.
- 43p

당신이 세상에서 가장 뛰어난 소프트웨어 개발자라고 해도 당신의 존재를 아무도 모른다면 의미가 없다. 물론 취직은 수월하게 할 수 있을지 모르지만, 당신의 실력을 마케팅할 줄 모른다면 잠재력을 최대치까지 발휘하기는 어려울 것이다
- 174p

독학하는 법은 학교에서 배울 수 없다. 학교교육 시스템은 개인이 아닌 집단을 대상으로 한다. 집단을 쉽게 관리하기 위해 선생님 말씀을 잘 듣고 따라야 제대로 배울 수 있다고 가르친다. 따라서 독학하는 법은 독학으로 익힐 수밖에 없다
- 227p

가르치기를 두려워하는 사람이 많다. … 하지만 어떤 주제를 깊이 이해하려면 가르쳐야 한다. 그것이 유일한 방법이다. 상대보다 한 걸음만 앞서 있어도 충분히 상대를 가르칠 수 있다. 배우는 사람보다 멀찍이 앞서가는 전문가는 배우는 사람의 입장을 이해할 수 없어서 가르치는 데 오히려 어려움을 느낄 수 있다.
- 250p

사람이 하는 작업은 대개 컨텍스트 스위칭 비용(context-switching cost)이 있다. 어떤 작업을 하다가 다른 작업으로 전환하면 작업을 다시 시작하기 전에 사라진 작업 기반을 어느 정도 복구해야 한다.
- 287p