0단계 : 동기

양적 확장(단순히 시간을 많이 쏟는 것)에 대한 고찰

  • 편하긴 함
    • 누가 뭐라 해도, 나 이번주 52시간 근무 했어요, 뭘 더 해요! 라고 할 수 있음
  • 집착, 불안
    • 지식노동자들은 생산성을 산출하기 매우 어려움. 그러다 보니 오히려 양에 집착하는 경향도 있음
  • 물론 양적 확장이 필요한 순간이 있음
    • 하지만 그게 계속 이어지면 안됨
      • 우린 대학원생이 아닙니다. 사람이라구요!
    • 번아웃 옴
  • 그리고 (제일 중요) 나이가 들면서 양적 확장은 점점 어려워짐
    • 결혼, 가정, 연애, 건강, 다른 하고픈 일 등등
  • 더 이상 회사는 당신을 근무시간’만’으로 평가하지 않음

이제는 질적 확장도 생각해 볼 시간

  • 질적 확장이란, 생산성을 올리는 것 (생산성 = 산출물 / 시간)
    • 즉, 닥치는 대로 문제를 많이 푸는 것보단 오답 노트를 만들어 보자
  • 참고로 산출물은 상호협의간에 합의된 어떠한 형태임
    • 그래서 무슨 일이든 시작하기 전에 산출물 스펙을 정의해야 함. 그렇지 않으면 방망이 깍는 노인 됨..
  • 그렇다면 제일 먼저 할 일은? 시간별 산출물을 기록
    • 기록 → 분석 → 계획 →기록 → 분석 → 계획 → 반복..
    • 하지만 기록 → 분석 이후 별다른 필요성을 못 느낀다면 안 하면 됨
  • 아래는 스스로 생산성을 올리기 위해 고민하고, 노력한 것들을 정리함
    • 참고로 저도 다 못 지킵니다;; 허허;;
  • 개개인마다 차이가 있을 수 있으나 한 번쯤 스스로에게 투영해보는 것을 권고
    • 근데 돈 잘 버는 사람들은 돈 관리하고
    • 일 잘하는 사람들은 시간 관리하더라구요
  • 그리고 무엇보다.. 우리는 엔지니어 잖아요?
    • 멀쩡히 동작하는걸 뜯고 분해해보는, 왜 동작하는지 파악해야 직성이 풀리는
    • just working이 아니라 why it working이 중요한 엔지니어
    • 효율과 자동화를 좋아하고, 모든 것에 근거와 논리가 필요한,
    • 그러한 소프트웨어 엔지니어로써 우리가 어떻게 일하는지에 대한 고민은 당연하다고 생각합니다.
    • 성장에는 변화가 필수
      • 하던걸 더 하는 횡적 성장과
      • 안하던걸 하는 종적 성장이 있음
      • 안정적인 횡적 성장보다, 가끔 내려가더라도 우상향이 되는 종적 성장을 해야함
        • 우상향은 회고 능력에 따라 달라짐

1단계 : 어떻게 기록해야 하는가?

  • 여기서 어떻게의 관점은 도구보단 내용임
    • 쌩 vi로 코딩하고, 만년필을 쓰는 사람으로써 툴을 이용하여 쉽고 편리하게 기록하는 방법은 차선순위임
    • 그보다, 무엇을 어떻게 기록해야 하는지 더 고민함.
      • 기록하는데 쓰인 나의 에너지와 시간이 헛되이지 않고, 기록을 하는 목적을 달성하기 위해
      • 만약 목적을 달성하는 가장 좋은 방법이 엄청 불편하다? 방법을 개선해보려고 조금은 노력을 하겠지만 대부분은 그냥 불편해도 함
        • 여담이지만, 이것저것 징크스를 스스로 만들고 조건이나 환경을 안 만들려고 하는 편. 그런걸 만들면 자꾸 내가 그 환경과 조건에 갇히는 느낌이라..

1. 정확하게 기록한다.

  • 잘못된 데이터로는 제대로 된, 의미있는 결과를 도출 할 수 없음
    • 다만, 너무 세세하게 기록할 필요는 없음
  • 시간적 관점, 내용적 관점으로 살펴보겠음

