취재

특별한 손님 #5 넥슨코리아 하재승 선임연구원의 ‘내 인생의 컴퓨터’

넥컴박 (넥슨컴퓨터박물관 기자) | 2017-10-27 16:16:24

이 기사는 아래 플랫폼에서도 볼 수 있습니다.

넥슨컴퓨터박물관 ‘내 인생의 컴퓨터’ 시리즈는 국내/외 IT업계 인사들의 컴퓨터와 관련된 에피소드를 담고 있습니다. 이번 주에는 넥슨의 소프트웨어 엔지니어이자 2017 NYPC (넥슨 청소년 프로그래밍 챌린지)앰버서더를 맡은 넥슨코리아 하재승 선임연구원의 이야기를 인터뷰 영상과 함께 공개합니다.

  

 

# 넥슨코리아 하재승 선임연구원

 

 

Q. 인생 최초의 컴퓨터는?

아마 486 시절이었던 것 같은데, 제 기억에 제일 남아있는 컴퓨터는 486 DX4이고, 그 컴퓨터를 쓰다가 펜티엄2로 바로 업그레이드했던 기억이 있어요.

중간에 펜티엄이 나왔을 때 업그레이드를 안 했었는데, 이후 한 번에 크게 업그레이드를 했더니 <스타크래프트>의 게임 부팅 속도가 30초에서 7초 줄어들어 매우 놀랐던 기억이 있습니다.



 
 

 

Q. 컴퓨터가 내 삶에 끼친 영향
 

어릴 때부터 컴퓨터를 접했고, 프로그래밍을 남들보다 일찍 시작하기도 했어요. 이후 컴퓨터를 전공하고 지금까지도 계속 컴퓨터 관련 직업인 프로그래머 일을 하고 있으니 컴퓨터는 제 인생에서 꽤 큰 요소라고 할 수 있겠네요. 

컴퓨터공학과를 가보면 학생을 크게 두 부류로 나눌 수 있어요. 한쪽은 어릴 때부터 게임이나 신기한 프로그램을 접해서 직접 만들어보고 싶거나, 취미로 시작한 경우가 있고, 다른 한쪽은 성적에 맞춰 과를 선택했거나 컴퓨터공학과의 미래 전망이 좋다고 판단한 경우입니다. 저의 경우는 전자에 속했습니다. 

어릴 때부터 컴퓨터가 많이 보급되었기 때문에 다들 게임을 많이 하곤 했어요. 제 세대 때는 게임을 하는 것에서 더 나아가 개인이 게임을 만들 수 있는 시대였던 것 같아요. 어려서부터 컴퓨터로 이것저것 만들기 위해 직접 공부를 하고 다양한 분야를 파다 보니 프로그래머의 길을 가게 된 것 같네요.

 

  

Q. 프로그래머가 되겠다고 결심한 계기가 있다면?
 

제가 딱 공부를 하려던 시기와 한국에서 게임산업이 성장하던 시기가 겹쳤던 것 같아요. 서점에서도 관련 번역 서적이나 한글 서적이 나오기 시작했고요. 언어장벽이 비교적 해결되면서 해당 분야에 심화 지식을 얻을 수 있었습니다. 

특히 ‘게임을 만들자’, ‘이런 게임 만들기’와 같은 종류의 책들이 많이 있었어요. 기억에 남는 게임 중 하나가 <Dune 2>라는 게임인데, 세계 최초는 아니지만 거의 초창기 RTS로, 요즘으로 이야기하면 스타 같은 게임이었습니다. 

RTS로 여러 가지 유닛들을 생산하고 명령을 내려서 적의 기지를 파괴하여 승리하는 그런 게임인데, 이런 종류의 게임을 <Dune 2>에서 처음 접했었어요.

 


 

실시간으로 전쟁이 진행되고, 각각의 유닛들이 서로 다른 명령을 수행하는 게임의 모습은 저에게 큰 충격으로 다가왔습니다. 

그리고 직접 <Dune 2>와 비슷한 게임을 만들고 싶어 관련 서적을 읽고 공부를 했던 것 같습니다. 하지만 당시 컴퓨터 성능은 오늘처럼 뛰어나지 않았고, 결국엔 이런 게임을 만들기 위해서는 '어셈블리 공부를 해야 하는구나’라고 생각했습니다. 이처럼 원하는 것을 쫓다 보니 이것저것 제 영역을 확장하게 되었네요. 

결론적으로 지금의 제가 있게 된 데에는 <Dune 2>가 제일 큰 영향을 끼쳤던 게임이었던 것 같아요. 

 

 

