본문 바로가기
Karu's .../Karu's Notes

재능과 노력

by 카루 (Rolling Ress) 2024. 4. 28.
반응형

Java 프로그래밍 시험이 있는 날이었다.

모두가 시험장에서 끙끙대고 있을 때 혼자 여유롭게 문제를 푼 뒤, 시간을 꽤 남기고 유유히 시험장을 빠져나왔다. 학생들이 가장 싫어하는 프로그래밍 시험문제는 단언컨대 '손코딩'이다. 말 그대로 필기구를 이용하여 직접 코드를 작성하는 것. IDE와 Copilot의 자동완성 기능에 익숙해진 나머지 어설프게 숙련된 사람은 손코딩 문제를 못 풀어내는 경우가 많다. 쉽지 않다.

그런 문제가 있을 때마다 항상 고득점을 쟁취해왔다. 그래서 지난 학기엔 학과 수석을 달성하기도 했었고. 이럴 때마다 여러 가지 생각이 든다. 고등학교 때 나는 공부를 못 했던 게 아니었구나, 그냥 안 한 거였구나. 내가 공부 편식이 심한 편이긴 하지만, 이 정도일 줄은 몰랐다.

알고리즘 문제를 보고 이를 바로 코드로 작성하기는 쉬운 일이 아니다. 그렇게 하는 사람은 두 부류가 있다. 정말 잘 하는 사람이거나, 아님 초짜거나. 후자의 경우 결국 전체를 지우고 처음부터 다시 쓰는 불상사에 이른다. 시험에서 그랬다간 시간이 부족한 건 둘째 치고 공간이 부족해서 패닉에 빠진다. (시간복잡도와 공간복잡도가 동시에 무한으로 가는 기염을 토한다.)

나는 처음에 문제를 읽고, 문제의 요구사항을 파악한 후 바로 구조화해서 코드를 작성하는 편이다. 쉽게 말하면 설계도를 머릿속에 그리자마자 바로 손이 움직인다. 그게 습관이 됐다. 물론 수정하는 일 따윈 없다.

"저런 그림을 15분 안에 그릴 수 있는 능력을 갖추기까지" 30년이 걸렸다는 뜻이겠지. 나도 비슷한 생각이다. 누군가 나에게 "어떻게 30분만에 이 문제를 풀었어?"라고 한다면, 나는 "8년 걸렸어."라고 답할 것이다. 남들이 지금 겪는 고통을, 나와 같은 누군가는 이미 몇 년 전에 미리 겪었을지도 모른다. 수 년이 지난 후 그것과 다시 조우한다면 정말 이상하리만치 아무것도 아닐 것이고, 지금 내가 보는 시험문제도 그러한 맥락을 같이 한다.

반응형


같이 보면 좋은 글


댓글