1.1. 시간적 관점

  • 일단은 1 시간 단위로 시작해보는걸 권함
  • 그 다음에는 30분 단위, 그 다음에는 10분단위, 5분단위 이런식으로 해 나가면 좋음
    • 5분 단위라는 것은 5분 간격으로 기록하라는게 아니라, 절삭의 의미임
    • 예를 들어 3:23분부터 어떤 업무를 했으면 3:25분부터 하는 식으로 기록
  • 절삭을 하다보니 빵구가 나겠지만 치명적이진 않음

1.2. 내용적 관점

  • 시간보다 중요한 것이 내용임
  • 개인적으로는,
    • 업무의 목적과 형태를 적는것이 도움이 되었음
    • 목적이라는 것은 무엇을 위해 이 일을 했는가이고
    • 형태는 그 목적을 달성하기 위해 어떤 형태로 일했는가 임
      • 예를 들어 주간팀미팅을 했다면 목적은 팀, 형태는 미팅임

자주 묻는 질문 1. 여러 업무를 복합적으로 수행한 경우

  • 기록하려는 시간 동안 다양한 업무를 하게 되어서 기록을 어떻게 해야 하나 애매해 질 수 있음
  • 예를 들어 1 시간 단위로 업무를 수행하는데, 해당 시간 동안 여러 업무를 수행한 경우
  • 이런 경우에는 일단 복합적이라 명시하고, 제일 시간을 많이 쓴 업무 부터 옆에 명시하는게 좋음
  • 만약 이러한 복합적 시간이 길다면, 기록하는 시간 단위를 줄여보는 것을 권장함
    • 만약 줄여도 많다면 본인 근무 환경을 생각해봐야 함. 인간은 동시에 여러 개의 인지적 활동을 할 수가 없음. 그렇게 하고 있다고 믿고 있을 뿐임
  • 하지만 적다면 무시하고 다음부턴 가장 시간을 많이 쓴 업무를 명시해도 됨
    • 참고로 슬랙 같은, 수시로 보는 경우는 screen time으로 측정도 가능함 )

Pasted image 20240213214647

자주 묻는 질문 2. 어떤 업무를 수행했는지 기억이 안 나는 경우

  • 처음에는 충분히 일어날 수 있는 일
  • 하지만, 기억이 나지 않는다고, 기록 안하진 말고 기억 안 남 이라고 기록하는 걸 추천
  • 앞서 복합적 업무와 마찬가지로 이렇게 기억 안 나는 업무가 많다면, 환경 개선을 해봐야 함

2. 정직하게 기록한다.

  • 매우매우매우 중요
  • 시간을 측정하고, 기록하는 것은 본질적으론 나를 위한 것
  • 만약 이것을 거짓으로 하여 거짓된 데이터를 쌓는다면 결국 나만 손해
  • 앞서 말했듯이 기억이 나지 않거나 복합적으로 업무를 수행했다면 대충 찍거나 꾸며내지 말고 ‘복합적’, ‘기억안남’으로 명시
  • 있는 그대로의 업무와 나의 상황을 기록하는 것이 키 포인트
  • 만약 그럼에도 불구하고 정직하게 기록하고 있지 않다면 스스로 시간 측정 및 관리의 필요성을 납득하지 못 한 것
    • 이런 경우 과감하게 시간 측정을 하지 않는걸 권함
    • 의문을 가지며 하면 결국 본인이 원하는 대답을 듣도록 스스로를 유도할 것임
    • 이러한 ‘본인을 속이는 행위’를 경계하길 바람

2단계 : 어떻게 분석해야 하는가?

