개발자의 공부, '플래시카드'가 생각보다 진짜 답일 수 있어요
“어제 분명히 봤는데 왜 기억이 안 나지?” 개발 공부하면서 이 좌절, 다들 겪어보셨죠. 새 언어 문법, 알고리즘, 단축키, 라이브러리 API... 볼 때는 이해했는데 며칠 지나면 증발해요. Lesley Lai라는 개발자가 쓴 '플래시카드에게 보내는 러브레터'는, 이 문제를 플래시카드와 간격 반복(spaced repetition)으로 정면 돌파한 경험담이에요.
왜 우리는 배운 걸 이렇게 빨리 까먹을까
사람 뇌에는 '망각 곡선'이라는 게 있어요. 뭘 배우고 나면 시간이 지날수록 기억이 뚝뚝 떨어지거든요. 근데 재밌는 건, 완전히 까먹기 직전에 딱 한 번 다시 떠올리면 그 기억이 훨씬 오래 버틴다는 거예요. 이 '떠올리기 딱 좋은 타이밍'을 계산해서 복습 시점을 자동으로 잡아주는 게 바로 간격 반복이에요. Anki 같은 도구가 이걸 대신 계산해줘요. 오늘 맞힌 카드는 며칠 뒤에, 또 맞히면 더 나중에, 틀리면 내일 다시... 이런 식으로 간격을 점점 벌려가면서요.
여기에 하나 더 중요한 원리가 있어요. '인출 연습(active recall)'이에요. 이게 뭐냐면, 노트를 눈으로 다시 읽는 '수동적' 복습 말고, 답을 안 보고 머리에서 억지로 끄집어내는 '능동적' 복습이에요. 플래시카드가 강력한 이유가 이거예요. 앞면 질문을 보고 뒷면을 확인하기 전에 반드시 '내가 먼저 답을 떠올려야' 하거든요. 이 '끙끙대며 떠올리는 순간'이 기억을 진짜로 새기는 순간이에요. 그냥 읽기만 하면 뇌는 “아 이거 아는 거네” 하고 착각만 하고 넘어가요.
개발 공부에 어떻게 써먹느냐가 관건
여기서 오해하면 안 되는 게, 코드를 통째로 외우자는 게 아니에요. 플래시카드가 빛나는 건 이런 것들이에요. 자주 쓰는데 자꾸 까먹는 셸 명령어나 git 옵션, 언어별 관용구(예: 파이썬에서 리스트 뒤집는 법), 자료구조별 시간복잡도, 디자인 패턴의 핵심 아이디어, 단축키 같은 거요. “매번 구글링하는데 매번 까먹는 것”이 있다면, 그게 바로 카드로 만들 1순위 후보예요.
좋은 카드를 만드는 요령도 있어요. 핵심은 '최소 정보 원칙'이에요. 카드 한 장에는 딱 하나만 담으세요. “HTTP 상태 코드 다 적어라” 같은 카드는 최악이에요. 대신 “요청은 성공했지만 반환할 내용이 없을 때의 상태 코드는?” → “204 No Content” 이렇게 쪼개야 해요. 잘게 쪼갤수록 인출도 쉽고, 어떤 부분에서 막히는지도 정확히 드러나거든요. 그리고 가능하면 '왜'를 묻는 카드를 섞으세요. 단순 암기(이 함수 이름 뭐?)보다 이해(이 상황에서 왜 이 자료구조를 쓰지?)를 묻는 카드가 실무에 훨씬 오래 남아요.
업계 맥락에서 보면
사실 이 방식은 의대생이나 언어 학습자들 사이에선 이미 정석이에요. 방대한 지식을 장기 기억에 눌러 담아야 하는 직군이니까요. 개발도 본질은 비슷해요. 넓고 자잘한 지식을 오래 유지해야 하잖아요. 다만 개발자는 “필요하면 검색하면 되지”라는 문화가 강해서 이 방법을 덜 써왔을 뿐이에요. 물론 다 외울 필요는 없어요. 하지만 매번 검색하느라 사고 흐름이 끊기는 핵심 지식만큼은 머릿속에 상주시켜 두는 게, 생각보다 개발 속도와 자신감을 크게 바꿔줘요.
한국 개발자에게
당장 오늘부터 해볼 수 있어요. Anki 깔고, 이번 주에 “어? 이거 저번에도 검색했는데” 싶었던 것 세 개만 카드로 만들어보세요. 정보처리기사나 CS 면접 준비하는 분들한테도 잘 맞고요. 부담 갖지 말고 하루 5분, 출퇴근길에 카드 몇 장 넘기는 것부터 시작하면 돼요. 중요한 건 완벽한 덱을 만드는 게 아니라, '까먹기 직전에 다시 떠올리는' 리듬을 붙이는 거예요.
정리하면
- 망각 곡선 + 인출 연습, 이 둘을 자동화한 게 간격 반복 플래시카드예요.
- 통암기가 아니라 '자주 까먹는 핵심 조각'을 겨냥하는 게 포인트예요.
🔗 출처: Hacker News