김진욱 프로필 사진

김진욱 / CTO

jinuk.kim@ifunfactory.com

아이펀팩토리

굿피플 직무의 시작

Intro
6명의 뇌섹남이 모여서 문제를 푸는 프로그램인 <문제적남자>. 어느새 100회가 지났을 만큼 일요일 저녁을 책임지는 프로그램으로 성장했다. 이런 인기를 끌 수 있는 이유는 흔히 말하는 퀴즈쇼와는 다르기 때문이다. 쉽게 볼 수 없는, 정말 풀기 어려운 문제들이 나온다. 그리고 6명의 뇌섹남은 가장 먼저 문제를 풀려고 한다. 그 과정에서 감탄하는 장면은 매회 나온다. 왜냐면 그들의 목표는 뚜렷하기 때문이다. 바로 ‘문제를 빨리 그리고 잘 푸는 거다’. 지금 소개하는 사람 역시 이와 같은 목표를 가졌다. 그는 자신이 관심 있는 분야 그리고 하는 일에서 생기는 문제를 잘 풀고 싶다고 했다. 게임서버 전문개발사 아이펀팩토리의 김진욱 CTO의 이야기를 지금 시작한다. By 굿피플 헌터.

 

 

 

는 어릴 적부터 컴퓨터로 문제 풀이하는 것을 좋아했어. 그래서 대학교에서 컴퓨터 공학을 전공했고, 대학원에서 이동통신망 연구실에서 학위를 받았어. 이 과정을 마치고는 NC소프트에서 사회생활을 시작했어. 5년간 캐주얼 게임의 *프레임워크를 개발했는데, 개발에 사용되는 기본적인 설계와 기능이 재사용 되게끔 제공하는 툴을 제작하는 일이야.


그러다 대학교에서 만난 문대경 대표님(아이펀팩토리)의 권유로 넥슨으로 이직했어. 당시 대표님은 신규개발실장님이셨고, 현재 아이펀팩토리의 서비스를 개발 중이셨지. 1년간 함께 프로젝트를 진행했지만, 회사가 전반적으로 조정이 일어나면서 우리가 가고자 하는 방향과 맞지 않게 됐어. 그래서 대표님을 포함한 몇몇 직원과 함께 해당 프로젝트를 가지고 나와서 아이펀팩토리를 시작했어.

* 프레임워크 : 소프트웨어 애플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다. (네이버 지식백과)
 


현재 회사에서 어떤 일을 진행해?

아이펀팩토리는 게임 서버 엔진을 개발하는 회사야. 거기서 난 엔진 개발의 방향성을 정하면서 그것을 구현해내기 위한 개발 작업을 해. 제품의 판매가 이루어지게끔 기능을 추가하면서 방향성을 맞춰. 현재 매출을 발생하기 위해서 다른 회사와 협업 중인데, 거기서도 전체 방향을 이끌고 있어.


개발은 코드를 작성할 때, 다른 사람이 보고 기존 코드에 합쳐도 좋다는 사인을 받아야 해. 이 과정을 코드리뷰라고 하는데, 현재 회사에서 전사적으로 진행 중이야. 거기에 사용하는 툴을 대표님과 함께 관리해.

 


이런 과정에서 무엇을 가장 중요시해?

우리의 타깃층은 명확해. 고객사의 개발자분들이지. 그래서 우리가 제작한 서버 엔진을 쉽게 사용하도록 하는 것이 우리의 역할이야.

 

 

‘그러려면 이해하기 쉬운 코드를 만드는 것이 중요해. 앞서 말한 코드리뷰도 그를 위한 활동인 거고.’

굿피플 비전

 

발자가 겪는 문제를 잘 정리하고 풀어서 널리 사용되는 코드를 만들고 싶어. 그리고 코드가 잘 판매되었으면 해. 이게 내가 개발자로서 추구하는 가치야.

그리고 개인적으로는 매년 건강하자는 비전을 세워. 건강해야 일도 하고 취미 생활도 즐기면서, 행복한 삶을 살 수 있으니까.

굿피플 성장

 

는 새로 나오는 개발 개념을 알려고 노력해. 특히 개발자들의 블로그를 많이 봐. 얼마 전에는 회사에서 사용하는 프로그래밍 언어 중 *C++가 있는데, 새 표준이 나왔어. 거기서 무엇이 바뀌었는지에 대한 글을 읽었어. 더불어 다른 개발자의 코드도 많이 봐. 여기서 최신 기술뿐 아니라 예전 기술까지 파악해. 이는 개발자 성장에서 중요한 활동이야. 마지막으로는 온&오프라인에서 개발자 동료끼리 각자 사용한 기술을 공유해. 주로 문제를 풀기 위해서 어떤 방법을 사용했는지를 얘기하지.

* C++ : C 언어의 확장판으로 만들어진 객체지향형 프로그래밍 언어이다. 대규모 응용프로그램을 만드는 데 최적의 프로그래밍 언어로 간주되고 있다 (네이버 지식백과)
 

 