먼저, 나의 기록한 것들을 분석하며 느낀걸 공유하자면 (사람마다 다를 수 있음)

  1. 기억과 기록이 달랐음
    1. 나는 A 라는 업무에 시간을 많이 썼다고 생각하는데 실제로 많이 쓴건 B
  2. 나를 과대평가하고 업무를 과소평가한 경우가 많았음
    1. 2시간이면 끝날 업무라고 생각했는데 4시간이 걸리거나
      1. 이유로는 업무를 진행하다가 추가적인 공부를 한 경우도 있고, 추가적인 커뮤니케이션을 한 경우도 있지만, 어쨋든 (스스로 정한) 데드라인을 못지킨 건 사실
  3. 반대로 예상 시간보다 금방 끝난 업무도 있음
    1. 업무를 과대평가하거나 나를 과소평가 하거나
    2. 혹은 중간에 어떤 결정사항에 의해 업무가 중단되거나
  4. 한주에 온연히 집중 할 수 있는 시간은 채 10시간이 되지 않았음
    1. 업무 시간별 밀도감이 매우 달랐음
  5. 어떤 일은 끊어서 하는것보다 연속으로 해야만 되는 업무가 있었음
    1. 2/2/2 끊어서 하는 것보다 6으로 연속으로 진행 (시간이 같다는 것에 주목)
  6. 시간을 무한하다고 생각했음
  7. 생각보다 개발엔 시간 못 씀
    1. 예전 회사 중에선 3일동안 미팅을 16개를 하기도..

이러한 것들을 기반으로 아래 항목을 참고하며 나의 기록을 분석해 보았음

A. 내 기억과 기록이 같은지 분석

  • 자신이 가장 시간을 많이 썼다고 생각하는 것에 진짜로 섰는지, 내가 우선순위를 두고 업무를 진행했는지 파악 필요
  • 만약 달랐다면, 그것이 합리적인 이유였는지 회고 필요
    • 합리적이라는 것은 매우 주관적. 인지부조화로 인해 합리화를 하는 것에 경계해야 함
    • 자책을 많이 한다면?
      • 상대방과 이야기 하는 것 필요
        • 그래도 이야기 안 한다면? 그게 연인이거나 가족이 아니라면 심연까지 들어갈필요 없다.

B. 업무들의 sweet spot 찾기 (업무 쪼개기)

  • 어떤 업무들은 Sweet spot이 있어서 N시간을 들이는 것과 N+M시간을 들이는 것의 영향력이 비슷 함
    • 어떤 업무를 10시간 안에 수행한다고 할 때랑, 5시간, 2시간, 1시간, 30분 시뮬레이션 해보면 뭐가 중요한지 파악 됨. 이러한 훈련 필요.
  • 개발도 결국 제품을 만드는 것인데, 제품은 날 위한 것이 아니라 고객을 위한 것임. 고객이 만족할 만한 수준이 되었으면 마무리 짓고, 나의 만족을 위한 업무는 따로 하는게 맞음
    • 예를 들어 업무를 진행하다가 평소 모르는 부분이 나와서 공부를 한다고 치면, 일단 최소한의 업무를 위한 공부만 하여 제품을 마무리 짓고, 나중에 따로 공부하는게 맞음
      • 최악은 공부를 하다가 데드라인을 미루거나 놓쳐서 고객을 만족시키지 못하는 것임
      • 만약 최소한의 공부만해도 데드라인을 미루게 될거 같다면 최대한 빨리 커뮤니케이션을 통해 조정을 해야 함
    • 더 이상 고객들은 방망이 깍는 노인을 좋아하지 않음.
      1. 커뮤니케이션 (문제 정의, 예상 시간 공유)
      2. 업무 (N시간)
        • N시간을 다 썼거나 산출물 나왔다면 공유
      3. 커뮤니케이션 (결과 공유 및 추가 변경 사항 수용)
      4. 업무 - 커뮤니케이션 (반복)
    • 커뮤니케이션 주기는 점차 늘려가는 것
    • 1시간 2시간 4시간 8시간 ..
  • 업무 완성도가 0 에서 80은 쉬운데, 80 →100 은 어렵다. 그럼 언제는 업무 완성도를 80, 또 언제는 100을 해야 하나?
    • 100까지 가야 의미 있는 업무도있겠죠. 근데 알수가 없어요. 근데 맨날 모든 업무의 완성도를 100까지 갈거야?
    • 몇개 놓쳐도 우리는 끊으면서 계속 방향설정하면서 가야돼요.
    • 게속 시간 쓰면서 방망이 깍는 노인되지 마세요

