WebPiki
it

포모도로 기법 — 개발자의 집중력을 지키는 시간 관리법

25분 집중 + 5분 휴식의 포모도로 기법. 왜 효과적인지, 개발 업무에 어떻게 적용하는지 정리했다.

코딩하다 보면 시간이 어떻게 가는지 모를 때가 있다. 집중이 잘 되는 날은 몇 시간이 순식간인데, 안 되는 날은 30분도 길다. 그런데 아이러니하게도 "너무 오래" 집중하는 것도 문제가 된다. 3~4시간 쉬지 않고 코딩하면 뒤로 갈수록 판단력이 떨어진다. 같은 버그를 두 시간째 보고 있다거나, 쉬고 나면 3분 만에 풀리는 문제를 붙잡고 있었다거나.

포모도로 기법은 이런 문제에 대한 답이다.

기본 원리

1988년 이탈리아의 프란체스코 치릴로가 대학생 시절 만든 방법이다. 이름은 토마토 모양 주방 타이머에서 따왔다 (pomodoro = 이탈리아어로 토마토).

규칙은 단순하다:

  1. 할 일을 정한다
  2. 타이머를 25분에 맞추고 집중한다
  3. 타이머가 울리면 5분 쉰다
  4. 4번 반복 후 15~30분 긴 휴식

25분이라는 시간이 핵심이다. "좀 더 하고 싶은데" 싶을 때 끊는 거다. 완전히 지치기 전에 쉬니까 다음 세션에서도 집중력을 유지할 수 있다.

왜 25분인가

인간의 집중력에는 한계가 있다. 연구마다 수치가 다르긴 한데, 대체로 20~45분이 한 번에 깊은 집중을 유지할 수 있는 범위다. 25분은 이 범위의 안전한 하한선에 가깝다.

처음에는 "25분? 너무 짧은데?" 싶을 수 있다. 근데 해보면 25분 동안 진짜 아무것도 안 하고 한 가지에만 집중하는 게 생각보다 쉽지 않다. 슬랙 메시지 확인, 메일 확인, 스마트폰 만지기 — 평소에 무의식적으로 하던 것들을 전부 참아야 하니까.

5분 휴식도 중요하다. 이 시간에 뇌가 방금 처리한 정보를 정리한다. 심리학에서 말하는 "확산 모드(diffuse mode)" 사고가 활성화되는 시간이다. 번뜩이는 아이디어가 샤워 중에 떠오르는 것도 같은 원리.

개발 업무에 적용하기

코딩

한 포모도로에 하나의 작업만 한다. "이 함수 구현" 또는 "이 버그 수정" 같이 구체적으로. "코딩하기" 같은 애매한 목표는 안 된다.

PR 리뷰, 슬랙 메시지 답변 같은 건 별도 포모도로로 분리한다. 코딩 중간에 메시지를 확인하면 컨텍스트 스위칭 비용이 발생한다. 프로그래밍에서의 컨텍스트 스위칭은 회복하는 데 15~20분이 걸린다는 연구 결과도 있다.

25분 안에 끝날 것 같지 않은 큰 작업은 쪼개야 한다. "회원가입 기능 구현" 대신 "회원가입 폼 UI 작성", "유효성 검증 로직 추가", "API 연동" 이렇게. 쪼개는 연습 자체가 작업을 더 잘 이해하게 만들어주는 효과도 있다.

디버깅

디버깅에 포모도로를 쓰면 의외로 효과가 크다. 한 버그를 두세 시간 째 잡고 있는 건 흔한 일인데, 포모도로로 끊어주면 "25분 동안 못 찾았으니 접근 방식을 바꿔보자" 같은 판단이 자연스럽게 생긴다. 삽질의 끝없는 터널에 빠지는 걸 막아준다.

문서 작성 / 설계

기술 문서 작성이나 시스템 설계처럼 깊은 사고가 필요한 작업에 특히 효과적이다. 25분 안에 초안을 잡는다는 제약이 오히려 완벽주의를 줄여준다. "일단 25분만 써보자"라고 시작하면 빈 화면 앞에서 멍하니 앉아있는 시간이 줄어든다.

회의가 많은 날

회의 사이사이에 30분 빈 시간이 있으면 포모도로 하나를 돌릴 수 있다. "어차피 짧은데 뭘 하겠어"라고 넘기는 것보다 훨씬 생산적이다.

학습

새로운 기술을 공부할 때도 쓸 만하다. 25분 동안 공식 문서 읽기, 5분 쉬고, 25분 동안 코드로 따라해보기. 이런 식으로 읽기와 실습을 번갈아 하면 그냥 문서만 쭉 읽는 것보다 기억에 남는다.

