메뉴 건너뛰기


퓨처랩 세부메뉴

직무인터뷰 > 웹개발

LINE Plus 프레임워크 개발, ‘적당히’가 아닌 ‘Great’를 추구해야

개발4실 2016.04.11. 조회수 23,630 Tag #라인 #netty #소프트웨어 #오픈소스 #라인플러스

LINE Plus(라인플러스)는 세계에서 가장 빠르게 성장하는 모바일 메신저 LINE을 비롯해, 게임, 스티커, 어플리케이션 등의 서비스를 제공하는 모바일 생활 플랫폼 기업이다. 일본 외에도 대만, 태국 등 다양한 국가에 해외 오피스를 두어, 글로벌 브랜드로 자리매김하고 있다. LINE Plus의 이희승 개발자를 만나 오픈소스 소프트웨어 개발 직무에 대한 이야기를 들어보았다.

 

 

 

공유를 통해 발전하는 오픈소스 프로젝트

 

안녕하세요. 자기소개 부탁드립니다.
안녕하세요. LINE Plus 개발4실에서 메신저 서버 개발의 기반이 되는 플랫폼 소프트웨어를 개발하는 업무를 담당하고 있는 이희승입니다. 개발 경력은 11년차로, 주로 오픈소스 소프트웨어를 개발해 왔습니다. LINE Plus에 입사한 지는 2년차 됐습니다.

 

LINE Plus에서 어떤 업무를 담당하고 있나요?
메신저 서버를 만들 때 필요한 기반 기술을 다루는 업무를 하고 있습니다. 현재는 소프트웨어의 셋팅을 관리해주는 프로그램을 개발하는 중이죠. 환경설정 탭에서 설정값을 수정해본 적이 있을 텐데, 이처럼 컴퓨터 프로그램들은 각각의 셋팅 정보를 가지고 있어요. 메신저 서비스 같은 경우는 서버(H/W)가 여러 대이다 보니 그 여러 대가 각각의 셋팅 정보를 공유해야 하죠. 이때, 이 설정을 공유해서 저장해놓을 수 있는 저장소를 개발하고 있어요.

 

하루 일과는 어떻게 진행되나요?
LINE Plus는 책임근무제라 출퇴근 시간이 탄력적이에요. 저는 집이 멀어서 오전 11시쯤에 출근해서 오후 8시쯤에 퇴근하죠. 출근하면 우선 간밤에 온 e메일을 확인하고 오늘 일정을 확인해요. 오전엔 가벼운 일 위주로 업무를 처리하고 1시부터 2시까지 점심식사를 합니다. 그 이후에는 개발 업무를 계속 하고요. 회의는 많으면 일주일에 5번, 적으면 2번 정도 해요. 개발자를 위한 소프트웨어를 개발하고 있기 때문에, 프로그램의 유저인 개발자들과 회의를 자주 하죠. 야근은 급한 업무가 있을 때에만 하고 있어요.

 

현재 업무에는 주로 어떤 개발 언어와 툴을 사용하나요?
Java 프로그래밍 언어를 사용하고, 개발 머신은 맥북에 리눅스를 설치해서 통합개발환경(IDE) 도구인 Intelli J 를 이용하고 있습니다.

 

가장 기억에 남는 프로젝트는 무엇인가요?
최근에 개발한 ‘Armeria’라는 오픈소스 소프트웨어 프로젝트입니다. Armeria는 컴퓨터와 컴퓨터가 통신할 때 사용하는 라이브러리라고 할 수 있는데, 쉽게 말하면 편리하게 통신할 수 있게 도와주는 소프트웨어예요. 요구사항을 실현시킬 수 있는 구체적인 방법을 구상하고, 오픈소스화를 기획하는 과정에서 제가 많은 부분 관여해서 진행했던 프로젝트라 가장 기억에 남습니다. 또 성공적으로 오픈소스화 되어서 누구나 제가 작업한 내용을 볼 수 있게 된 점도 뿌듯하고요.

 