C. 업무들의 time to market 찾기

  • 모든 업무들은 time to market이 있어서, 같은 N시간을 쏟아도 월요일에 하느냐랑 화요일에 하느냐가 달랐음
  • 데드라인과 다름, 모든 업무를 ASAP으로 하는 것과도 완전 다름
  • 예를 들어,
    • 코드리뷰는 요청 받았을때 바로 하는 것이 미루는 것보다 압도적으로 좋음
      • 애초에 미룬다고 코드리뷰 퀄리티가 압도적으로 더 좋아지지 않음
    • 하지만 어떤 업무는 당장 하지 않아도 되는 업무가 많음
      • 하고 싶어도 해야 하는 업무가 아니면 참는 법 연습 필요
  • 다시 말하면, 데드라인이 없는 업무는 하지 말고, 모든 업무에는 데드라인을 두되 ASAP으로 두지 말라
  • 그래프를 통한 예시
    • 가로 : 시간
    • 세로 : 목적 임팩트

    Pasted image 20240213214647

  • 빨리 할 수록 좋은 업무

    Pasted image 20240213214647

  • 코드 리뷰 / 회의록 작성 / 세미나 발표
    • 협업자들의 지연시간을 줄여줄 수 있는 커뮤니케이션 관련된 업무들
      • 지연 시간이 정말로 줄어드는지, 어떤지 잘 파악해야 함
    • 따라서 위의 업무들은 임팩트가 떨어질 것 같으면 미리 못하겠다고 공유하는게 필요함. 할거면 임팩트 있게 하고
    • 이미 늦어서 임팩트 없어, 그럼 안하는 용기
  • 특정 시간이 지나면 임팩트가 비슷해 지는 업무

Pasted image 20240213214647

  • 고객이 원하는 스펙을 맞췄음에도 불구하고 내 만족을 위해 업무를 하는 경우가 이에 해당
    • 두 가지 업무는 ‘다른’ 업무 임
      • 하나의 업무를 끝내고 리스케쥴링을 하는 연습 필요. (역량보단 동기부여 문제)
  • 최대한 미룰 업무⭐

Pasted image 20240213214647

Pasted image 20240213214647

  • 무조건 빠르다고 좋은게 아닌 업무
    • 적당한 임팩트 임계치를 넘었다면 최대한 빨리 하자
    • 오늘 세션이 대표적인 예. 이러한 고민 안 해본 사람에게 이 세션은 흔해 빠진 자기계발서가 됨
  • 늦을 수록 좋은 업무
    • 어차피 홈런 한 번 밖에 못 한다면 역전 홈런을!
  • 언제해도 비슷한 임팩트
    • 하지 말자.
      • 다만, 절대적인 임팩트가 크다면 미리 하자
    • 사실 이건 함정인데, 이런 업무는 없다. 이렇다고 생각되면 안하는게 중요
  • 특정시간에 하거나, 하지 말아야 할 업무

Pasted image 20240213214647

  • (왼쪽 예) 목마를때 물주기. 너무 늦게 주면 오히려 욕머금
  • (오른쪽 예) 회의 시간에 노트북으로 다른 업무하기
  • 하고 싶은 것과 해야 하는 업무 구분
    • 하고 싶기만 하고 당장 해야 하는 업무가 아니라면, 참아보자. 그럴려고 월급 받는 겁니다..

D. 룸(여유)사이즈 파악해보기

  • 이번 주에 룸이 얼마 였는지, 얼마나 필요했었는지 파악해보기
  • 애초에 룸을 잡지 않는 경우도 많을텐데, 생각보다 서비스 장애, 컨디션 난조 등 때문에 룸은 필요함
  • 내가 아프다고, 5월에 휴일이 많다고 고객은 기다려 주지 않음. 애초에 처음부터 룸을 둬야 함

