스타트링크 라이브 사전 인터뷰: 류원하(Being)님 Part 1

오늘은 류원하님을 모시고 여러가지 이야기를 청해보았습니다. 원하님께서 피곤하다를 연발하실 때까지, 영혼까지 빨아먹고(?) 온 인터뷰였습니다. 파트 원 시작해보지요 =)

S: 자기소개 부탁 드립니다.
류원하: 저는 넥슨GT 기술전략실 창조기술팀에서 일하고 있는 류원하라고 합니다. 명함에는 Full-stack dev라 쓰긴 했는데, ‘Professional Problem Solver’라고 소개할 때도 있습니다. 저희 팀 채용공고의 포지션 제목이기도 하고요. 네, 창조기술팀에서 professional problem solver를 뽑고 있습니다. 기승전채용인데.. 아무튼.. 사람 뽑습니다.
S: 아는 사람은 잘 아는 유명인(?)이지만 익숙치 않은 분들도 계실 것 같아요.
류원하: 네, 알고스팟의 빙이고요! 악플 많이 다는 사람입니다. 단칼에 악플 다는 사람 보면 닉네임 보면 다 빙이예요. 악플 다는 게 제 업무고요.
S: 그, 아시죠? 그렇게 말씀하시면 이 인터뷰 올라갈 때는 바로 밑에 진짜 악플 캡쳐 올라가는거..
스크린샷 2016-01-27 오전 4.37.49.png
차가운 도시 개발자. 하지만 내 고양이에겐 따듯하겠지…
류원하: 아 예, 뭐 제가 좀 까칠해요. 이거(알고리즘 문제풀이) 공부하시는 분들께는 그걸로 제일 유명할 것 같네요. 알고스팟의 질문과 답변 게시판에 질문 올리면 가차없이 “공부 좀 더 하셔야겠는데요?” “문제는 나중에 푸시고요 이거나 보세요!” 하면서 링크 던져주는 아저씨.. 라고 생각을 해주시면 될 것 같습니다.
S: 자기 자랑을 좀 해 주시죠.
류원하: 음.. 뭐가 있을까요. 한 때 생계형 대회 참가자였죠.
S: 주로 어느 대회에서?
류원하: 어.. ROI(Return On Investment) 많이 나오는 거? (웃음)
S: 그렇죠. SK Planet Code Sprint 순위에서 많이 뵌..
류원하: 예, SK Planet에게 심심한 감사의 말씀을… 맥북 하나는 팔았고 하나는 잘 쓰고 있습니다.
S: 생계형 대회라는게 가능한 말인가요? 하긴 뭐 예전에는 상금이 꽤 걸린 대회가 많았죠. 요즘은 SCPC가 새로운 강자로 떠오르고 있지만..
류원하: SCPC 못 나가서 아쉽네요. 뭐 나갔어도 워낙 쟁쟁한 친구들이 많아서 힘들었을 것 같아요. 작년까지는 잘 알려지지 않은 대회, 툭 치고(?) 빠질 수 있는(?) 것들을 참가했었습니다. 최근에 수상한 대회중에는 암호구현 경진대회(블록암호 LEA 경진대회)가 있네요. 그냥 간단했어요. 암호 잘 모르고요. (웃음) 그게 저희 전공수업 기말 프로젝트였거든요. 대회 참가가 의무는 아니었어요. 근데 상금을 봤더니 500만원이더라고요.
류원하: 어떤 새로운 알고리즘을 디자인하라는 건 아니었어요. 국가 표준으로 지정된 새로운 알고리즘이 하나 있는데, 그 레퍼런스 구현을 효율적으로 하는 방법을 찾거나 다양한 어플리케이션을 만들 수 있는 방안을 찾는 대회였죠. 이 알고리즘의 특징이 AES보다 빠르다는 건데, 제가 그걸 30%정도 더 빠르게 만들었어요. 어떻게 했냐면 그냥 근성으로. (웃음) 어셈을 한 줄 한 줄…
S: 뭐라고요?! 근성이란게 이런 뜻이었군요.
류원하: 당연히 어셈 해야죠. 안 하면 안 돼요. 그냥 알고리즘 모르고요! 알고리즘 잘 몰라요. 암호 잘 몰라요. 이게 왜 뭐 암호학적으로 안전한 알고리즘인지 잘 몰라요. 그냥 똑같이 구현하면 되는데 어떻게 하면 빨리할거냐가 관건인데..
S: 한 땀 한 땀..
류원하: 네, 한 땀 한 땀 어셈을 짜는거죠. 인스트럭션을 최대한 효율적으로 사용해서요. 생각보다 시간을 많이 썼어요.
S: 500만원 받아도 될 것 같네요.
류원하: 작년에 NDC 에서 한 달 반 동안 만든 것에 대해 발표도 했습니다. 또 여기저기서 일한 경험이 많은 편이고요.
S: 어디서 어떤 일을 하셨나요?
류원하: 2008년에 스타트업도 한 번 했었고요. 2008년에는 참고로 서브프라임 모기지 사태라는 게 있었습니다. (웃음) 좀 굶어 봤고요..
S: 그게 스타트업에 무슨 영향이 있었나요?
류원하: 그 때는 스타트업이란 말을 잘 안 썼고, 벤처라는 말을 더 많이 썼는데, 투자도 다 틀어지고 하면서 좀 힘들었죠. 그 당시엔 학부 입학하고 1년 반 지난 시점이었으니 완전 꼬꼬마였고 세상 물정 모르고 그냥 선배들이 하자고 하니 따라했는데, 뜻밖에 좀 고생을 했었죠.
류원하: 그 이전에도 잠깐 작은 스타트업에서 방학 때 인턴을 하기도 했고, 병특 3년 하면서 여기저기 다양한 회사에 있었습니다. 미국에 있는 Fancy와 리모트로 일을 좀 했었고요. 이 때 구글 글래스 초기에 앱을 만들어보기도 했죠.
류원하: 그리고 팔로알토에 Palantir라는 회사에서 6개월정도 인턴을 했었고.. 그거 말고도 알바를 하거나 여기저기 끼어들어서 구경하거나 했던 적도 많네요. 다양한 조직체계에서 다양한 형태로 업무를 했고요. 스타트링크 라이브 웹사이트에 썼듯이 잡캐라는 타이틀이 제게 잘 어울린다고 생각합니다. 잘한다는 뜻은 아니고 그냥 다양한 걸 해봤다는 의미예요.
S: 분야가 딱 정해져있는 건 아니었군요.
류원하: 예전에는 고등학교를 지나 대학을 진학하고 나면 제가 해야할 일이 명확해질 줄 알았는데, 아니더라고요. 나름대로는 그 때 그 때마다 지금은 이걸 하고, 다음엔 이걸 해야지 하는 것들을 생각하긴 했는데, 지금 다시 생각해 보면 뭔가 뚜렷한 방향성이 있었던 것 같진 않고요. 저도 그냥 남들처럼 계속 고민하면서 사는 것 같습니다.
S: 필드를 옮겼을 때 어려운 점은 없었나요? 어떻게 보면 CS에도 여러 분야가 있고, 한 번 정하면 벗어나기 힘들 것 같은 인상이 있는데.
류원하: 저는 좋은 엔지니어 내지는 살아남은 엔지니어가 꼭 특정 지식이 많기 때문은 아니라고 생각을 해요. 그것 보다는 여러 soft skill들, 학습 능력, 얼마나 빨리 적응하고 받아들이고 환경을 만들어나갈 수 있느냐 그런 것들이 더 중요하다고 생각을 해요. Soft skill은 알고리즈믹한 문제 해결력 보다는 일반적인 문제 해결력, 커뮤니케이션 능력, 문제에 도착했을 때 어떻게 싸워나갈것인가 등이 주가 되겠죠. 정말 특정한 분야의 지식이 필요하면, 내가 스스로 배우거나 그걸 아는 누군가에게 물어보면 돼요. 그 모든 걸 사람이 다 알고 살 순 없잖아요. 말하자면 indirect lookup을 하는데, 내가 이걸 알기 위해서는 어디로 가면 된다는 정도만 알면 되는 것 같아요. 공부하려면 어디서부터 출발을 해야하고, 아니면 누구한테 물어보면 되고, 구글링을 하려면 무슨 키워드로 구글링을 하면 되고, 그 정도까지만 알면 좀 더 커뮤니케이션 능력이나 문제를 보고 큰 그림을 그리는 그런 것들이 더 중요해지죠.
S: 근데 사실 어디서부터 시작해야 할 지 아는 것도 쉽지는 않은데요.
류원하: 그렇죠. 제가 종종 이런저런 분들을 뵙다 보면 ‘내가 이제 뭘 공부해야 할지 모르는 상황이어서 되는대로 공부를 했어요. 이런 게 아예 존재하는 줄 몰랐어요’라고 하시면서, 자기가 알고 있는 범위 밖의 세상이 어떻게 생겼는지를 잘 모르는 분들이 계세요. 그래서 어떻게 보면 학부 때 다양한 과목을 들어 보는게 성적 신경 안 써도 된다는 전제하에서는 괜찮을 수 있어요. 왜냐면 학부 때 아니면 여러 분야를 다양하게 접할 기회가 드물거든요. 전산학을 공부한다는 것은, 그러니까 컴퓨터공학과나 전산학과를 나온다는 건 어떤 최소한의 큰 그림, 즉 어딜 가면 뭐가 있고 어디서는 뭘 한다 그런 것을 아는 것만 해도 저는 의미있고 중요한 일이라고 생각해요.
S: 네 뭐 사실 그걸 위한 학부죠.
류원하: 거기서 당장 뭔가 최신의 쓸모있는 지식을 배운다는 생각이 아니라, 그냥 ‘아, 여기서는 이런 식으로 사고하고 이런 식으로 개념들을 설명하려고 노력하고, 나중에 더 깊이 파고 들어야 할 일이 생기면 이런 것들을 보면 되겠구나’ 하는 정도만 하면 학부를 성공적으로 나온 게 아닌가 하네요.
S: 넥슨GT에서는 어떤 일을 하고 계신지 간단하게 이야기 해 주세요.
류원하: 어, 간단하게요?… 제가.. 오늘 아침에 실장님과.. 제가 있는 곳은 창조기술팀인데 실장님 포함 3명 밖에 없습니다. 문은 열려 있습니다!
류원하: 아무튼 실장님과 좀 있다 인터뷰 해야하는데 무슨 팀이고 뭐하는지 물어볼 것 같은데 뭐라고 해야 할까요 하고 질문을 했어요. 한참 고민을 하시더군요.. (웃음) 내부적으로는 무슨 일을 한다는 기준이 있는데, 설명을 해 드리자니 범위가 꽤 넓어서 딱 정리해 말해드리기가 어렵네요. 게임을 직접 만들지는 않고요. 기술적 의사 결정이나, 리서치, 프로젝트 진행 방향 등을 프록시를 해 주거나 직접 뛰어들어서 도와주는, 그런 해결사일 때도 있고 컨설턴트일 때도 있고 조언자일 때도 있는, 그런 역할을 하고 있습니다.
S: 회사의 엄마같은 존재군요?
류원하: 어.. 딱히.. 그렇진 않고요. 당장 버그가 나면 뛰어 들어가기도 합니다. 아, 엄만가?
류원하: 어쨌든 좀 더 다양한 프로젝트들이 좀 더 게임 개발에만 집중할 수 있게, 게임 외적인 개발들을 좀 더 줄일 수 있는 방향으로, 혹은 생산성을 높일 수 있는 방향으로, 장기적인 방안들을 고민하기도 하고요. 기술적으로 좀 시간을 두고 풀어야 할 문제들도 저희가 풉니다. 이를테면 저는 최근에는 넥슨GT에서 이번에 새로 런칭한 모바일 게임 ‘슈퍼판타지워’의 여러가지 지표나 데이터를 뽑아서 볼 수 있는 분석 infrastructure를 만들고 있습니다.
류원하: 아까 말했듯 내부적으로 기준이야 있지만 느슨하고 역할이 딱히 정해져 있지는 않고요, 일을… 저희는 항상 개발자를 뽑고있는데.. (웃음) 어떤 백그라운드에 어떤 능력을 가지신 분이 오더라도, 일을 억지로 만들지 않아도 일이 있어요. 저희 일 되게 많거든요. 하고 싶은 일 되게 많아요. 이제 그 일에 가장 적합한 사람이 오면 시작할 수 있는 일들이 많기 때문에 언제든지 문은 열려 있습니다. 일은 많고 사람은 적어요.
S: 발표 내용에 대해 간략히 소개해 주세요.
류원하: 스포일을 너무 많이 하면 재미 없을 것 같고요. 약간 듣기 좋은 얘기를 많이 할 거예요. (웃음)
류원하: 그래도 제가 적어도 알고리즘 문제 해결 분야에서는 웬만한 사람들 수준은 한 것 같은데요..
S: 웬만한 사람 정도요?
류원하: 아 그러니까, 소위 말하는 경시대회 출신, 그런 잘하는 사람들과 비교해서요. 저도 그만큼 노력을 해왔다고 생각을 하는데.. 아무튼 그런 입장에서 제가 첫 직장을 구했을 때, 스타트업을 했을 때, 아니면 병특으로 회사에 들어갔을 때, 실리콘밸리에서 일을 했을 때, 그 때 그 때마다 느끼는 바들이 조금씩 달랐거든요. 분명히 근데 이것들 중에 상당수는 저의 그런(알고리즘 문제 풀이를 했던) 백그라운드에서 왔다고 생각을 했고, 그런 생각들을 정리해 보니까 몇몇 특성들은 대회를 어느 정도 깊게 준비한 사람들에게 공통적으로 나타나는 장점과 단점인 것 같더군요. 이런 장점을 알면 장점은 더 가다듬고 포커스를 맞춰 공부할 수 있고, 단점을 알면 ‘내가 알고리즘 공부만 할 게 아니라 다른 것을 좀 더 보충해야겠다. 그러기 위해선 뭘 준비를 해야하는가’, 아니면 ‘회사에 들어갔을 때 내가 무슨 마음가짐으로 일을 해야하는가’ 등의 의문에 대해서 준비를 하는 데 도움이 되지 않을까 합니다. 그런 생각으로 발표를 준비하고 있어요.
S: 아까 알고스팟 얘기를 하면서 했던 얘긴데, 저도 가끔 질문 게시판을 살펴보긴 하거든요. 정말 댓글 열심히 다세요. 어떻게 보면 좀 PS와 멀어지기도 하셨을텐데 여전히 커뮤니티 활동을 활발히 하시는 이유가 있는지요.
류원하: 어, 키워들, 악플러들의 심정을 좀 알 것 같아요. 아 이런 재미로 악플을 다는구나. (웃음)
류원하: 농담이고요. 제가 지금까지 있었던 커리어나 여러가지 받았던 영향, 그간 내렸던 결정들을 돌이켜 보면 알고스팟에 함께 했던 분들의 도움을 받은 게 많아요. 알고스팟 운영진들, 선후배들. 거기에 일정 부분 부채의식, 그러니까 받은 만큼 기여를 해야한다는 생각이 있어요. 제가 한창 할 때는 일을 많이 벌여 놨는데, 지금은 사실 한동안 조용했잖아요. 그게 제가 벌여놓고 수습을 안 한 게 아닌가 하는 생각을 가끔 해요. 그래서 질문에 답변을 다는 형태로라도 기여를 하면서 사이트를 유지를 하려고 하죠. 무플보다 악플이 낫다고… (웃음) 질문 올렸는데 일주일 동안 답변 안 달리는 것 보단 악플 하나 달리는 게 낫거든요. 그래서 한가할 때 알고스팟을 종종 들어가죠.
S: 이런 저런 일을 많이 하셨다고 하는데.. 누군가가 말하길 ‘대회를 성공적으로 개최하는 법: 류원하에게 맡긴다’라고도 하더군요. 완벽주의 스타일로 많이 알려져 있는 것 같아요. 누구라곤 말을 못하겠지만(?!) 누군가는 남들을 피곤하게 하는 스타일이라면 원하님은 남들도 피곤하게 하면서 자기 자신은 더 피곤하게 하는 스타일이라고..
류원하: 와하하 듣기만 해도 피곤하네요.
S: 아무튼 뭔가를 많이 하셨는데, 뭘 하셨는지 얘기를 해 주세요.
류원하: 모의대회 진행을 주로 많이 했죠. 대회를 진행하는 게 사실 굉장히 어려운 일이예요. 생각보다 노동력도 많이 들고, 아무리 열심히 준비를 해도 어디선가 구멍이 나고요. 근데 말씀하셨듯이 제가 그런 완벽주의적인 경향이 있어서인진 모르겠지만, 저는 꼭 알고스팟이 아니더라도 효율적으로 프로세스가 관리되고, 그에 따라 일을 하는 걸 많이 좋아하는 편이예요. 그래서 어떻게 하면 우리가 대회를 진행할 때 좀 더 잘 준비할 수 있을까, 좋은 문제를 풀에 많이 넣고 문제를 어떻게 잘 고르고, 어떤 단계를 거쳐서 번역을 하고, 테스트 데이터를 만들고, 검수할 것인가, 어떻게 하면 참가자들이 좀 더 낮은 문턱으로 대회 신청을 하고 참가하고 할 수 있을까.. 그런 고민들을 많이 했었고요. 그런 형태로 알고스팟 대회 진행을 가장 많이 했었고, 전대프연 설립 때는 전대프연이 알고스팟의 도움을 많이 받았었을 때여서 제가 약간이나마 기여를 했었고, 요즘은 제가 관리하고 있진 않지만 스팟보드도 만들었고요. 주. 스팟보드: 알고스팟에서 Being님과 wookayin님이 만든 대회 제출 현황을 알 수 있는 스코어보드. 현재 한국 리저널에서 사용 중
S: 시작은 스팟보드였으나 끝은 욱보드가 된..
류원하: 종욱이한테 미안한 감정은 있습니다. 하하하.
류원하: 미묘한 것 같아요. 지금도 알고스팟을 좀 더 액티브한 커뮤니티로 만들어보고 싶은 마음은 있는데, 저를 비롯한 운영진들이 일단 기본적으로 생업에 바쁜데 대회는 노동력이 많이 드는 일이니까요. 어떻게 하면 적은 노동력으로 우리가 의미있는 기여를 할 수 있을까 그런 것들을 계속 고민해보고 있는 중이고요. 요즘도 다른 운영진들과 논의를 많이 하고 있어요. 올해는 뭔가 할 수 있으면 좋겠네요.
S: 과연..
류원하: 이런 말 하면 다들 ‘과연..’이라고 하시더라고요.
S: 모의대회를 열면서 느낀 점이 있다면?
류원하: 똑똑한 사람들과 일하는 건 굉장히 즐거운 일이라는 거요. 반면 어려운 점이라면.. 특히나 대회 준비 같은 경우, 더 이상 진행되지 않게 된 가장 큰 이유가 뭐냐면, 결국엔 누구 한 명이 총 책임자가 되어 굉장히 많은 일을 맡아서 관리를 해야만 하는 것 같아요. 아직까지도 더 좋은 방법을 찾지 못했거든요. 그 역할을 맡아서 진행해 줄 사람이 없기 때문에 지금 뭔가가 안 되고 있는 건데.. 그 부담이 꽤 큰 자리구나라는 걸 느꼈죠. 뭔가 이런것들을 아웃소싱 할 수 있으면 좋겠네요. 하하하!
S: 하하하! 네, 스타트링크에서 준비하고 있습니다.