Q. 프로그래밍의 매력?
 

사람들이 TV를 바보상자라고 이야기를 하잖아요. 

컴퓨터 또한 저에게는 하나의 상자인데, 그 안에 돌아가는 것을 다 제 마음대로 만들 수 있는 상자입니다. 쉽게 생각하면, '물건을 바닥에 떨어트리고 바닥에 부딪히면 튕긴다' 이런 규칙을 짜서 넣어주면 이 안에서 던지는 것이 전부 바닥에 튕기는 것을 볼 수 있거든요. 

세계를 제가 마음대로 만들 수 있다는 것이 굉장히 매력적이었습니다. 특히 게임 세계 안의 이야기 흐름을 따라가는 것을 좋아했는데요. 그래서 보통 스토리가 있는 RPG를 즐겨 했습니다. 

그리고 제가 프로그래밍을 공부하는 도중에 인터넷이 상용화되면서 이에 필요한 오픈소스 등을 다루다 보니 다른 사람들과 교류할 수 있는 지점이 생기더라고요. 또한, 오픈소스를 다루면서 주로 외국인들과 영어로 소통했습니다. 문제해결 방식이나 이슈 등에 대한 의견을 주고받기도 했고, 사람들이 제가 제작한 것을 잘 쓰고 있다고 피드백해서 기쁨을 느꼈던 적도 있습니다.

 

예전에 스마트워치 유행할 때 '페블'이라는, 전자잉크로 만들어져서 배터리 수명이 일주일은 되는 그런 기기가 있었어요.
 

친구가 맨 처음 샀었는데, 한글이 나오지 않는 겁니다. 보통 스마트워치면 휴대폰에서 카톡 메시지가 올 때 시계로 확인할 수 있는 것이 장점인데, 한글 카톡이 오면 ‘ㅁㅁㅁ’로 나오는 거죠.

그런데 예전에 제가 도스 시절에 게임 프로그래밍을 하던 경험이 있어서 기본적으로 로우레벨이나 어셈블리를 다룰 수 있었습니다. 해당 환경에서 한글을 다루는 것도 할 수 있었고요​, 스마트워치니까 용량이 매우 작은 디바이스였는데, 용량을 매우 줄여서 한글을 출력할 수 있는 기능을 추가했습니다. 이를 사람들한테 공개했더니 호응이 굉장히 좋았어요. 

 


Q. 컴퓨터를 한 단어로 표현하자면?



 

지금 시대에서 컴퓨터를 한 단어로 표현하자면 영어로 ‘Nothing’이라고 할 수 있을 것 같아요. 없는 것?

  

왜냐하면, 거의 모든 사람이 다들 손에 컴퓨터를 들고 다니지만, 컴퓨터라고 생각하지 않기 때문입니다. 그냥 전화기라고 생각하죠. 그리고 길가에 지나다니는 작은 것들 하나하나가, 버스 정류장에서 기다릴 때 위에 나오는 화면에도 컴퓨터가 들어가 있지만 그걸 컴퓨터라고 생각하지 않습니다. 
 
이미 세상에 다 녹아 있고, 우리 주변에 항상 존재하지만, 사람들이 인식하지 않는 것. 예를 들어 공기가 있겠죠. 공기는 사실 없다고 생각하잖아요. 그냥 항상 거기 있고 없으면 이상한 거니까. 사실상 존재하지 않는 것과 똑같아진 것 같아요. 컴퓨터도 공기처럼.

 


Q. 최근 주목하는 IT기술 동향이 있다면?
 
지금 당장 관심 가지고 있는 것을 하나 뽑으라고 한다면, 최근에 C++ ‘세븐틴’이라고 2017년에 표준이 새로 개정되었습니다. 현재는 관련 공부를 하고 있습니다.
 
우리도 표준어에 최근 '짜장면'이 추가됐잖아요. 그러니까 사람들이 많이 쓰는 것들은 새롭게 추가가 되기도 합니다. 표준말은 오히려 현재의 언어사용을 뒤늦게 따라가는 경향이 있죠.
 
C++ 같은 경우에는 프로그래밍 언어니까 다른 언어의 장점이 적용되었다거나 이전에 부족했던 점을 보완하면서 사용이 훨씬 편리해졌습니다. C++는 상대적으로 어려운 언어이지만 성능을 더 챙길 수 있다는 언어에 가깝거든요. 그런걸 좀 더 고려할 수 있는 요소가 많이 추가되었습니다.
 


​Q. 게임개발을 꿈꾸는 학생들에게 조언
 