오픈소스 소프트웨어라는 게 무엇인가요?
컴퓨터 프로그램을 만들 때 소스코드를 작성하잖아요. 내가 만든 프로그램을 누구나 사용할 수 있도록 소스코드를 공개하는 걸 오픈소스화 했다고 하는데요. 즉, 오픈소스 소프트웨어는 기존의 상용 판매 모델과 다르게 누구라도 무료로 사용할 수 있고, 수정도 할 수 있는 프로그램을 말합니다. Armeria는 LINE에서 개발한 프로그램이지만 소스코드를 공개해서 LINE 외부의 개발자들도 사용할 수 있게 만들었죠.

 

무엇이 필요한지 스스로 찾아낼 수 있는 개발자가 되어야

 

개발자가 된 계기가 무엇인가요?
초등학교 2학년 때, 동네 아는 형 집에 있던 컴퓨터를 만져보다가 너무 재미있어서 그때부터 프로그래밍을 배우기 시작했어요. 그때는 컴퓨터가 많이 없던 시절이니까 신기할 수밖에 없었죠. 재미있어서 계속 하다 보니 게임 제작도 하게 되고, PC통신 동호회 활동도 하게 되고, 특기생으로 컴퓨터과학까지 전공해서 지금까지 쭉 하게 됐네요. (웃음)

 

‘Netty’라는 오픈소스 소프트웨어 플랫폼을 개발한 걸로 유명하세요. Netty 프로젝트를 어떻게 시작하게 됐는지 설명 부탁드려요.
PC통신 동호회 활동을 할 때, 내가 짠 코드를 공유하고 서로 피드백해주면서 개발 실력이 정말 많이 늘었어요. 그때부터 서로 공유하고 누구나 자유롭게 개선시킬 수 있는 문화가 보편화되면 개발 수준이 훨씬 빨리 발전할 수 있을 텐데, 하는 생각을 가지고 있었죠. 당시에는 오픈소스에 대한 개념이 별로 없었거든요.
그러다가 아르바이트를 통해 SMS(Short Message Service) 게이트웨이를 개발하면서, 본격적으로 네트워크 어플리케이션을 쉽게 작성할 수 있는 툴이 필요하겠다는 생각을 하게 됐어요. 그래서 대학생 때부터 혼자서 만들기 시작한 게 Netty였죠. 프로그램이 알려지면서 트위터, 레드햇과 같은 여러 회사에서 스카우트 제의를 받아 오픈소스 프로젝트 업무를 많이 맡아 오게 됐고요.

 

현재 하고 있는 개발 업무와 일반적인 서비스 개발은 어떤 점이 가장 다른가요?
서비스 개발은 요구사항이 어느 정도는 만들어져서 내려오는 경우가 많기 때문에 시간적 제약이 더 크죠. 그렇다 보니 소프트웨어 품질보다 요구사항을 맞추는 게 우선시 되는 경향이 있어요. 제가 작업하고 있는 분야는 개발자들과의 대화나 스스로의 경험을 통해 요구사항을 직접 판단해서 소프트웨어를 만들어야 해요. 어떻게 하면 더 편리하게 쓸 수 있을지도 스스로 찾아가야 하고요. 그러다 보니 코드 한 줄 한 줄의 디테일에 좀 더 신경을 쓸 수 밖에 없다는 점이 서비스 개발과 다른 점입니다.

 

 

 

개발자로서 가장 뿌듯한 순간은 언제인가요?
주로 개발자가 사용하는 기술을 개발하기 때문에 그 기술을 사용하는 개발자에게 어떻게 하면 좋은 반응을 얻을 수 있는지를 가장 많이 고민해요. 그러다 보니 제가 만든 프로그램을 개발자들이 편리하게 잘 쓸 때 가장 뿌듯한 것 같아요.

 

반대로, 가장 힘든 순간은 언제인가요?
생각만큼 진도가 안 나갈 때 힘든 것 같아요. 작업을 진행하며 협의도 필요하고, 적용하기까지도 시간이 걸리고, 이 업무 외에도 다른 업무를 동시에 진행해야 하는 등의 이유들로 진척이 제대로 안 될 때가 있거든요. 여러 명이 함께 개발하는 작업이다 보니 항상 본인의 업무 속도를 유지하며 진행하기가 어려워요.

 