‘개발자의 성장은 새로 나온 개발 개념 이해와 다른 사람의 소스를 통해서 이루어져.’

 


다른 개발자의 코드를 찾아보는 이유가 궁금해.

다른 개발자의 코드를 직접 가져다 쓰기는 어려워. 왜냐면 프로그래밍 언어가 다를 수가 있으니까. 그래도 보는 이유는 코드의 개념을 이해하기 위해서야. 보통 하나의 프로그램을 만들 때 밑바닥부터 하는 경우는 잘 없어. 다른 개발자가 만든 *라이브러리를 통해서 시작하지. 그것을 제작한 관점에서 하나씩 파악해보면 개념을 이해할 수 있어.


*라이브러리 : 자주 사용될만한 기능을 모은 유틸의 모음집
 


그 과정에서 기억에 남는 작업물이 있다면?

현재 제작하는 제품이야. 그 이유는 다시 고칠 수가 있으니까. 아무래도 과거 제품에서는 단점만 떠오르게 돼. 특히나 그 제품이 아직도 운영되고 있다면 더욱 그렇지. 전 회사에서 제작한 제품이 있는데, 당시 동료였던 분들에게 내가 만든 가정이 틀렸다는 이야기를 들을 때가 있어. 그 과정에서 내가 몰랐던 문제를 알게 돼.

 


개발자이기에 나올 수 있는 답이다.

코드의 잘못된 관점을 알게 되면, 내게는 또 다른 성장요소가 돼.

 


성장 요소는 직무적 장점으로 완성된다고 생각해.
본인이 생각하는 개발자로서의 장점은?

프로그램이 여러 가지로 맞물린 상황에서 어떤 문제가 생길 거라는 상상하는 능력이 좋아. 첫 회사에서도 서버 프로그램에서 버그를 찾을 때, 예측하지 않은 상태에서 악영향을 줄 수 있는 문제들을 잘 찾았어.

굿피플 소통

 

가 가진 정보를 최대한 숨기지 않으려고 해. 이는 나의 소통 원칙이야. 그래서 가능한 돌려서 말하지 않아. 그리고 오전마다 개발적인 이슈를 공유하는 자리를 가져. 이때 새로운 프로젝트에 대해 이야기를 할 때가 있는데, 팀원에게는 선택한 방향성에 대한 이유를 명확히 설명해. 물론 모두를 이해시키는 것은 어려워. 사람마다 일에 대한 취향이 있기 때문에. 그것을 존중하면서 전체를 이끌어 가려고 해.
 


소통하는 과정에서 트러블이 생길 때는 어떻게 해결해?

상황에 따라서 달라. 앞서도 말했지만 사람마다 일에 대한 취향이 있어. 그래서 사람과 문제의 상황에 따라서 해결하는 방법이 달라.

 


굿피플을 진행하면서 1~5년 차 개발자분들을 많이 만났어.
아무래도 스타트업에 종사하다 보면 한 분야가 아닌 멀티플레이어로 되는 경우가 많아. 이에 대해서 어떻게 생각해?

이건 내가 명확하게 답을 내리기는 어려워. 나 역시 깊게 아는 분야가 있고, 얇게 아는 분야가 있으니까. 그리고 내가 아는 개발자분들도 다방면으로 활동하는 분이 있고, 한 분야만 집중하는 분도 있어. 난 다방면으로 해보면서 자신에게 맞는 방향을 찾는 게 좋다고 봐. 

 


‘개발 분야를 넓게 알 돼, 그 깊이가 너무 얕아서는 안 돼. 그러면 일하는 것에서 쓸모가 없어질 뿐 아니라 문제가 생겼을 시에는 해결하기 어려워.’

굿피플 보상

 

가 생각하는 회사의 보상은 해당 직무자가 하고 싶은 일을 하고 그것을 성장할 수 있게 기회를 주는 거라고 생각해. 이는 도전적인 프로젝트를 하게 되면 이루어진다고 봐.
 


개발자로서 바라는 회사의 최적환경은?

개발자에게 좋은 성능의 컴퓨터와 부품은 의식주와 같은 존재야.

 


끝으로 개발자가 가져야 할 것이 있다면 말해줘.

남의 아이디어를 받아들여서 시험해보는 자세 – 될 수 있으면 다른 개발자의 코드를 많이 읽어봐. 특히 지금은 그 환경이 정말 잘 구축되어 있어. 온라인에서도 쉽게 찾을 수 있으니까. 굉장히 좋은 자양분을 갖출 기회를 놓치지 말았으면 해.


그 코드를 이해하는 능력 – 많이 읽는 것만큼 이해해야 성장할 수 있어. 거기에 좋은 코드를 빨리 구분할 수 있다면, 더 빠르게 성장할 거야.



 


그는 일에 대한

문제를 해결하고자 하는

굿피플 CTO이다.

By 굿피플 헌터.

굿피플 직장이 궁금하다면?

맨 위로 가기