더북(TheBook)

Note ≣ 체험담

수년 전, 자그마한 소프트웨어 회사를 차린 절친이 어떤 개발자를 채용하려는데 내 도움이 필요하다고 연락을 했습니다. 면접은 기술자 대 기술자로 사람들을 경험할 멋진 기회여서 나는 주저하지 않고 수락했습니다. 친구가 관심 있는 그 개발자는 경력은 얼마 되지 않았지만 명문대 출신에 아주 영리한 인재였습니다. 저는 이 친구와 꽤 오랫동안 자바, JPA, 스프링을 비롯해 널리 쓰이는 자바 프레임워크에 대해 이야기를 나누었습니다. 새로운 지식을 적극적으로 받아들여 시도하려는 의지가 강했던 그는 제 질문을 잘 받아넘겼습니다.

면접은 한 시간 정도 지나 끝났지만, 우리는 격의 없이 대화를 이어갔습니다. 최근 읽은 책이 뭐냐고 제가 묻자 그는 <헤드 퍼스트 디자인 패턴>을 꼽았습니다. “이 책에 나온 패턴 중 가장 관심 있거나 이야기하고픈 패턴은 뭔가요?”하는 질문에 예상대로 그는 싱글톤 패턴을 꼽았습니다. 저는 본능적으로 눈치챘습니다. ‘싱글톤 패턴이 그나마 구현하기 쉽고 간단해서 안전한 대답이라고 판단했겠지.’ 실은 그렇지 않습니다. 만약 그가 장식자 같은 패턴을 골랐다면 저는 싱글톤처럼 단순해 보이는 패턴을 더 깊게 파고들진 않았겠죠.

제가 물었습니다. “싱글톤은 어떻게 구현합니까?” 그는 고전적 프라이빗 생성자 메서드를 언급했는데 필경 <이펙티브 자바> 책은 읽어보지도 않았고 이늄(enum) 타입이 싱글톤이라는 사실조차 모르는 게 분명했습니다. 다시 물었습니다. “그런데 만약 누군가 리플렉션(Reflection)으로 생성자 접근 수준을 퍼블릭(public)으로 바꾸면 어떻게 될까요?” 뜨악한 표정을 짓는 그의 눈빛을 보니 집에 돌아가면 열심히 정답을 찾아볼 것 같았습니다. 결국, 해답을 말하진 못했지만 전혀 말도 안 되는 소리를 지어내진 않았습니다. 리플렉션이 뭘까 열심히 궁리하는 듯했습니다.

정답은 못 맞혔을지언정 강한 학습 의지와 열정/끈기를 보여준 그는 마침내 입사했고 지금껏 제가 함께 일한 최고의 개발자 중 한 사람이 되었습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.