끊임없이 변화를 받아들이며 ‘Great’를 추구하세요

 

LINE Plus는 어떤 조직인가요?
다이내믹한 곳이에요. 사용자가 어마어마한 서비스들이 많다 보니까 항상 여러 이벤트들이 끊이지 않고 발생해서 일상이 다이내믹하게 진행되는 경우가 많아요. 그러다 보니 본인의 능력과 관심사만 맞는다면 할 수 있는 일이 참 많은 곳이기도 하죠.

 

자랑할 만한 복지가 있나요?
LINE프렌즈 캐릭터 상품을 구매할 수 있는 LINE프렌즈 포인트를 1년에 50만원씩 지원해줘요. 딸이 LINE캐릭터를 참 좋아해서 자주 애용하고 있습니다. (웃음) 또 한 달에 7만원씩 통신비를 지원해주는 것도 마음에 들어요.

 

이 직무를 추천한다면 어떤 사람에게 추천해주고 싶은가요?
흔히들 개발을 하려면 수학을 필수적으로 잘해야 한다고 생각하시더라고요. 예전엔 그런 경향이 있었지만 요즘엔 아니에요. 수학을 잘하는 것보다 전체적인 구조를 놓지 않으면서도 세부적인 부분을 이해하는 능력이 중요하죠. 수학과 논리는 다르니까요. 오히려 언어를 다루는 능력이 있다면 더 좋을 거 같네요.

 

개발 직무에 필요한 역량 4가지만 꼽아주신다면?
가장 중요한 건, ‘적당히’ 하는 게 아니라 ‘Great’한 레벨을 추구하는 거예요. 그러기 위해선 머리 속에서 궁극의 디테일까지 살려서 그림을 그릴 수 있어야 합니다. Great를 추구하는 과정에서 기술적으로 여러 선택지가 있을 수 있는데, 그 선택지들을 평가하고 합리적인 선택을 할 수 있어야 해요. 또, 기술은 계속 발전하기 때문에 그 변화를 잘 수용할 수 있는 자세가 필요하고요. 기술적 변화를 이해하는 것뿐만 아니라, 기존의 시스템에 새로운 기술을 접목해 실제 시스템을 진화시켜 나갈 수 있어야 하죠.

 

개발자를 꿈꾸는 후배들에게 선배로서 조언해주시고 싶은 게 있나요?
아무리 뛰어난 능력을 가진 개발자라 해도 혼자서는 한계가 있을 수 밖에 없습니다. 다른 사람과 함께 이야기할 때 더 좋은 아이디어를 얻을 수 있고, 아이디어를 공유하고 피드백 하면서 발전할 수 있는 가능성이 더 커지는 거죠. 공유를 통해 자기 계발하는 습관을 들이기 바랍니다. 사람들이 ‘이것이 필요하다’고 말하기 전에 사람들이 필요로 할 것을 스스로 계속 찾아 다니면서 자신만의 전문성을 길렀으면 좋겠습니다.

 

‘좋은 일’이란 무엇이라고 생각하시나요?
내가 즐겁게 할 수 있는 일, 그러면서도 나에게 놀라움을 가져다 줌으로써 경험과 생각의 지평을 넓혀 주는 일이 좋은 일이라고 생각합니다.

 

임경희 인턴기자 noche77@

 

 

관련 글 더 보기  

> 호칭, 서열 파괴! 유동적인 출퇴근시간! 혁신적인 기업문화를 가진 기업, LINE Plus 

잡코리아 좋은일 연구소 인턴 취재기자 임경희 noche77@jobkorea.co.kr

잡코리아 좋은일 연구소
인턴 취재기자 임경희

의견 나누기 200자까지 작성할 수 있으며 허위정보 및 명예훼손, 비방, 욕설, 광고성 글은 운영자에 의해 삭제될 수 있습니다.

의견 나누기

0 / 200 등록하기

0 / 200 등록하기

다음글
LINE Plus, 게임 개발은 일이 아닌 즐거운 취미
이전글
파수 DRM 개발, 끊임없이 물음을 던지는 개발자가 되세요