2021 네이버 인턴 회고

boostcamp

Posted by kwon on 2021-04-28

네이버 인턴 회고 🍀

인턴십을 마무리한지 2개월이 되어가지만 이제서야 회고를 적어본다.

인턴을 시작하기까지 🏕

부스트캠프가 마무리되자마자 쉴 틈 없이 채용 연계 공고가 올라오기 시작했다.

네이버 인턴은 부서별로 진행할 과제 목록을 보고 지원을 할 수 있었는데, 동영상 플레이어 개발이라는 과제가 눈에 띄었다. 부스트캠프 5주 프로젝트에서 웹 동영상 편집기를 개발하는 과정에서 전용 뷰어를 만들뻔했지만 다른 방법으로 인해 만들지 않고 지나갔던 것이 생각나 더 해보고 싶었던 것 같다.

그렇게 동영상 플레이어 개발 과제에 지원을 했고, 서류 → 코딩 테스트 → 면접 의 과정을 통해 인턴십에 합격할 수 있었다. 면접에서는 주로 부스트캠프에서 진행했던 프로젝트 위주로 질문을 주셨고, 그 속에서 인성과 기술에 관한 부분도 질문해 주셨다.

인턴십 진행 🚵

인턴 기간은 작년에는 2개월이라고 들었던 것과는 다르게 1개월로 더 짧게 진행되었다. 5주 프로젝트를 함께 진행했던 팀원 한 분과 함께 인턴을 하게 되었고, 팀으로 프로젝트를 진행했다.

주제는 동영상 플레이어 라이브러리 개발이었고, 기존 네이버 플레이어를 개선하고 확장성 있는 플레이어를 만드는 것이 목표였다.

인턴십 기간이 짧았기 때문에 빠르게 설계를 하고 개발에 들어가야 했다. 우선은 기본적인 영상 플레이어의 기능을 구현하기 위해 힘썼고, 이후에는 라이브러리화와 성능 개선에 초점을 맞춰 개발을 진행했다. 중간중간 어려움도 많았지만 멘토님들께서 방향도 잘 잡아주시고 도움을 많이 주셔서 마지막 최종 발표까지 잘 마무리할 수 있었던 것 같다. 또한 부스트캠프에서 팀 프로젝트를 진행했던 경험도 정말 큰 도움이 되었다.

배운 점 🧗‍♂️

프론트엔드에서 성능 측정 방법도 알게되고, 다양한 방식의 최적화를 경험해봤다. 우선, 초기 로딩 성능 개선을 위해 Lazy-loadingtree-shaking을 적용하여 초기에 로딩될 번들 사이즈를 최소화했고, Context 분리를 통해 불필요한 렌더링을 최소화하기도 했다.

라이브러리화는 리액트 컴포넌트 방식과 CDN 방식으로 webpack를 사용해 진행했고, 이 과정에서 프론트엔드 개발환경 및 빌드 시스템에 대한 이해도가 높아졌다.

또한 처음으로 모바일 대응을 시도하며 navigator객체를 통해 사용자의 현재 접속 환경을 받아와 환경에 따라 마우스 이벤트를 터치 이벤트로 변환하는 등의 작업을 해봤다.

이외에도, 라이브러리 사용자가 특정 이벤트에 대한 후처리 등이 가능하도록 이벤트 버스를 구축한다거나 로직 분리 및 재사용을 위해 다양한 커스텀 훅을 구현하는 등 많은 경험을 할 수 있었다.

잘했던 점 🏄‍♂️

  1. 매일매일 팀원과 함께 회고를 작성하고 겪었던 문제 상황과 성능 개선 과정을 잘 기록해둠.

    조금 귀찮기도 했지만, 하루하루 진행 상황을 되돌아 볼 수 있었고 나중에 발표준비를 할 때 많은 도움이 되었다.

  2. 처음 목표했던 라이브러리화 방식을 끝까지 포기하지 않고 시도함.

    처음에 목표했던 리액트 컴포넌트 방식의 라이브러리화에서 문제가 계속 발행하여 CDN 방식으로 전환했지만, 따로 시간을 더 투자하여 계속해서 시도한 결과 리액트 컴포넌트 방식의 라이브러리화에도 성공할 수 있었다.

  3. 짧은 시간이었지만 목표했던 것들을 대부분 구현함.

아쉬웠던 점 💦

아무래도 인턴 기간이 짧아 개발을 급하게 진행한 감이 있어 조금 아쉬웠다. 개발을 먼저 진행하면서 리팩토링 요소를 찾아 진행하는 것도 의미가 있었지만, Context API 도입 전 props drilling으로 인한 유지 보수 및 리팩토링에 대한 비용이 조금 컸다고 느꼈다. 초기에 조금 더 좋은 설계를 했었다면 어땠을까라는 아쉬움이 조금 남는다.

코로나로 인해 한 달 내내 집에서만 재택 근무를 했던 것도 아쉬웠다. 사원증 사진을 찍고 인턴 마지막날 발표를 위해 출근해서 사원증을 받고 하루 쓰고 반납한건 정말..😂

IMG_0160

인턴이 끝나고.. 🏝

인턴 이후 채용 과정은 실무진 평가 이후 전환 면접으로 진행이 된다. 진행했던 과제를 주제로 인턴 마지막 날 발표를 하는데, 이를 기준으로 실무진 평가를 하게 된다. 다행히 평가에 합격하여 전환 면접을 보게 되었다. 전환 면접에서는 인턴 프로젝트 위주로 다양한 질문을 해주셨고, 프로젝트에 대해서는 자신이 있었기에 잘 답변할 수 있었다고 생각한다.

결과는 약 2주 정도 후에 나왔고 결과는 합격이었다!! 비슷한 시기에 카카오도 최종 합격을 한 상태였기 때문에 고민이 약간 되기는 했지만, 네이버를 선택하게 되었다..! 🙂

부스트캠프 연계를 통해 네이버, 카카오, 라인 모두 최종 면접까지 경험해 볼 수 있었는데, 모든 과정이 나에게는 피가 되고 살이 된 것 같다. 면접을 준비하면서, 그리고 면접을 보고 복기하면서 많은 성장을 했다고 생각한다.

솔직히 많은 채용 과정을 거치면서 힘든 부분도 많았는데 특히, 매 과정마다 결과를 기다리는 것이 참 쉽지 않았다.. 그래도 노력한 만큼 좋은 결과를 얻어서 다행이었다!!