l_2012070902000329500090353

아이고 넥슨GT에서 채용하신다고요. 네, 스타트링크에서 대회 플랫폼 만드신다고요? 서로 떠먹여주는 훈훈한 인터뷰.
S: 프로그래밍과 알고리즘 공부를 시작하게 된 계기가 무엇인가요?
류원하: 아, 이거 좀 길다. 굉장히 우연한 일이었고요, 개인적인 일이긴 한데, 제 기억이 맞다면 제가 네 살 때 외삼촌이 군대에 가시면서 컴퓨터를 저희 집에 주고 가셨어요. 사실 제가 쓰라고 주신 건 아니었는데, 그걸 제가 MS-DOS 책을 뒤에서 보고 먼저 배웠죠.
S: 네 살 때요?
류원하: 네. DOS 창에서 cd 이런 명령어 쳐 보고.. 한메타자 이런 거 하면서.. 그렇게 네 다섯 살부터 이미 집 밖으로 안 나가는 훌륭한 컴덕후의 자질을 보였죠. 그러다 여섯 살 때 유치원을 갔는데, 종일반이었는데 제 기억으로는 종일반에 저밖에 없었어요. 그래서 사실 좀 외로웠던 것도 있겠죠. 그랬는데 다행히 정말 신기하게 유치원 병설로 컴퓨터학원이 있었어요.
S: 그런데 그 때 쯤이면 가정에도 PC가 많지 않을 때였는데.
류원하: 그렇죠. 지금 생각해보면 잘 사는 동네도 아니었는데 유치원에 컴퓨터학원이 있는 게 신기하죠. 아무튼 그런 굉장히 우연한 일들의 연속으로 컴퓨터 학원에 다니게 되었죠. 그래서 처음엔 뭘 배웠는지 모르겠는데, 나중엔 GW-BASIC을 배웠어요. 뭐 그래봐야 10줄짜리 프로그램 짤 수 있는 정도였겠지만 재밌게 했었죠. 사실 생각해 보면 그 당시에는 유치원이 끝나면 남아서 놀 수 있는 친구도 아무도 없고, 그러다 보니 컴퓨터학원에서 있을 수 있는 시간을 좋아했던 것 같아요. 그 시간이 끝나고 나면 종종 의자를 쌓아서 그걸 밟고 올라가서 컴퓨터학원 창문 너머로 안쪽에서 컴퓨터하는 다른 사람들을 들여다보곤 했던 것 같아요.
류원하: 그리고 인천에서 충청도로 이사를 간 후로는 프로그래밍 공부를 못했어요. 그냥 컴퓨터 좀 하는 정도였고, 학교에서 정보 검색 대회니 홈페이지 만들기 경진대회니 하는 것들을 나가긴 했었죠. 그런데 5, 6학년 때 쯤 정보올림피아드 대회라는 게 있다는 걸 듣고 나가게 되었어요. 그 때까지 프로그래밍 공부를 했던 것도 아니고, 유치원 때 했던 GW-BASIC 밖에는 기억에 없는데, QBasic으로 문제들을 풀어 봤어요. 그래봐야 제천시대회여서 사실 사람이 별로 없긴 했는데, 그래도 본선 진출을 하게 되어서 충청북도대회를 나가게 되었어요. 근데 사실 서울시대회에서 KOI(한국정보올림피아드)를 나가는 건 어려운데, 충청북도대회를 뚫는 것은 상대적으로 쉬웠거든요. 제가 막차를 타긴 했지만요. 그 당시 초등부 문제가 더 쉬워서 그런 것도 있고요. 초등부 문제는 별찍기 이런게 있었거든요.
S: 네, 뭐 그 때는 지금처럼 초등부가 어렵지 않을 때였죠.
류원하: 네 그래서 막차로 통과를 해서 전국대회를 나가게 됐는데, 학교에서 학교를 두 달을 빼줄테니 학교에 나오지 말라고 했죠. 그 동시에 저희 외가쪽 어른들이 다 XXX대 출신이신데, 대학 선후배들이 모여서 컴퓨터학원을 시작했다는 거예요. 그게 온X입니다. 그 당시 강남 월X였죠. 그래서 두 달 동안 학교를 안 나가고 서울에 올라와서 강남 월X에서 공부를 했고, KOI 초등부 동상을 받았죠. 그리고 나서 방학 때도 계속 공부를 하다 보니 부모님이 서울 올라와서 공부를 해 볼겠느냐 하고 제안하셔서 그러겠다고 했죠. 그래서 중학교 동안 정보 올림피아드 준비를 해서 과고 가고, 대학 가고 그렇게 됐네요.
S: 온X의 일가 친척분이셨을 줄이야!
류원하: 그렇죠. 참 굉장히, 우연적인 일들이 많은 것 같아요. 처음 컴퓨터를 접하게 된 계기도 그렇고, 학원을 다니게 된 것도 그렇고요.
S: 공부를 어떻게 하셨나요?
류원하: 중학교 때까지는 성적에 대한 부담감이 굉장히 컸어요. 저는 어쨌든 서울 유학을 나온 입장이었고, 그 당시에는 그 걸 잘 해서 고등학교를 갈 수 있고, 대학교를 갈 수 있는 상황이었으니까. 그것만 잘 하면 되는 상황이긴 했는데, 제가 긴장을 되게 많이 하는 편이고 실전에 많이 약한 편이예요. 그런데 입시에 직결되는 일이다 보니 더욱 긴장을 해서 대회에서 성적이 줄곧 안 좋았어요. 그게 거듭되다 보니 심리적으로 굉장히 많이 위축돼 있는 상태였죠. 그래서 중학교 3학년 때도 사실 성적이 굉장히 안 좋았는데, 남들의 불운으로(?), 저에게는 운이 되어 과학고에 갈 수 있었고, 그런 사실에 대해 계속 피해의식 내지는 죄의식 같은 게 있었어요. 중학교 다니는 동안엔 진짜 열심히 공부를 하긴 했는데 절박함으로 인해 혼란스러운 상태였던 것 같아요. 오늘 풀어야 될 문제가 있으면 그걸 내가 고민해서 체화하고 그런 게 아니라 어떻게든, 그러니까 남한테 물어보든 답을 인터넷에서 몰래 찾든 어떻게든 내가 푼다, 그런 식으로 공부를 했었어요. 마음이 급해서요. 고등학교 들어가서 1학년 때 기대한 것보다 성적이 안 좋았고, 학교에도 적응을 잘 못 했어요. 그러다가, 아 이대로는 안 될 것 같다, 성적도 안 좋고 대학도 못가고 아무 것도 못 할 것 같다 싶었죠. 그래서 학교 공부를 완전히 포기하고, 올림피아드 준비만 했어요. 그 때 그래서 POJ, 북경대 온라인 저지에서 나는 1번부터, 1000번부터 차례대로 다 풀겠다, 하고 진짜 1000번부터 풀었어요. 꽤 많이 풀었어요.
S: 어디까지 푸셨나요?
류원하: 기억이 안나네요, 아무튼 되게 많이 풀었어요. 그 때 선생님이 했었던 얘기가 뭐였냐면, 네가 능력이 100인데 대회 나가서 50밖에 발휘가 안되는게 문제라면 네가 할 수 있는 방법은 네 능력을 200으로 만드는 것밖에 없다고 했었죠. 그래서 정말 뭐 좀 죽기살기로 했어요. 그러니까 아예 학교 공부 때려 치고, 올림피아드 공부만 했고요. 뭐, 그렇다고 제가 뭐 계절학교 소속이 된 것도 아니었고, 다른 거 할 수 있었던 것도 아니고, 그 당시 학원을 잘 다니던 것도 아니었고.
주. 당시 정보 올림피아드는 시 대회(시도 예선) -> 도 대회(시도 본선) -> 전국 대회(KOI)를 거쳐 상위 입상자를 선발해 ‘계절학교’라 불리는 프로그램에서 교육을 받게 함. 이 계절학교에서 선발된 학생은 국제 정보 올림피아드(IOI)에 나갈 수 있음.
류원하: 그렇게 마지막 정보올림피아드 나갔는데 끝까지 실력의 절반 밖에 발휘를 못 하더라고요. 대회 도중엔 시간 안에 다 풀었고, 만점인 줄 알았는데, 다 끝나고 밥을 먹고 돌아와서 결과를 기다리려고 자리에 앉는 순간 아! 이런! 하게 된거죠. 사실 대회 중간에도 많이 긴장을 하고 있었어요. 내가 생각해도 이건 정말 잘 한 것 같다, 지금까지 대회 중에서 가장 잘 했다고 생각했는데, 내가 지금까지 고생했던 게 이렇게 끝나나 싶은 생각도 들고 여러가지로 통제가 안되더라고요. 그 당시 답안을 디스켓으로 제출했는데, 디스켓을 넣는 손이 너무 떨려서 플로피를 넣지를 못하겠더라고요. 그래서 한 손으로 다른 손을 잡고 넣고 했던 기억이 나네요.
류원하: 그 땐 정말 이게 아니면 안 된다는 생각으로, 거의 죽기 살기로 했었죠. 당시 온X 학원의 캐치프레이즈도 ‘무섭게 공부해야 성공한다’였어요.  중학교, 고등학교때는 정말 그렇게 무섭게 공부했던 거 같아요.
S: 아무래도 입시가 걸려 있던 정보올림피아드이다 보니, 그냥 많이 푸셨던..
류원하: 네, 어떻게 하면 효율적으로 공부할 것인가에 대한 고민은 많이 안 해 봤던 것 같아요. 뭐 그런 고민을 했다면 더 잘 됐을 지도 모르죠.
S: 뭐 그래도 당시 분위기가 다 그랬다. 하면 된다! 그러니까 잔말 말고 노력을 해! 하는..
류원하: 그랬었죠. 제 선배들부터 제 후배들까지 계속해서 새로운 개념들이 올림피아드에 들어오고 해가 거듭할수록 난이도가 천정부지로 솟는, 저는 중간에 낀 그런 세대였던 것 같아요. 그래서 그 흐름 와중에 어떻게 공부해야 효율적인지 이런 걸 따질 겨를도 없었고, 사실 그 나이의 저에게 기대하기엔 좀 무리가 있었어요. 그냥 정말 무식하게, 그렇게 효율적으로 공부하진 않았던 것 같아요. 시간도 많이 썼죠. 근데 그게 알고리즘적인 사고를 유연하게 만들어주거나 하진 못했지만, 한편으로는 제 구현능력에는 굉장히 큰 도움이 됐던 것 같아요.
S: 하긴, 당시엔 STL 같은 것도 쓰지 못하게 했었죠.
류원하: 네. 힙은 뭐 그냥 눈 감고도 짜고 그랬죠.
S: 맞아요. 근데 지금 하라면 못 하겠더라고요.
류원하: 지금 왜 해 그걸… (웃음)
류원하: 지금 생각해보면 문제를 푼다는 게 굉장히 복합적인 일인 것 같아요. 가장 먼저 텍스트로 쓰여진 문제를 읽고, 수학적으로 모델링을 한 다음에, 거기에 맞는 솔루션을 생각을 하고, 그에 대한 시간복잡도와 공간복잡도와 정확성을 증명을 하고, 최종적으로 구현으로 옮겨서 제출하는 거잖아요. 굉장히 여러 단계의 흐름이 있어야 되는 거죠. 여기서 모델링을 잘못 하면 문제를 못 풀고, 문제를 잘못 읽으면 당연히 문제를 못 풀고, 구현을 못 해도 문제를 못 풀고… 어디 하나라도 구멍이 나면 안 되는 거거든요. 그런 측면에서 봤을 때 어쨌든 무식하게 공부한 행위 자체가 최소한 구현스킬 만큼은 안정되게 만들어준 것 같아요.
S: 프로그래밍을 잘 한다는 건, 좋은 프로그래머란 어떤 사람이라고 생각하시나요?
류원하: 그 질문은 저 뿐만 아니라 후배들도 선배들도 다 갖고 있는 질문인 것 같아요. 그리고 평생을 갖고가는 질문인 것 같기도 하고요. 한 때 좋은 프로그래머가 진짜 무엇인가라는 질문에 도저히 대답을 못 찾을 때, 굉장히 매력적으로 다가왔던 선택지가 트레이딩 업계에 가는 거였어요. 왜냐면 거기선 내 가치가 곧 내가 벌어온 돈이니까. 굉장히 심플한거죠. 그래서 그 쪽으로 진로를 정할까 생각을 해 봤다가, 시기도 안 맞고 여러가지로 상황이 안 좋아서 그 쪽으로는 포기를 하게 되었지만.. 사실 정말로 돈 많이 버는 프로그래머가 좋은 프로그래머인가는 또 잘 모르겠어요. 요새는 그래서 조금 편하게 생각을 하려고 해요. 프로그래밍을 잘 한다, 내지는 좋은 프로그래머다 라는건 그냥 남들에게 욕을 최대한 덜 먹는 사람이 아닐까 하고 생각을 하고 있어요. 남들이 내 코드보고 욕을 좀 덜 하는 게 좋은 거다.
S: 소위 말하는 분당 WTF 횟수..
류원하: 예, 굉장히 중요한 수치죠. 그걸 줄일 수 있으면 좋은 프로그래머라고 말할 수 있지 않을까요. 근데 진짜 깊은 수준에서 좋은 프로그래머가 뭐냐라고 물으시면 거의… 대 토론회를 벌여야 될 것 같은데요. (웃음) 어려운 질문이예요. 평생 안고 가야 할 질문이기도 하고요.
J1svNp7.jpg
Code quality의 only valid measure라고 하는 분당 WTF 수.
류원하: 그와 별개로 관련지어 조금 하고 싶은 이야기가 있어요.
Part 1은 아쉽지만 여기서 마치고, 다음 포스팅에서 취업에 관련된 이야기, 알고리즘 문제 풀이를 하려는 사람들에게 하고 싶은 이야기, 그리고 격렬했던 하얼빈과 베트남에 관한 이야기를 만나보도록 하겠습니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

About 선0

자칭 미녀 개발자. (어째선지) 타칭 알고리즘 마녀. 코드는 산뜻하게, 글은 쫀득하게 휘갈기는 스타트링크의 감초 귀염둥이 CTO입니다.