변형

기본 25/5 규칙이 안 맞는 사람도 있다. 흔한 변형:

  • 50/10: 깊은 집중이 필요한 작업. 컨텍스트 로딩 시간이 긴 작업에 적합
  • 15/3: 집중이 특히 어려운 날. 시작 허들을 낮추는 효과
  • 90/20: 작곡가나 작가 같은 창작 작업에서 쓰는 패턴. 울트라디안 리듬(인간의 90분 각성 주기)에 맞춘 것

정답은 없다. 자기에게 맞는 조합을 찾으면 된다. 처음에는 기본 25/5로 시작해서 조절하는 걸 추천한다.

자주 하는 실수

포모도로 중간에 끊기. 25분이 끝나기 전에 다른 일로 전환하면 효과가 반감된다. 급한 게 아니면 메모해두고 다음 포모도로에서 처리한다.

휴식 시간에 스마트폰 보기. SNS나 뉴스를 보는 건 뇌를 쉬게 하는 게 아니다. 눈을 감거나, 스트레칭을 하거나, 물을 마시러 가는 게 진짜 휴식이다.

모든 작업에 적용하려 하기. 동료와 함께하는 페어 프로그래밍이나 브레인스토밍에는 맞지 않을 수 있다. 혼자 집중하는 작업에 가장 효과적이다.

완료에 집착하기. 25분 안에 작업을 끝내야 한다는 압박을 느낄 필요 없다. 중요한 건 "25분 동안 집중했다"는 사실이다. 작업 완료 여부가 아니라 집중 시간의 질이 핵심.

하루에 몇 포모도로가 적당한가

하루 8시간 일한다고 해서 16포모도로(25분 x 16 = 400분)를 채울 수 있는 건 아니다. 회의, 점심, 잡무를 빼면 깊은 집중이 가능한 시간은 보통 45시간 정도. 그래서 810포모도로 정도가 현실적인 목표다.

처음에는 하루 4포모도로부터 시작하는 게 좋다. "오늘 4포모도로 완성"이라는 목표는 작아 보이지만, 100분을 정말로 방해 없이 집중한다면 대부분의 날보다 생산적인 하루가 된다.

완료한 포모도로 수를 기록하다 보면 자기만의 패턴이 보인다. 오전에 집중이 잘 되는 사람이 있고, 오후 늦게 엔진이 걸리는 사람이 있다. 그 패턴에 맞춰 중요한 작업을 배치하면 같은 시간을 들여도 결과가 달라진다.

타이머 선택

물리적 타이머(토마토 모양이든 뭐든)가 디지털보다 효과적이라는 의견이 있다. 직접 돌리는 행위가 의식(ritual)처럼 작용해서 집중 모드로 전환하는 트리거가 된다는 거다.

디지털 타이머도 나쁘지 않다. 핵심은 화면 알림이 뜨지 않는 환경에서 타이머만 돌리는 것. 타이머 앱을 켜려고 스마트폰을 들었다가 인스타그램을 열게 되면 의미가 없다.

브라우저에서 바로 쓸 수 있는 포모도로 타이머도 있다. 작업/휴식 시간을 커스터마이즈할 수 있고, 세션 완료 시 소리로 알려준다. 따로 앱을 깔 필요 없이 탭 하나만 열어두면 된다.

포모도로의 한계

솔직히 말하면, 포모도로가 만능은 아니다.

플로우 상태(flow state)에 있을 때 타이머에 의해 강제로 끊기는 건 오히려 역효과다. 코딩이 정말 잘 풀리는 순간에 "25분 끝!" 하고 멈추는 게 맞는 건지 의문이 들 때가 있다. 이건 사람마다 판단이 다른데, "어차피 5분 쉬고 바로 이어할 수 있으니까" 라고 생각하면 편하다. 쉬고 돌아와서 이어가면 된다.

또, 협업이 많은 환경에서는 25분 동안 모든 메시지를 무시하기 어렵다. "지금 포모도로 중이라 나중에 답변하겠다"고 슬랙 상태를 바꿔두는 식으로 타협해야 할 때도 있다.

결국 도구일 뿐이다. 포모도로가 맞지 않는다면 안 쓰면 된다. 중요한 건 "의도적으로 집중하는 시간을 만든다"는 원리 자체지, 반드시 25분이어야 한다거나 토마토 타이머를 써야 한다는 게 아니다.

#포모도로#생산성#시간관리#개발자#집중력

관련 글