제가 생각하기에는, 아예 기본이 없는 레벨이 아닌 이상, 프로그래밍 개념을 이해할 수 있는 수준이 되어야 한다고 생각합니다. 이제 초등학생도 다 하잖아요. 2018년부터 코딩 의무교육 들어간다고 얘기했었던 것 같은데.
 
어쨌든 프로그래밍을 할 수 있다고 가정하면, 게임을 만들려고 하면 요즘은 엔진 얘기를 하니까요. '유니티'라든가 '언리얼' 얘기를 하니까. 게임의 복잡도에 따라 다를 텐데, 간단한 게임은 유니티로 충분히 만들 수 있고요. 사실 <하스스톤>이 유니티로 만들어졌다는 꽤 유명한 사실이잖아요. 하지만 <하스스톤>은 나름 전 세계 게임 중에서 매출, 인기도가 항상 상위권에 있는 게임이니까요.
 
엄청 복잡한 게임은 많은 공부가 필요하고 많은 사람과 협동해야 하지만, 당장 학생이 만들고 싶은 게임이 있다면 유니티로 충분할 것 같습니다. 요즘 같은 시대에서는 단순 프로그래밍보다는 자기 아이디어를 가공해서 여러 가지의 게임을 만드는 경험을 해보는 게 더 중요한 시기인 것 같아요.
 
스크래치(Scratch, 오픈소스 프로그래밍 언어)를 보통 교육용으로 많이 얘기하는데 스크래치나, 스크래치랑 결합한 앱 인벤터를 통해서 휴대폰용 게임을 만들 수 있는 것 같더라고요. 그냥 그런 건 있을 것 같아요. 저는 처음 프로그래밍 언어를 새로 접했을 때 다양한 언어를 공부해보는 것을 굉장히 중요하다고 생각하는데요.
 
다양한 프로그래밍 언어를 접해보면서 언어를 선택하는 기준을 고민하는 과정이 프로그래머로서 성장하기 위해 굉장히 중요하다고 생각합니다. 예를 들어 처음으로 숫자 야구 게임이나 두더지 게임, 이진수 게임 등을 짜보는 것입니다. 구체적으로 이진수 게임은 숫자가 1씩 증가하면서 비트를 잘라서 하는 플레이를 구현했던 것이 연습이 되었던 것 같아요.
  

제주에서, 세상을 바꾸는 아이디어 넥슨컴퓨터박물관

넥슨컴퓨터박물관 ‘내 인생의 컴퓨터’ 시리즈는 국내/외 IT업계 인사들의 컴퓨터와 관련된 에피소드를 담고 있습니다. 이번 주에는 넥슨의 소프트웨어 엔지니어이자 2017 NYPC (넥슨 청소년 프로그래밍 챌린지)앰버서더를 맡은 넥슨코리아 하재승 선임연구원의 이야기를 인터뷰 영상과 함께 공개합니다.

  

 

# 넥슨코리아 하재승 선임연구원

 

 

Q. 인생 최초의 컴퓨터는?

아마 486 시절이었던 것 같은데, 제 기억에 제일 남아있는 컴퓨터는 486 DX4이고, 그 컴퓨터를 쓰다가 펜티엄2로 바로 업그레이드했던 기억이 있어요.

중간에 펜티엄이 나왔을 때 업그레이드를 안 했었는데, 이후 한 번에 크게 업그레이드를 했더니 <스타크래프트>의 게임 부팅 속도가 30초에서 7초 줄어들어 매우 놀랐던 기억이 있습니다.



 
 

 

Q. 컴퓨터가 내 삶에 끼친 영향
 

어릴 때부터 컴퓨터를 접했고, 프로그래밍을 남들보다 일찍 시작하기도 했어요. 이후 컴퓨터를 전공하고 지금까지도 계속 컴퓨터 관련 직업인 프로그래머 일을 하고 있으니 컴퓨터는 제 인생에서 꽤 큰 요소라고 할 수 있겠네요. 

컴퓨터공학과를 가보면 학생을 크게 두 부류로 나눌 수 있어요. 한쪽은 어릴 때부터 게임이나 신기한 프로그램을 접해서 직접 만들어보고 싶거나, 취미로 시작한 경우가 있고, 다른 한쪽은 성적에 맞춰 과를 선택했거나 컴퓨터공학과의 미래 전망이 좋다고 판단한 경우입니다. 저의 경우는 전자에 속했습니다. 

