사실 진수 이야기는 여기서부터
![DUMMY](http://cdn1.munpia.com/blank.png)
면접관인 박영진 팀장님은 움찔했다. 왜냐하면 면접자가 면접관에게 i++에 대해서 설명하겠다고 선언한 사람은 여태까지 단 한 명도 없었기 때문이다.
나는 박영진 면접관님께 양해를 구하고 면접실 칠판에 이렇게 적었다.
“i++를 컴퓨터 관점에서 보기”
“본격적인 기술 질문에 들어가기 전에 i++에 대해서 설명하고 싶습니다.”
박영진 팀장은 이진수라는 사람이 도대체 뭘 하려고 저러나 호기심이 들었다.
“네. 그럼 그렇게 하세요.”
나는 깊이 숨을 쉬었다. 그리고 속으로 되뇌였다.
“첫 문장만 운을 잘 떼면 돼. 그럼 나머지는 내 인생에서 스스로 만든 내 빽이 알아서 해줄 거야. 고등학생 때부터 10년 넘게 매일같이 읽어온 백여 권의 기술 서적. 그 두꺼운 책들을 읽으면서 항상 궁금해했던 것. 그 궁금증이 알아낸 지식이 알아서 나를 인도해줄 거야. 걱정하지 말고 일단 질러!”
이제 당당하게 육성으로 말 할 차례다.
“이제 시작하겠습니다. 우선 i++는 컴파일 단계에서 3단계로 나뉩니다. i가 없던 변수라면 i를 선언하고, i에 1을 더한 값을 임의의 변수에 저장하고, 그 저장된 임의의 값을 다시 i에 저장합니다.”
여기까지는 프로그래머들 사이에서 잘 알려진 내용이기 때문에 크게 임팩트 있는 내용이 아니다. 이제부터가 임펙트다.
“이 단계를 조금 더 세분화해서 설명해보겠습니다. i가 처음 선언된다는 것은··· 우선 i라는 변수가 어느 주소의 메모리에 저장되야 하는지부터 결정해야 합니다. 블라블라···”
나는 무려 20분 동안 i가 선언되는 과정을 아주 자세하게 설명했다.
“i를 선언하면 CLR은 가상메모리 시스템으로부터 메모리를 할당 받습니다. 이때 i가 필드 맴버인지 함수 내 선언인지에 따라서 힙 영역이냐 스텍 영역이냐···. 블라블라··· 이때 가비지 컬랙터는··· 블라블라···”
그리고 가상 메모리가 왜 필요한지에 대해서 10분간 더 설명했다.
“흔히들 가상 메모리 즉, Virtual Memory가 물리적으로 제한된 메모리보다 더 많은 양의 메모리를 사용하기 위한 것이라고 알고 있지만, 사실 가상 메모리의 주된 존재 이유는 프로세스간 포인터 값이··· 블라블라···.”
이제 남은 면접 시간은 20분.
그리고 10분 동안 i++를 하는 동안 발생할 수 있는 위험성에 관해서 설명했다. 주로 멀티코어 환경에서 스레드 침범에 대한 얘기다.
“실제로 프로세스가 멀티코어에서 실행된다는 것은 코드의 크리티컬 섹션이 겹치지 않는다고 해도 캐시 라인이 깨질 수 있기 때문에··· 블라블라···”
그리고 마지막 10분은 i++ 코드를 최적화하는 방법에 관해서 설명했다.
“i라는 변수는 struct 타입이기 때문에 클래스의 필드가 아닌 함수 내부에 선언함으로써 스택 영역의 메모리를··· 블라블라···”
오늘 내가 50분 동안 한 설명은 마치 1+1이 왜 2가 되는지. 1+1을 하는 과정에서 어떤 수학적 문제들이 존재하는지에 대한 설명을 한 것과 같다.
다행히 면접관은 내가 설명하는 50분 내내 아무 질문도 하지 않았고, 내 말도 경청해 줬다.
“진수 님. 잘 들었습니다. 저도 질문 하나 해도 될까요?”
i++를 50분 동안이나 설명했는데, 질문을 한다니? 작전 실패인가? 혹시 면접 시간이 50분이 아니었던가? 내가 모르는 것을 물어보면 어쩌지? 나는 예상치 못한 상황에 머리를 굴리기 시작했다.
“진수 님 이력서 포트폴리오에 최적화 관련된 내용이 많던데, 진수 님이 생각하는 최적화의 핵심은 뭐라고 생각하시나요?”
최적화는 단순 반복 노동이라고 했던 아저씨의 말이 떠올랐다. 아저씨가 한 말이라면 그것은 언제나 짬바에서 나오는 믿을만한 경험이다.
나도 모르게 미소를 지었다.
“최적화는 단순 반복 노동입니다. 측정하고 고치고 측정하고 고치고의 영원한 반복입니다.”
“흠... 최적화를 단순 반복 노동이라고 표현하시다니··· 아무튼 좋습니다. 이렇게까지 코드가 동작하는 원리를 상세하게 아는 개발자는 드문데 저희가 인재를 만난 것 같네요. 고 이사님이 저한테 직접 면접 보라고 하신지 이유를 알 것 같습니다.”
“고 이사님요?”
“저희 회사 기술 총괄 이사님이십니다. 혹시 아시는 분인가요?”
“아니요.”
“네. 그럼 50분 동안 고생 많으셨습니다. 좋은 결과 있길 바랍니다.”
“감사합니다.”
면접실을 나오자 고주영이 나를 기다리고 있었다. 표정이 좋지 않아 보였다.
“왜 그래? 면접 잘 못 봤어?”
“잘 모르겠어요. 압박면접 당한 것 같아요.”
“왜?”
“질문에 대답하면 꼬투리 잡아서 또 질문하고, 대답하면 또 질문하고··· 그래서 제 지식수준이 금방 탈로 났어요···”
“질문을 많이 했어?”
“네. 50분 동안 50개 넘게 질문한 거 같아요.”
“와··· 질문 엄청 많이 했네...”
“진수 님은 질문 몇 개 했어요? 답변에 꼬투리 잡지 않았어요?”
“난 면접관님이 질문 딱 하나 했어.”
“네? 면접 중간에 불합격된 거에요?”
“아니야. 오히려 50분 넘게 면접 봤어.”
“그럼 질문 하나에 답변을 50분 동안 한 거에요?”
“그건 아니고···”
나는 i++ 작전에 대해서 주영이에게 설명했다.
“어때? 이 방법을 쓰면 면접관에게 질문받지 않고도 면접 통과할 수 있어. 아주 훌륭한 전략이지?”
“진수 님··· 보통 개발자는 i++로 10분도 얘기 못해요···”
“???”
2주 뒤. 3N게임즈의 면접 결과는 생각보다 빨리 나왔다.
고주영 합격. 그리고 이진수 합격.
우리 둘은 진심으로 기뻐했다. 이번 3N게임즈의 공채는 프로젝트에서 오픈하는 수시채용이 아닌 회사 차원에서 진행한 공채였다. 그래서 주영이와 내가 같은 팀으로 배정될지는 모른다. 어쨌든 우리가 같은 회사로 이직한다는 사실이 기뻤다.
그리고 그 기쁨 뒤에는 민희 씨가 있었다. 최근 한 달 동안 나는 이력서와 면접 준비로 바쁜 시간을 보냈다. 그래서 우리는 자주 보지 못했다. 더군다나 이제 내가 이직하면 민희 씨를 회사에서 볼 수 없다.
나는 민희 씨를 위한 선물을 준비하기로 했다. 민희 씨에게 메시지를 보냈다.
“민희 씨. 이번 주는 종로에서 볼까요?”
“네 좋아용!”
토요일 점심. 종로역 근처.
나는 민희 씨를 데리고 귀금속 골목으로 갔다. 그리고 미리 골라둔 심플한 커플링을 몇 개 보여줬다. 민희 씨는 내 예상보다 더 기뻐했다. 작은 선물을 줘도 행복해하는 착하고 예쁜 여차친구다.
“진수 씨··· 우리 커플링 맞추는 거예요?"
“네. 이제 제가 이직하면 평일에 보기 힘드니까요. 그리고···”
“그리고 뭐요?”
민희 씨는 기대에 찬 두 눈으로 나를 가까이서 바라봤다.
“이제 저희도 서른이니까. 조금 늦었지만, 서른 살 기념 선물이에요. 이제 저희도 31살이니까 만으로 딱 서른이네요.”
“···”
민희 씨는 아무 말 하지 못했다.
“너무 슬퍼하지 마세요. 요즘은 사람들이 다 젊게 살아서 서른 살이면 아직 청춘이에요.”
우리에게 반지를 팔고 있던 귀금속 사장님도 거들었다.
“에이~ 그래. 여자 친구가 되게 동안이네. 20대라고 해도 믿겠어. 아하하하.”
그때 침묵을 깨고 민희 씨가 말했다.
“진수 씨···”
“네!”
“저··· 만으로 올해 29살이에요···”
그러고 보니 나는 민희 씨가 몇 살인지 들어본 기억이 없다. 다만, 미믹 게임즈 시절 입사일이 나와 몇 달 차이 나지 않는다라고 알고 있을 뿐. 지금 다시 생각해 보니 입사 동기라고 꼭 동갑일 이유는 없었다.
“아··· 민희 씨는 저보다··· 한 살··· 어리네요···?”
우리 대화를 지켜보던 귀금속 사장님도 덩달아 당황했다.
“아니··· 여기 여자친구분 나이가 동안이네. 어머머 나이가 동안이라니 미안해요··· 나도 당황해서 그만··· 아니 남자친구가 어떻게 여자친구 나이도 몰라 그래? 아니지 사귄 지 며칠 안됐으면 모를 수도 있지. 이제 서로 알아가는 단계라고 생각해~!”
“저희 사귄 지 5달 됐어요···”
나는 오늘도 삐진 민희 씨를 달래느라 진땀을 뺐다. 그래도 다행히 내가 원하던 커플링은 맞출 수 있었다.
2015년 3월. 봄 보다 겨울에 가까운 추운 3월이다. 하지만 우리의 마음은 그 어느 때보다 뜨거웠다.
나와 고주영은 당당하게 판교역에서 하차했다.
“와아아!! 진수 님 주변을 보세요. 모두 다 개발자 패션이에요!!”
“개발자 패션이 뭐야?”
“개발자만 모르는··· 그런 공통된 패션이 있어요.”
“너도 개발자잖아?”
“아무튼 주변을 보세요. 이제 저희도 굴지의 IT 회사가 모여있는 판교에서 일하게 됐다고요!”
“그래···”
3N 게임즈 입구에는 이미 나와 주영이 같은 신규 입사자를 안내해 주기 위한 인사팀 직원들이 나와 있었다. 그들은 우리에게 이것저것 회사에 대한 기본적인 규칙을 설명해 주었다.
10시가 조금 넘자 각자 팀에서 입사자를 하나 둘 데리고 가기 시작했다.
주영이는 젊고 미국물을 먹은 것 같은 스타일이 독특한 사람이 데리고 갔다.
“고주영 님이죠?”
“넵!”
“안녕하세요 저는 찰리 팀 팀장 찰리입니다.”
주영이는 찰리 팀 팀장인 김찰리 님을 따라갔다. 나는 어떤 팀으로 가게 될지 설렘이 가득했다. 나를 면접 봤던 분이 나를 데리고 오지 않을까 하고 주변을 둘러봤지만, 그 면접관은 보이지 않았다. 대신 마르고 키가 크면서 목소리가 굵은 사람이 내게 말을 걸었다.
“이진수 님 맞으시죠?”
“네 안녕하세요.”
“저는 매그넘팀 클라이언트 파트 파트장을 맡고 있는 허윤입니다.”
허윤 파트장님은 나까지 총 5명의 신입을 데리고 갔다. 그리고 그는 우리 다섯 명의 신입에게 간단하게 프로젝트를 설명해 줬다.
마른 체형이지만 굵은 목소리. 그리고 예의 있지만 정은 없어 보이는 그런 말투였다.
“자··· 저희 프로젝트 이름은 매그넘입니다. 모바일 RPG 게임을 만들고 있고요. 개발 인원이 약 70명 정도 되기 때문에 팀치고는 많이 큰 편이죠. 그리고 프로젝트 구성원은 계속 늘릴 생각입니다. 질문 있나요?”
옆에 이를 모를 내 입사 동기가 질문했다.
“혹시 매그넘 팀에 클라이언트 개발자는 몇 명 정도 되나요?”
“네. 지금은 20명 조금 안됩니다. 여기 다섯 분 중 몇 명이 수습을 통과할 수 있냐에 따라 최종 인원이 바뀔 것 같네요.”
우리 다섯은 조금 전까지만 해도 모두 설렘의 미소를 짓고 있었다. 그런데 파트장님이 수습 합격에 대한 발언을 하자 모두 미소를 감췄다.
허윤 파트장님이 이런 분위기를 일부러 노린 것인지는 모르겠지만, 싸늘해진 분위기 속에서 말했다.
“저는 진취적인 사람을 좋아합니다. 큰 프로젝트 일수록 각자의 개성이 강하게 드러나죠. 그러니 각자 본인이 무얼 잘 하는지 혹은 무엇을 하고 싶은지 말해보세요.”
싸한 분위기 속에서는 아무도 총대를 메고 싶어 하지 않는다. 하지만 나는 궁금한 것이 있었다.
“질문해도 될까요?”
Comment ' 0