E. 온연이 집중한 시간 살펴보기

  • 여기서는 시간, 환경 위주임. 자신에게 맞는 밀도가 높은 시간이 있다. → 저에겐 오전

앞서 말한 B나 C는 많은 연습이 필요하고, C의 경우 무엇보다도 커뮤니케이션이 매우 중요. 단순히 일을 받아서 동굴에 들어가서 만들어 오는 사람 보단, 커뮤니케이션을 하면서 왜 하는지를 묻고 언제까지 해야 하는지를 묻는 사람이 더 일을 잘하는 사람임

3단계 : 어떻게 계획해야 하는가?

  • 계획에서 제일 중요한건 시간이 유한하다고 생각하는 것임
    • 시간이 무한하면 사실 계획은 필요 없음ㅎㅎ
  • 그리고 생각보다, 내가 온연히 집중 할 수 있는 시간은 없음
    • 룸을 한주에 5시간에서 10시간 정도 잡는다면
    • 실제로 미팅을 제외한 내가 밀도 높게 온연히 집중 할 수 있는 시간은 대략 10시간 내외임(슬랙 등 아무런 방해도 받지 않고 집중 하는 시간)

결국 선택과 집중임

  1. 룸을 설정하고
  2. 온연히 집중 할 수 있는 시간을 확보(캘린더 등록)
  3. 하고 싶은 업무와 해야 하는 업무 구분하고
    • must to do / better to do / might to do
  4. 제일 중요한 업무를 해당 시간에 배치
    • 한 주에 중요한 업무를 여럿 해결하려고 하지 말고, 최우선 과제 하나를 온연히 끝내는 연습을 권 함. 실제로 돌이켜 보면, 한주에 최우선 과제 하나도 온연히 못 끝내는 경우가 많음.
      • 마치 읽으려고 샀지만 쌓여만 가는 책장의 책들 처럼..
  5. 마지막으로, 나의 목표와 align 되는지 스스로, 팀과 의논해보기

4단계 : 무엇을 얻는가?

  1. 자기 객관화
    • 나의 역량을 파악하게 된다.
      • 무리한 계획을 세우지 않게 된다.
      • 번아웃을 피할 수 있다.
      • 합리적인 성장 곡선을 그릴 수 있다.
      • 목표를 달성 할 수 있다.
      • 심리적 안정감이 생긴다.
  2. 몰입 가능
    • 기량보다 너무 높은 목표와 업무는 불안과 걱정을 유발함
    • 적절한 업무, 목표 설정은 몰입을 유도 함
    • 심지어 퍼포먼스도 올라감

Pasted image 20240213214647

Pasted image 20240213214647

  1. 신뢰
    • 데드라인을 거의 지키는 사람이 된다.
      • 기억해라, ASAP이 신뢰있는 사람이 아니다. 계획대로 수행하며, 의사소통하는 사람이 더 같이 일하고 싶고 신뢰 받는 인물이다.
        • ASAP은 불명확성과 유지불안성이 너무 크다.
      • 심지어 40시간만 일하고 있다!
        • execuse(52시간 근무)가 없을때가 나의 기본 형태라 생각해야 한다.
  2. 장애물 인식에 따른 업무 환경 개선 → 생산성 증가
    • 나의 업무 생산성을 저해하는 블로커를 발견하여 개선 할 수 있다.
      • 복합적 업무가 많다면 왜 그러한지 파악 필요
        • 자의적이라면 스스로 환경 정리, 타의적이라면 커뮤니케이션을 통한 환경 개선 필요
      • 기억 안 나는 업무 환경 개선

완벽하지 않아도 된다. 아니, 완벽 할 순 없다.

  • 다만, 통제의 범위를 넓히자.
    • 주 40시간 중에 ‘프로’라면 30시간 정도는 통제하에 두자
    • uncertainty가 너무 커지면 사람은 ‘불안’하고 ‘지치게’된다.
  • 객관적인 자기 평가로 인하여 객관적인 업무 수행과 가시성 확보로 인해 생산적이고 건강한 회사 생활을 하자.