어릴 때부터 컴퓨터가 많이 보급되었기 때문에 다들 게임을 많이 하곤 했어요. 제 세대 때는 게임을 하는 것에서 더 나아가 개인이 게임을 만들 수 있는 시대였던 것 같아요. 어려서부터 컴퓨터로 이것저것 만들기 위해 직접 공부를 하고 다양한 분야를 파다 보니 프로그래머의 길을 가게 된 것 같네요.

 

  

Q. 프로그래머가 되겠다고 결심한 계기가 있다면?
 

제가 딱 공부를 하려던 시기와 한국에서 게임산업이 성장하던 시기가 겹쳤던 것 같아요. 서점에서도 관련 번역 서적이나 한글 서적이 나오기 시작했고요. 언어장벽이 비교적 해결되면서 해당 분야에 심화 지식을 얻을 수 있었습니다. 

특히 ‘게임을 만들자’, ‘이런 게임 만들기’와 같은 종류의 책들이 많이 있었어요. 기억에 남는 게임 중 하나가 <Dune 2>라는 게임인데, 세계 최초는 아니지만 거의 초창기 RTS로, 요즘으로 이야기하면 스타 같은 게임이었습니다. 

RTS로 여러 가지 유닛들을 생산하고 명령을 내려서 적의 기지를 파괴하여 승리하는 그런 게임인데, 이런 종류의 게임을 <Dune 2>에서 처음 접했었어요.

 


 

실시간으로 전쟁이 진행되고, 각각의 유닛들이 서로 다른 명령을 수행하는 게임의 모습은 저에게 큰 충격으로 다가왔습니다. 

그리고 직접 <Dune 2>와 비슷한 게임을 만들고 싶어 관련 서적을 읽고 공부를 했던 것 같습니다. 하지만 당시 컴퓨터 성능은 오늘처럼 뛰어나지 않았고, 결국엔 이런 게임을 만들기 위해서는 '어셈블리 공부를 해야 하는구나’라고 생각했습니다. 이처럼 원하는 것을 쫓다 보니 이것저것 제 영역을 확장하게 되었네요. 

결론적으로 지금의 제가 있게 된 데에는 <Dune 2>가 제일 큰 영향을 끼쳤던 게임이었던 것 같아요. 

 

 

Q. 프로그래밍의 매력?
 

사람들이 TV를 바보상자라고 이야기를 하잖아요. 

컴퓨터 또한 저에게는 하나의 상자인데, 그 안에 돌아가는 것을 다 제 마음대로 만들 수 있는 상자입니다. 쉽게 생각하면, '물건을 바닥에 떨어트리고 바닥에 부딪히면 튕긴다' 이런 규칙을 짜서 넣어주면 이 안에서 던지는 것이 전부 바닥에 튕기는 것을 볼 수 있거든요. 

세계를 제가 마음대로 만들 수 있다는 것이 굉장히 매력적이었습니다. 특히 게임 세계 안의 이야기 흐름을 따라가는 것을 좋아했는데요. 그래서 보통 스토리가 있는 RPG를 즐겨 했습니다. 

그리고 제가 프로그래밍을 공부하는 도중에 인터넷이 상용화되면서 이에 필요한 오픈소스 등을 다루다 보니 다른 사람들과 교류할 수 있는 지점이 생기더라고요. 또한, 오픈소스를 다루면서 주로 외국인들과 영어로 소통했습니다. 문제해결 방식이나 이슈 등에 대한 의견을 주고받기도 했고, 사람들이 제가 제작한 것을 잘 쓰고 있다고 피드백해서 기쁨을 느꼈던 적도 있습니다.

 

예전에 스마트워치 유행할 때 '페블'이라는, 전자잉크로 만들어져서 배터리 수명이 일주일은 되는 그런 기기가 있었어요.
 

친구가 맨 처음 샀었는데, 한글이 나오지 않는 겁니다. 보통 스마트워치면 휴대폰에서 카톡 메시지가 올 때 시계로 확인할 수 있는 것이 장점인데, 한글 카톡이 오면 ‘ㅁㅁㅁ’로 나오는 거죠.

그런데 예전에 제가 도스 시절에 게임 프로그래밍을 하던 경험이 있어서 기본적으로 로우레벨이나 어셈블리를 다룰 수 있었습니다. 해당 환경에서 한글을 다루는 것도 할 수 있었고요​, 스마트워치니까 용량이 매우 작은 디바이스였는데, 용량을 매우 줄여서 한글을 출력할 수 있는 기능을 추가했습니다. 이를 사람들한테 공개했더니 호응이 굉장히 좋았어요. 

 


