프로그래머를 위한 터치 타이핑

빠른 타자가 느린 코더일 수 있습니다

흔한 놀라움입니다: 일반 영어 단어로 90 WPM 이상을 내는 사람이 코드를 쓰려고 앉으면 50 WPM 타자보다 빠르다고 느끼지 못합니다. 이유는 단순합니다 — 표준 타자 테스트는 거의 전부 소문자와 공백입니다. 코드는 그렇지 않습니다. JavaScript나 Python 한 줄에는 단어 테스트가 거의 건드리지 않는 문자가 가득합니다: 괄호, 밑줄, 따옴표, 등호, 콜론 — 거기에 camelCase를 위한 소문자와 대문자 사이의 끊임없는 전환, 기호를 위해 숫자 줄로 뻗는 동작까지.

하나하나가 작은 지연입니다. 일주일에 수천 줄을 곱하면 ‘빠른 타자’와 ‘빠른 코더’ 사이에 진짜 격차가 생깁니다.

실제로 속도를 떨어뜨리는 문자

  • 괄호와 중괄호 — ( ) [ ] { } — 윗줄의 가장자리에 있어, 일반 글에서는 거의 가지 않는 새끼손가락에게 어색합니다.
  • Shift가 많이 필요한 기호 — _ = + : " — 보조 키를 누른 채 입력해야 해서 일반 글자와 다른 동작입니다.
  • camelCase와 snake_case — 단어 위주 타자 테스트가 훈련하지 않는 대소문자 사이의 잦은 미세 전환(또는 밑줄로 뻗기).
  • 들여쓰기 — 줄마다 공백 2개나 4개를 정확하고 일관되게 치는 일. 흐르는 문단은 이것을 요구하지 않습니다.

하나하나는 어렵지 않습니다. 부족한 것은 반복입니다. 대부분은 학교에서 알파벳을 연습했던 것처럼 이것들을 연습하지 않습니다.

일반 타자 테스트로 해결되지 않는 이유

단어 위주 타자 테스트는 흔한 단어 목록에서 뽑습니다 — 순수 속도와 정확도에는 유용하지만, 단어 목록은 설계상 대부분 평범한 소문자 글입니다. 여기서 WPM을 최고로 만들어도 !==를 칠 때나 세 줄 아래의 닫는 중괄호에 손을 뻗을 때마다 헤매게 됩니다. 이 기술은 정말로 다르며 별도의 연습이 필요합니다.

코드 타자를 따로 연습하기

코드 타자 게임이 바로 이 빈틈을 위해 만들어졌습니다. 무작위 단어가 아니라 실제 JavaScript와 Python 줄을 가져오고, 실제 에디터처럼 대소문자와 공백을 구분합니다. 잘 활용하는 몇 가지 방법:

  1. 들여쓰기를 건너뛰지 마세요. 앞쪽 공백은 줄의 일부이자 연습의 일부입니다 — 매번 정확히 치는 것이 목적의 절반입니다.
  2. 치기 전에 읽으세요. 코드에는 예측 가능한 모양이 있습니다 — (는 거의 항상 )가 올 것을 뜻하고, {는 }를 뜻합니다. 예측하면 쌓이는 작은 멈춤이 줄어듭니다.
  3. 새끼손가락이 키보드 가장자리를 익히게 하세요. 괄호와 기호는 윗줄의 먼 가장자리에 몰려 있습니다. 의도적인 연습이 ‘찾아야 하는 것’을 근육 기억으로 바꿔 줍니다.
  4. 두 언어를 다 쓴다면 둘 다 연습하세요. Python의 콜론과 들여쓰기 방식, JavaScript의 중괄호와 세미콜론 방식은 서로 조금 다른 반사를 훈련합니다. 코드는 영문 상태에서 입력하므로 한/영 전환을 잊지 마세요.

기초와 복리로 쌓입니다

기호 연습은 탄탄한 기초 위에서 가장 잘 됩니다. 아직 글자 키를 찾고 있다면 터치 타이핑 레슨부터 시작하세요. 중괄호, 대괄호, 비교 연산자를 따로 다루는 프로그래밍 기호 레슨도 있습니다. 기초가 자동이 되면, 코드 전용 연습이 WPM 점수와 실제 코드를 쓸 때의 체감 속도 사이에 남은 격차를 메워 줍니다.