Skip to content

2024 네이버 신입 공채

자기소개#

[필수] 1. 다음 중 본인의 가장 자신 있고 희망하는 분야를 한 가지 선택해 주세요.

■ Front-End ■ Back-End ■ Android ■ iOS ■ Data ■ 공통

선택한 분야에 관심을 갖게 된 계기와 자신 있는 이유(그동안의 노력, 경험, 강점 포함) 등에 대해 구체적으로 설명해 주세요.
※ 작성 예시 : ■ Front-End / 관심 계기 및 자신 있는 이유 :
※ 구체적인 희망 직무 분야가 미정이신 경우 '공통'으로 선택하시고 상세 사유를 작성해 주세요.

■ Back-End / 관심 계기 및 자신 있는 이유:

캡스톤종합프로젝트에서 저는 의류를 3D로 렌더링하는 업무를 맡았습니다. 그런데 서버로 의상과 유저 데이터를 API의 형태로 주고받는 팀원의 모습을 보고 백엔드 직군에 흥미를 느끼게 되었습니다. 잘 짜여진 API 문서를 읽다보며 데이터를 요청하고 응답하기 위해 필요한 언어체계가 프로그래밍 언어의 함수와 많은 공통점과 차이점을 가지고 있다는 것을 알게되어 RESTful API에 관해 조사를 하기 시작했습니다. 웹과 함께 성장한 REST는 이전에 쓰여진 코드를 망가뜨리지 않으면서 새로운 기능을 추가하고 규격을 변화시키기 위해 도입된 개념이라고 합니다. 사실 객체지향과 SW공학 수업을 들으며 구현체와 인터페이스를 독립적으로 사용할 수 있도록 설계하는 것이 중요하다는 말을 들었으나 그다지 실천적인 방향으로 나아가지는 못했습니다. 하지만 HTTP와 REST라는 시스템 설계의 성공사례를 직접 마주하며 팀 구성원들 간에 일관된 규격으로 API를 설계하고 싶어 지원합니다.

저는 지식, 아이디어, 도구들을 끊임없이 발굴하고 모으고 연관 문서와 연결하고 블로그 포스팅에 이르는 파이프라인을 가지고 있습니다. 덕분에 구현상의 이슈나 새로운 접근에 대하여 관련이 있는 정보가 있다면 그 문서와 연결을 하여 위키를 더욱 풍성하게 만들 수 있습니다. 저 뿐만 아니라 다른 구성원들에게도 쉽게 읽히고 빠뜨리는 정보가 없도록 하이퍼링크를 적극적으로 사용하는 블로그를 운영하고 있습니다.

[필수] 2. 가장 열정을 가지고 임했던 프로젝트(목표/과제 등)를 소개해 주시고, 해당 프로젝트의 수행 과정 및 결과에 대해 기재해 주세요.
- 지원 부문과 관련된, 어려웠거나 인상 깊었던 문제를 해결한 경험을 중심으로 작성해 주세요. (학교수업, 경진대회, 대외활동 등)
- 맞닥뜨린 문제를 ‘구체적’으로 기술하고, 본인의 접근 방법과 해결 과정, 그리고 실제 결과를 ‘상세히’ 기술해 주세요.
- 문제를 잘 해결했다면 그 경험에서 아쉬웠던 점 혹은 더 나은 방법은 없었을지에 대한 고민 과정을 함께 작성해 주세요.
- 해결하지 못한 경험이더라도 해결을 위해 얼마나 깊이 있게 고민을 했는지 그 과정에 대해 이야기 해 주세요.
※ 코드로 설명해 주셔도 좋습니다.

NestJS와 Socket.io를 활용하여 온 오프라인 레크리에이션 진행을 도와주는 서비스인 RecRe를 만들었습니다. 호스트가 게임을 만들면 플레이어들은 스크린에 올라온 QR코드를 통해 웹브라우저에서 게임을 진행하는 아주 간단한 흐름을 가져 진입장벽을 없앴습니다. 또한 레크리에이션의 특성인 활동적이고 들뜬 분위기를 조성하기 위해 휴대폰을 직접 흔들어야 아바타가 앞으로 나아가는 "무궁화꽃이 피었습니다" 게임, 호스트가 그린 그림을 다 같이 맞추는 “그림 맞추기"게임을 제작했습니다.

게임의 상태를 Host, Game, Player 테이블로 모델링 하여 SQLite IMDB로 관리했습니다. 호스트 없는 게임, 게임 없는 플레이어와 같이 논리적으로 말이 되지 않는 상태를 없앴습니다. 하지만 동시다발적으로 들어오는 run 요청에 게임이 종료되어도 뒤늦게 결승선에 도달하는 버그를 발견했습니다. 이에 async-lock을 활용하여 run 이벤트의 핸들러를 임계영역으로 만들어 데이터베이스에 쿼리를 보내기 전에 요청을 한 번에 하나씩만 수행하도록 강제하여 문제를 해결했습니다.

[선택] 3. 본인의 대표적인 개발 경험이나 희망 분야 관련 과제 성과, 활동 등을 가장 잘 보여줄 수 있는 Github, 블로그 등의 URL을 작성하시거나 자료를 첨부하시고, 간단한 소개나 설명을 해 주세요. 공동 프로젝트였다면 본인의 역할을 명확히 써 주세요.
- 오픈소스 컨트리뷰션, 프로젝트, 본인이 작성한 소스코드 등 (임시저장 후 복수 첨부 가능 / 최대 200MB)
- 수강하셨거나 별도로 공부하신 컴퓨터공학 관련 학습/과제/프로젝트 활동을 보여 주셔도 좋습니다.