Q&A

  • 어떠한 문제의 경우 나만 알고 있는 경우가 많아서 공유를 굳이 하지 않는다. 만약 설명한다고 해도 설명하는데 품이 너무 많이 든다.
    • 다른 사람들이 해결을 못해주더라도 정리를 하면서 스스로 해결 할 수 있고
    • 생각보다 다른 사람들이 많이 해결 해준다. 그리고 공유 안 하면 애초에 모른다. 공유 하자
  • 커뮤니케이션을 하는게 좋은데, 어떻게 하는게 좋을까?
    • 초기에는 많이 하고 점점 적게하는 형태를 선호한다
    • 다만, 커뮤니케이션 할때 ‘무엇을’ 이야기하는지가 중요하다. 엔지니어들끼리는 root cause를 이야기 해야 후에 double cost가 안 든다.
  • 한번 업무를 할때 4시간 정도씩 쭉- 하는데, 이러다 보니 한 번 밀리면 계획이 죽죽 밀린다.
    • 당장은 계획을 세우지 말고 측정만 해보면 어떨까? 그리고 계획도 40시간 계획이 아니라, 일단 10시간 정도만 계획을 세워보자. 그 조차도 밀리면 5시간.. 이런식으로 줄여나가며 객관화 필요
    • 4시간 동안 업무를 쭉-하는게 좋을까? 50분 일하고 10분 쉬고 하며 돌아보는거 중요한거 같다.
  • 시간 측정해보니, 일의 완성도보다 시간에 맞추는 경우 있었다.
    • 가짜 노동을 생성하는건 당연한 인간의 심리. 그러지 않게 하기 위해 회고를 하는것이 매우 중요하다.
  • 룸 넉넉한게 좋다고 하는데, 얼마나 해야 할지 모르겠다.
    • 개인적으로는 N 시간 정도 걸리는 업무를 다른 사람에게 말할땐 3N 정도 걸린다고 말을 한다. 그러고 빨리 끝나면 빨리 공유하고, 다른 일을 한다.
    • 최적의 조건(방해 안 받고, 컨디션도 좋고)를 기준으로 시간 산정하지 말라는 게 포인트. 항상 변수는 생긴다.
  • 당장 기록하는것 자체가 챌린지하다.
    • 일단 내가 언제 몰입을 잘하나 뭐 이런거부터 하나씩 해보는건 어떨까?
  • 산출물 스펙 정의 어떻게 해야 하나?
    • http://jinwoongkim.net/thought/task-design/ 참고 부탁
  • 주말에도 하시나?
    • 나는 한다. 근데 당장은 통제 범위를 좁게하다가 늘려가는 걸 추천
  • 끝나자마자 바로 기록하시나? 아니면 하루 끝날때?
    • 내 기억을 믿지 않아 바로바로 한다
  • 잡답은 기록해야 하나?
    • 써라, 내가 잡담을 언제 많이하나 파악 가능
    • 그렇다면 그 시간대는, 패턴이 나올텐데, 밀도 낮은 업무 배치
  • 최우선과제 슬롯은 무엇을 의미하는가?
    • 일단 내가 한 주에 꼭 해야 하는 업무가 있는데 그걸 달성하기 위한 것
  • 기록 지속성은 어디에서 오는가?
    • 눈에 보이는 지표가 없었기 때문이라고 생각
    • 목적과 목표를 구분하여 작성하고 정량적 지표를 추적하라
  • 항상 이렇게 알고리즘 머리속에서 돌리시나요?
    • 직감적으로 일 합니다. 내가 먹은 음식을 나는 기억 못 해도 내 몸을 구성하는 것처럼, 평소 이런 생각하면 제 감이 이런쪽으로 단련됩니다.
  • 일을 효율적으로 해서 남는 시간이 있는데, 그럼 그때 백로그를 하시나?
    • 오히려 이미 끝낸 업무를 회고 한다. 두 번 일 안 하도록
    • 나중을 위해 룸을 확보한다. .. 일부러 비워둔다.

댓글남기기