Q. 컴퓨터를 한 단어로 표현하자면?



 

지금 시대에서 컴퓨터를 한 단어로 표현하자면 영어로 ‘Nothing’이라고 할 수 있을 것 같아요. 없는 것?

  

왜냐하면, 거의 모든 사람이 다들 손에 컴퓨터를 들고 다니지만, 컴퓨터라고 생각하지 않기 때문입니다. 그냥 전화기라고 생각하죠. 그리고 길가에 지나다니는 작은 것들 하나하나가, 버스 정류장에서 기다릴 때 위에 나오는 화면에도 컴퓨터가 들어가 있지만 그걸 컴퓨터라고 생각하지 않습니다. 
 
이미 세상에 다 녹아 있고, 우리 주변에 항상 존재하지만, 사람들이 인식하지 않는 것. 예를 들어 공기가 있겠죠. 공기는 사실 없다고 생각하잖아요. 그냥 항상 거기 있고 없으면 이상한 거니까. 사실상 존재하지 않는 것과 똑같아진 것 같아요. 컴퓨터도 공기처럼.

 


Q. 최근 주목하는 IT기술 동향이 있다면?
 
지금 당장 관심 가지고 있는 것을 하나 뽑으라고 한다면, 최근에 C++ ‘세븐틴’이라고 2017년에 표준이 새로 개정되었습니다. 현재는 관련 공부를 하고 있습니다.
 
우리도 표준어에 최근 '짜장면'이 추가됐잖아요. 그러니까 사람들이 많이 쓰는 것들은 새롭게 추가가 되기도 합니다. 표준말은 오히려 현재의 언어사용을 뒤늦게 따라가는 경향이 있죠.
 
C++ 같은 경우에는 프로그래밍 언어니까 다른 언어의 장점이 적용되었다거나 이전에 부족했던 점을 보완하면서 사용이 훨씬 편리해졌습니다. C++는 상대적으로 어려운 언어이지만 성능을 더 챙길 수 있다는 언어에 가깝거든요. 그런걸 좀 더 고려할 수 있는 요소가 많이 추가되었습니다.
 


​Q. 게임개발을 꿈꾸는 학생들에게 조언
 
제가 생각하기에는, 아예 기본이 없는 레벨이 아닌 이상, 프로그래밍 개념을 이해할 수 있는 수준이 되어야 한다고 생각합니다. 이제 초등학생도 다 하잖아요. 2018년부터 코딩 의무교육 들어간다고 얘기했었던 것 같은데.
 
어쨌든 프로그래밍을 할 수 있다고 가정하면, 게임을 만들려고 하면 요즘은 엔진 얘기를 하니까요. '유니티'라든가 '언리얼' 얘기를 하니까. 게임의 복잡도에 따라 다를 텐데, 간단한 게임은 유니티로 충분히 만들 수 있고요. 사실 <하스스톤>이 유니티로 만들어졌다는 꽤 유명한 사실이잖아요. 하지만 <하스스톤>은 나름 전 세계 게임 중에서 매출, 인기도가 항상 상위권에 있는 게임이니까요.
 
엄청 복잡한 게임은 많은 공부가 필요하고 많은 사람과 협동해야 하지만, 당장 학생이 만들고 싶은 게임이 있다면 유니티로 충분할 것 같습니다. 요즘 같은 시대에서는 단순 프로그래밍보다는 자기 아이디어를 가공해서 여러 가지의 게임을 만드는 경험을 해보는 게 더 중요한 시기인 것 같아요.
 
스크래치(Scratch, 오픈소스 프로그래밍 언어)를 보통 교육용으로 많이 얘기하는데 스크래치나, 스크래치랑 결합한 앱 인벤터를 통해서 휴대폰용 게임을 만들 수 있는 것 같더라고요. 그냥 그런 건 있을 것 같아요. 저는 처음 프로그래밍 언어를 새로 접했을 때 다양한 언어를 공부해보는 것을 굉장히 중요하다고 생각하는데요.
 
다양한 프로그래밍 언어를 접해보면서 언어를 선택하는 기준을 고민하는 과정이 프로그래머로서 성장하기 위해 굉장히 중요하다고 생각합니다. 예를 들어 처음으로 숫자 야구 게임이나 두더지 게임, 이진수 게임 등을 짜보는 것입니다. 구체적으로 이진수 게임은 숫자가 1씩 증가하면서 비트를 잘라서 하는 플레이를 구현했던 것이 연습이 되었던 것 같아요.
  

제주에서, 세상을 바꾸는 아이디어 넥슨컴퓨터박물관