- 기술 발표는 배경 설명이 필요하지만 초반에 청중을 잃기 쉬워, 먼저 문제 상황을 보여준 뒤 맥락을 채우는 구성이 더 효과적임
- 이 기법은 Lawrence Block의 글쓰기 조언처럼, 자연스럽게 쓴 첫 부분과 둘째 부분을 바꿔 긴장감 있는 장면을 앞에 두는 방식임
- 배경을 먼저 설명하는 발표는 이미 아는 사람에게는 반복이고, 모르는 사람에게는 아직 들을 이유가 부족해 집중도가 떨어질 수 있음
- JIT 기반 가상 머신 최적화 예시에서는 성능 프로파일, 개선처럼 보이는 코드 변경, 실제로는 더 느려진 데이터를 먼저 보여준 뒤 JIT·최적화·아키텍처를 설명함
- 초반에 풀고 싶은 문제를 던지면 프로그래머는 자연스럽게 해법을 찾으려 하며, 이후 설명을 따라갈 동기가 생김
문제를 먼저 보여주는 발표 구조
- 기술 발표에는 보통 맥락 설정과 해결할 문제 제시가 모두 필요함
- 다만 배경 설명부터 시작하면 발표 초반의 흡인력이 약해짐
- 이미 배경을 아는 청중에게는 반복 정보가 됨
- 배경을 모르는 청중에게는 아직 이해하려는 동기가 생기지 않음
- Kent Beck의 방법은 발표 자료를 원하는 순서대로 작성한 뒤, 첫 두 슬라이드나 문단, 장을 서로 바꾸는 것임
- Lawrence Block의 Telling Lies for Fun and Profit에서 가져온 기법임
- 이야기를 자연스럽게 쓰면 첫 장은 주인공 소개, 둘째 장은 사건 전개가 됨
- 두 장을 바꾸면 주인공이 위험에 처한 장면으로 시작함
- 긴장이 생긴 뒤에 인물 소개가 나오므로 독자가 그 인물을 알고 싶어질 이유가 생김
JIT 최적화 발표 예시와 청중 반응
- JIT 컴파일 기반 가상 머신 최적화 발표라면 일반적으로 JITing, 성능 튜닝의 기본인 파레토, 현재 머신 아키텍처를 먼저 소개함
- 하지만 핫스팟을 줄이는 일반적 최적화가 전체 성능을 더 느리게 만들 수 있고, 별문제 없어 보이는 변경이 큰 개선을 만들 수도 있음
- 두 번째 슬라이드에서 시작하는 구성은 첫 슬라이드에 판단할 재료를 바로 배치함
- 핫스팟이 보이는 성능 프로파일
- 개선될 것처럼 보이는 코드 변경
- 최적화가 실패했을 뿐 아니라 시스템을 더 느리게 만들었다는 데이터
- 그 뒤에 JIT, 최적화, 아키텍처 설명을 넣으면 배경을 아는 청중도 미스터리의 해답을 기다리며 따라오고, 배경을 모르는 청중도 집중할 이유가 생김
- 프로그래머는 문제가 제시되면 해결하려는 공학적 반응을 보이므로, 발표 첫 부분에서 함께 풀 문제를 던지는 구성이 효과적임