두 번째 과제 6
이진수가 준비한 최적화 빌드 시연을 본 뒤, 유일한 이진수 편 유인국이 말했다.
“와··· 어떻게··· 저라면 2주 동안 빌드 환경 준비하는 것도 벅찼을거에요...”
이재웅도 한마디 거들었다.
“이건··· 차원이 다르네요··· 도대체 뭘 어떻게 하면 이렇게 극단적으로 좋아질 수 있나요? 어떤 최적화를 했는지 상상조차 안 가네요.”
이재웅의 말에 이진수가 대답했다.
“진짜 어디가 느린지만 알게 되면, 최적화의 답은 빤히 나오게 돼 있습니다. 그래서 최적화는 '진짜' 어디가 느린지 볼 수 있는 ‘진짜’ 프로파일러가 핵심입니다.”
이진수는 황정호 파트장을 보고 말했다.
“그리고··· 유인국 님이 적용한 오브젝트 풀. 황정호 파트장님이 지적하신 메모리 손해는 거의 없습니다.”
이진수의 말에, 침묵을 유지하던 강신구 팀장이 입을 열었다.
“왜 그렇게 생각하시나요?”
“CPU 사용량은 평균 사용량을 따지는 게 맞습니다. 평균 성능이 좋아야 하니까요. 하지만 메모리는 다릅니다. 메모리는 평균 사용량은 최대한 높이고 최대 사용량을 줄여야 합니다.”
“왜죠?”
“하드웨어 특성 때문입니다.”
이진수의 대답은 강신구 팀장 외에는 아무도 이해하지 못했다.
강신구 팀장은 무언가 고민하다 다시 입을 뗐다.
“릴리즈 빌드 프로파일러를 만드는 데 가장 중요한 것은 무엇이라고 생각하시나요?”
“오버헤드입니다. 프로파일을 위한 데이터를 수집하는 행위 자체가 성능 측정 대상 함수에 영향을 주면 안 됩니다. 오늘 다른 분들의 예를 들면 Property 같은 것은 사실 릴리즈 빌드에서는 느리지 않습니다. 그 이유는 두 가지인데, 에디터의 프로파일러 자체가 조금씩 오버헤드를 가지기 때문에 단지 호출되는 횟수가 많은 가벼운 함수가 더 느리게 측정되는 경향이 있습니다. 그리고 또 하나는 컴파일러의 이슈인데···”
강신구 팀장이 이진수의 말을 끊었다.
“그 정도면 충분히 답이 된 것 같습니다. 마지막으로 하나만 더 묻겠습니다. 최적화 작업이 뭐라고 생각하시나요?”
“단순 반복 작업입니다. 보고 고치고 보고 고치고···”
주로 기술력이 높은 프로그래머들이 작업하는 최적화를 단순 반복 작업이라고 표현한 이진수. 강신구 팀장은 최적화 작업을 이진수와 똑같이 표현한 사람을 알고 있다.
“죄송한데 한 가지만 더 물어봐도 될까요?”
“네. 물어보셔도 됩니다.”
“진수 님은 신입이라고 알고 있는데, 최적화는 누구한테 배우셨나요?”
이진수는 고개를 반쯤 숙이고 5초쯤 생각에 빠졌다. 그리고 대답했다.
“베이지색 면바지에 체크무늬 셔츠를 입은 동네 아저씨요.”
이진수의 대답에 황정호 파트장이 역정을 냈다.
“아니... 이진수 씨. 대답 똑바로 못 해요? 뭐? 동네 아저씨?”
강신구 팀장이 역정을 내고 있는 황정호 파트장을 말렸다.
“황정호 파트장님. 이진수 님이 마음에 안 드시면, 테크니컬 팀으로 채용해도 될까요?”
흥분 했던 황정호 파트장은 갑자기 정신이 번쩍 들었다.
“네??”
“혹시 매그넘팀에서 이진수 님을 채용하지 않을 생각이시면, 제가 테크니컬팀으로 채용하겠다고 말했습니다.”
황정호는 다급히 머리를 굴렸다. 만일 오늘 있었던 일이 매그넘 팀에 소문이라도 난다면 상황이 자신에게 불리하게 돌아갈 것이 뻔하다. 더군다나 테크니컬팀에 인재를 빼앗겼다는 것을 알면 허윤 파트장이나 매그넘팀 팀장이 자신에게 책임을 물을 수도 있다.
황정호가 지금 상황을 회피하기 위해 이리저리 머리를 굴렸다.
그때, 이진수가 말했다.
“저는 안 갈 건데요.”
누구나 자기 능력에 대해 인정받고 싶어 한다. 그런 의미에서 고경력 프로그래머만 모아 둔 테크니컬팀에 들어간다는 것은 많은 프로그래머가 원하는 것이었다. 그런 제안을 너무 쉽게 거절해 버린 이진수. 동기들은 그런 이진수를 보며 놀랐다.
강신구 팀장이 물었다.
“왜죠?”
이진수는 한치의 망설임도 없이 무덤덤한 목소리로 말했다.
“저는 프로그래머가 되었기 때문에 게임 회사에 온게 아니에요. 게임을 만들기 위해 코딩을 배웠습니다.”
평소 기계처럼 감정 없기로 소문난 강신구 팀장. 그의 얼굴에 어렵풋이 미소가 보였다.
“네. 알겠습니다.“
그리고 강신구는 황정호를 바라보고 말했다.
“황정호 파트장님?”
“네넵!”
“제 의견은, 이진수 님이라면 더 이상 수습 과정이 의미가 없을 것 같네요. 바로 정규직으로 전환해서 실무에 투입시켜도 될 것 같습니다. 매그넘팀 팀장님과 허윤 파트장님에게도 동일하게 공유하겠습니다.”
황정호 파트장의 최대 장점은 빠른 태세 전환이다.
“아! 그렇죠? 역시 저도 그렇게 생각하고 있었습니다. 하하하···”
“아 그리고 할말이 있는데요.”
강신구는 주변의 시선을 의식 한 듯 말을 접었다.
“씁··· 아닙니다. 제가 따로 메시지 드릴게요.”
수습 평가 2차 과제는 이렇게 끝났다. 그리고 고졸에 늦깎이 신입 이진수는, 기적처럼 입사 1개월 만에 수습에 합격해서 정직원이 됐다.
강신구 팀장은 회의실 밖으로 나간 뒤, 황정호 파트장에게 메시지를 보냈다.
[강신구 : 파트장님. 제가 웬만하면 남한테 참견하는 성격이 아닌데요. 주변 사람들과 술 마시고 친목도모는 이제 그만 하시고, 코딩 공부 좀 하시는 게 좋을 것 같네요.]
"치이익" 뜨겁게 달구어진 불판에 돼지갈비가 익는 소리다. 이진수는 돼지갈비를 수시로 뒤집었다.
“양념 된 갈비는 양념이 쉽게 타기 때문에 자주 뒤집어 줘야 해요. 그래서 양념 갈비를 먹으려면 부지런해야 해요.”
이진수 앞에는 유인국이 앉아 있다. 이 둘은 2차 과제가 끝난 뒤, 함께 돼지갈비를 먹으러 왔다.
“진수 님. 오늘 정말 대단했어요. 1차 과제 때는 한 번쯤 운 좋게 얻어걸린 것으로 생각했거든요. 그런데 2차때는... 이런 건 운이 좋아서 될 일이 아니잖아요.”
이진수는 유인국의 칭찬에 아무런 반응을 보이지 않았다. 유인국이 계속 고기를 뒤집고 있는 이진수에게 말했다.
“진수 님이 2차 과제 도와주신 것도 있고, 오늘 고기는 제가 살게요. 인삼주가 아니라서 어쩌죠?”
“괜찮아요. 인삼주는 인국 님이 정직원 되면 그때 같이 마셔요.”
“정직원이라? 흐흐... 말만 들어도 좋네요. 그런데, 요즘도 인심주를 파는 데가 있나요? 못 본 것 같은데···”
“지방에 가면 많이 있어요. 그리고 판교에도 있을 거예요. 보통 삼계탕이나 염소탕 같은 보양식 파는 데 있죠.”
“염소탕이요? 염소도 먹어요?”
“네. 맛있어요.”
유인국은, 어떤 곳에서 살면 염소탕을 먹었을까 생각해 봤다. 이진수는 어떤 삶을 살면, 염소탕 한 번 못 먹어 봤을까 생각해 봤다. 이 둘은 이렇게 달랐다.
이진수는 여러 번 뒤집어 양념이 타지 않고 잘 익은 갈비 한 점을 유인국에게 건네줬다.
“오? 진수 님. 고기 정말 잘 구우시네요.”
“경상도 김 씨 아저씨가 요리를 잘하셨어요. 김 씨 아저씨랑 석 달 정도 합숙했었거든요. 그때 배웠죠.”
“합숙이요?”
“네. 제가 건설 일할 때, 전국 팔도를 다 돌아다녔어요. 이 지역 공사가 끝나면 다른 지역으로 이동해서 그 동네일을 또 하고 그런 식이었거든요. 그러다 몇 달짜리 공사를 하면, 아는 사람끼리... 아는 사람의 아는 사람도 많긴 했지만, 아무튼 함께 방을 구해서 같이 살고 그랬어요. 일종의 합숙인 거죠.”
“아··· 힘드셨겠네요.”
“아니요. 저는 새로운 지역에 가서 새로운 것을 보는 게 좋아서 일부러 먼 지역으로 지원했어요. 새로운 환경에서 새로운 사람들을 만나면 재밌잖아요. 세상에는 정말 다양한 사람들이 있더라고요.”
유인국은 추억에 젖은 눈빛으로 소주를 깔짝이며 말했다.
“새로운 만남도 좋지만··· 몇 달 정든 사람들이랑 헤어지면 또 섭섭하지 않으세요?”
“섭섭하죠. 그래도··· 아직은 헤어짐의 섭섭함보다, 새로운 만남에 대한 설렘이 더 클 때인 것 같아요.“
이진수와 유인국은 이런저런 얘기를 하며, 아주 잘 익은 고기와 차가운 소주로 한껏 취기를 올려다. 유인국은 의외로 주량이 셌다.
“그런데 진수 님··· 오늘 너무 통쾌했어요. 사실 저도 최인호 님이 주변 사람들 살살 무시하고 다니는 게 마음에 안 들었거든요. 저 대신 진수 님이 복수해준 것 같아서 기분이 좋았어요.”
“모르면 무시할 수도 있죠. 흐흐···”
“잘 모르는 사람은 무시해도 된다고요?? 진수 님 정말 그렇게 생각하세요?”
“아니요. 뭘 잘 모르는 사람은 다른 사람을 무시할 수 있다고요. 어떤 분야든, 정말 많이 노력하고 공부했던 사람은, 다른 사람을 무시할 수 없어요. 공부를 많이 하면 할수록, 내가 안다고 잘난 체했던 부분이 사실은 얼마나 작은 부분인지 알게 되거든요. 그러면 필연적으로 겸손해질 수밖에 없어요.”
유인국은 이진수의 말에 고개를 끄덕였다.
“뭐 하나 물어봐도 될까요?”
“네. 두 개 물어보셔도 됩니다.”
“진수 님은 진짜로··· 어디서 아니면··· 누구한테 코딩을 배웠어요?”
이진수는 자신의 방 한구석에 수북이 쌓여 있는 백여 권의 프로그래밍 책을 떠올렸다. 그리고 대답했다.
“동네 아저씨요.”
“베이지색 바지에 체크무늬 셔츠를 입은 그 아저씨요?”
“네."
Comment ' 2