comments 3

NHN 소프트웨어 멤버쉽 본과정

NHN 소프트웨어 멤버쉽 예비과정 포스트를 쓰고 나서 블로그 방문자 수가 상당히 늘었다. 그리고 내 블로그에 처음으로 댓글이 달린 포스트가 되었다 (댓글 달아주신 분들 감사합니다). 그 말은 즉슨 그 포스트가 많은 사람들이 궁금해 했던 내용을 담고 있고 도움이 됐다는 것일 것이다. 그래서 예비과정 글에 이은 NHN 소프트웨어 멤버쉽 본과정 후기를 써볼까 한다.

NHN 소프트웨어 멤버쉽 예비과정 글보기

먼저 이야기 하기 전에 본과정에 대한 내용은 개개인에 공통적으로 적용이 될 수 없는 내용이다. 본과정은 예비과정을 마친 수료자가 NHN 에 인턴으로 입사하여 특정 팀에 배치되어 각기 다른 업무를 수행하기 때문이다. 따라서 이 글은 남에게 도움이 되기 보다는 나의 소프트웨어 멤버쉽 본과정(이하 ‘인턴’이라 표기하겠다.)에 대한 기록을 남기기 위한 글이 될 것이다.

NHN 은 NHN 만 있는 것이다. 아니다. NHN 도 있고 NBP(NHN Business Platform) 이라는 회사도 있고 NTS(NHN Technology Service) 라는 회사도 있다. 모두 독립된 법인이며 하는 일이 다 다르다. 하지만 필연적으로 ‘네이버’라는 서비스에 참여하고 있다. 소프트웨어 멤버쉽 예비과정이 끝나고 본과정을 시작하기 전에 회사에서 진행중인 프로젝트 리스트를 주고 이 중에서 희망 프로젝트 1,2,3순위를 적어 내라고 하는데 나는 내가 3순위로 적어낸 프로젝트로 배치받았다. 이 프로젝트를 진행하고 있는 곳은 NBP에 속해있는 서비스플랫폼센터의 DBMS개발랩이었다.

Cubrid Logo

DBMS 개발랩은 국산 DBMS 중인 하나인 CUBRID (NHN 이 2007년도에 인수)를 개발하는 랩이었다. 이 CUBRID 에 내장된 미들웨어인 Database Gateway(이하 ‘DBGW)를 기존 3 tier로 이루어진 DBGW를 2 tier 모델로 바꾸는 것이다.

3tier_2tier

본 프로젝트를 수행하기에 앞서 기본적으로 알아야 될 지식과 코딩 컨벤션 등을 익히기 위해 간단한 sql interpreter 를 제작하는 미니 프로젝트를 수행하였다.

sql interpreter 를 작성하기 위해서는 server/client 간의 통신이 필수적이다. 보통 dbms 는 서버/클라이언트가 나누어져 있고 서버에 있는 데이터를 클라이언트에게 뿌려주기 때문이다.

예전에 컴퓨터 네트워크 수업시간에 리눅스 환경에서 간단한 채팅프로그램을 만들어 본 적이 있었지만 매우 간단한 수준에 머물러있었다. 이번 프로젝트를 수행하면서 조금 더 심화된 네트워크 프로그래밍을 해보았고 tcp/ip 흐름, 쓰레드 동작방식, 네트워크 상에서의 메세지 전송방식, unix 상에서의 여러 시스템 함수들을 사용해 볼 수 있었다.

본 프로젝트(3 tier로 이루어진 DBGW를 2 tier 모델로 변경)를 수행하면서도 지속적인 코드리뷰를 통해 잘못된 코딩 습관을 고칠 수 있었는데 무엇보다도 부장님, 차장님, 과장님까지 인턴들의 코드를 직접 확인하면서 코멘트를 주시는 부분이 매우 인상적이었다.

그 밖에 oci, mysql c api 를 사용해 볼 수 있었고 리눅스 환경에서 메모리 누수 여부를 체크 할 수 있는 tool 인 valgrind, 코드 커버리지(프로그램을 실행 할때 코드를 몇번 hit 하고 전체 소스코드 중에 몇 %를 실제로 수행 하는지)를 체크 할 수 있는 툴인 gcov/lcov, 주기적인 빌드를 통해 품질관리를 할 수 있는 jenkins 를 사용해 볼 수 있어 현업에서 실제로 어떠한 Tool 들을 이용하여 개발을 하고 품질 관리를 하는 지 알 수 있었다.

Valgrind 수행모습

jenkins_sample2

Jenkins 수행모습

lcov 수행모습

전체적으로 NHN(정확히는 NBP)에서의 인턴생활은 만족하지만 그래도 아쉬운 부분이 많았다. 사실 프로젝트라는게 시간이 많든 적든 나오는 산출물은 비슷하기 마련인데 너무 많은 시간을 하나의 프로젝트에만 시간을 쏟아 효율이 조금 떨어지는 면이 있었다. 그리고 비전공자들을 DBMS 랩에 배치시킨 것은 조금 무리였다고 본다. 매주 팀에서 세미나를 했었는데 들어갔다오면…멘붕상태였다. 무슨 말인지 알아들을 수가 없어…ㅠ

국내 최대의 포털 회사에서의 인턴생활은 색다른 경험이었고 그 기간동안 좋은 사람들도 많이 만나고 많은 것을 보고 배우고 느낄 수 있는 좋은 시간이었다.

3 Comments

  1. B

    본과정 면접을 앞두고 있는 예비과정 5기입니다! 이 글을 읽고니나 더욱 본과정에 가고싶네요 글 잘 읽었습니다!

댓글을 남겨주세요. 저에게 큰 힘이 됩니다^^