DEVIEW 2020 온라인 부스 Q&A 모음

Young
네이버 플레이스 개발 블로그
8 min readDec 31, 2020

지난 11월 말에 진행된 DEVIEW 2020 글레이스 온라인 부스에서는 askers.io 채널을 통해 실시간으로 질문을 받고 중간중간 패널분들이 답변을 달아 주시거나 마지막에 몰아서 답변해 드리는 시간을 가졌습니다. 여러분의 해피 코딩에 도움이 될 만한 좋은 질문과 답변이 많이 나와서 정리하여 공유합니다.

개발에 대하여

사이드 프로젝트는 하시나요?

진행하고 있던 사이드 프로젝트가 있는데 시간이 여의치 않아 잠시 멈춘 상태입니다. 사이드 프로젝트도 활발히 하는 분이랑 같이 일하면 좋을 것 같습니다(물론 회사 업무에 지장이 있으면 안 되겠죠 😃) 조직 내에서 마음 맞는 사람들끼리 팀을 꾸려 간단한 프로젝트를 진행해서 전체 구성원들을 대상으로 발표도 하고 평가도 받는 행사를 한 적도 있습니다.

신규 개발에 치중하느라 기술부채가 계속 쌓이는 경우가 있는데요 기술부채 해결이나 구조 개선 등에 어느 정도 투자를 하시나요?

똑같은 케이스가 3개 이상 발생하면 공통화할 부분을 찾아야한다고 생각합니다. 상시 리팩토링도 성과에 포함이 되고요. 기획자, 디자이너 등 다른 직군들도 왜 개발이 리팩토링을 해야 되는지 충분히 잘 알고 있는 상태입니다. 신규 개발을 중지하고 전면 리팩토링을 하는 예도 있습니다. 3년에 한 번은 리팩토링 해야 되는거 같아요.

리액트 컴포넌트를 테스트에 대해 조언을 구하고 싶습니다 😁

A: 상태와 비지니스 로직이 컴포넌트와 독립적으로 함수로 존재한다면 함수 테스트 작성을 하면 될 것 같구요. 컴포넌트 테스트는 보통 jest + enzyme 조합으로 테스트를 많이 할 텐데요. 추가로 어떤 어려운 점이 있을까요?
Q: 오! 직접 답변을 달아주셨네요. 아무래도 컴포넌트 안에 함수와 상태가 있어서 테스트에 어려움이 있었던 것 같습니다. 테스트에 용이하게 컴포넌트를 다시 작성해봐야겠네요. 답변 감사합니다 😀

요즘 새롭게 보시는 흥미로운 라이브러리 추천해주세요.

  • 최근 프로젝트에 API 서버 개발에 일정한 패턴을 적용하기 위해 NestJS를 사용했습니다.
  • 리액트에서 새로 오픈한 상태 관리 라이브러리 recoil이 괜찮더라고요.
  • 저는 라이브러리는 아니고 Rust 언어에 관심이 있어서 스터디 하고 있습니다. 기존 Webpack 대비 수십 배 빠른 번들러들(예: esbundle)이 나오고 있어서 관심이 있습니다.
  • 네이버 예약에서는 좌석을 WebGL로 표현하기 때문에, 이쪽을 많이 보고 있습니다. 테스트 프레임워크도 흥미가 있어서 보고 있어요.
  • ML 쪽으로 업무를 많이 할 거라 기대하고 있기 때문에 얼마 전까지는 tensor flow만 보고 있다가 최근에는 pyTorch를 많이 사용하고 있는 것 같아 같이 보고 있습니다. 모델링 말고도 ML 엔지니어링 분야 역시 공부해야 해서 이 분야도 관심 있게 보고 있습니다. 원래는 iOS 개발도 했기 때문에 iOS 플랫폼에서 돌아가는 ML 활용도 꾸준히 살펴보는 중입니다.
  • 글레이스 사내 기술 공유 게시판에 올라온 Webpack 5 공유글을 보고 흥미를 느껴 프로젝트에 어떻게 도입하면 될지 고민하고 있습니다. 또 e2e 테스트도 진행해 보고 싶어 이쪽도 살펴보고 있습니다.

네이버 글레이스에 대하여

FE는 BE도 일정 부분 다룬다는 느낌을 받았는데요, FE 팀에서 BE는 어느 정도로 활용하는지 궁금합니다.

자체적으로 DB 운영, 기본적인 웹서버 운영, API(graphQL) 제공 등등의 BE 작업을 합니다.

풀스택 같이 여러 분야를 하다 보면 깊이가 얕을 수도 있을 것 같은데 관련해서 고민은 없는지 궁금합니다.

  • 물리적 제한 때문에 아무래도 다 잘하기는 어렵습니다. 풀스택 개발자라고 해도 사람마다 주력 분야가 있기 때문입니다. 리액트가 주력인 경우 노드 쪽 코드를 작성하기도 하지만 주 업무는 리액트에 집중되어 있을 것입니다. 그렇지만 저희 조직은 ‘둘 다 잘하기 어려우니 하나만 잘하는 게 어때?’하고 제한을 걸기보다는 먼저 스펙트럼 넓게 경험할 수 있도록 기회를 주는 편입니다.
  • 프론트를 하면서 백엔드를 일정 부분 다룰 수 있다면 서비스 운영에 강점이 있기 때문에 크게 고민은 없는 것 같아요.

글레이스 개발자 인재상이 궁금합니다. 글레이스 최고의 개발자는 어떤 사람인가요?

  • ‘알아서 잘하시는 분’을 선호합니다!
  • 적극적으로 소통하고, 모르는 것이 있으면 손들고 질문하고, 실패를 너무 두려워하지 않고 손들고 먼저 나서보는 개발자를 선호합니다.

기존 시스템의 방대한 코드 사이에서 신입도 문제해결을 쉽게 할 수 있는 문화나 시스템이 구축되어 있을까요?

  • 일단 PR을 올려보면 기존에 계시던 분들께 많이 배우기도 하고, 사내 기술 공유 플랫폼이 있어서 다른 부서의 기술들에 대해 단계적으로 학습하기도 합니다. 그렇게 배우다 보면 신입도 단기간에 학습 후 문제 해결을 할 수 있는 것 같습니다.
  • 문서화가 잘 되어 있어서, 코드량은 방대하지만, 문서를 지도 삼아 쉽게 탐색하고 실행할 수 있습니다.

시니어가 되고 결혼도 하니 절대적인 개발 학습을 위한 시간이 평소보다 1/3 정도로 줄더라고요. 대부분의 기술 중심 회사는 최신 기술을 빠르게 습득 및 공유하고, 따라가지 못하는 사람은 암묵적으로 뒤로 밀려나는 문화가 있는 거 같은데, 조직 내에서 이런 부분은 어떻게 해소하시는지 궁금합니다.

스터디 경험이 많으시다면, 리딩은 이제 조금 내려놓고 참여로 관심도 유지만 하셔도 좋은 효과를 내지 않을까 하는 부분이 있습니다. 그리고 업무 영역으로 해당 기술이 들어오게 되면 그때 업무로써 깊게 공부를 파고 들어가는 것도 좋다고 생각합니다. 개발이 항상 새로운 것이 나오는 것 같긴 하지만 근본 원리는 대동소이해서 경험이 쌓일수록 기존보다는 학습이 쉬워지는 부분도 있으니 지치지 않고 흥미 유지하시면서 즐겁게 개발 이어나가시면 좋겠습니다. 🙌

Photo by the blowup on Unsplash

채용에 대하여

신입 개발자 채용 계획을 알 수 있을까요?

지금 신입 공채가 마무리 단계인데요, 공채의 경우엔 보통 1년에 한 번 정도라고 보시면 되고 최근엔 신입의 경우 인턴을 통해서 많은 채용을 진행합니다. ‘네이버 캠퍼스 핵데이’, ‘네이버 인턴’ 을 검색해보시면 더 많고 자세한 정보를 얻으실 수 있을 것 같습니다.

포트폴리오가 어느 정도로 중요한지 궁금합니다.

자기가 정말 만들어보고 싶었고 애정을 담아 유지하고 있는 포트폴리오면 환영입니다.

서류전형에서는 어떤 것을 위주로 보나요? (학력? 프로젝트? 자격증?)

학력, 자격증은 보지 않습니다. 경력이시면 진행한 프로젝트 목록과 프로젝트에서 맡은 역할을 봅니다. 신입이시면 포트폴리오나 개발 기록(Github 계정이나 블로그)을 주로 참고합니다. 솔직히 말씀드리면 서류 전형은 조금 운이 있을 거 같아요. 😅 운을 높이기 위한 팁을 드리자면,

  1. 글을 너무 길지 않게 쓴다. 면접관들은 글을 너무 많이 보기 때문에, 간결하게 본인이 한 일의 핵심만 적어주세요. 많이 적을 필요도 없고 자랑하고 싶은 것 3개 이내로 적어 주시면 됩니다.
  2. 신입의 경우, 경력이라고 할 만한 게 딱히 없기 때문에, 지금 무엇을 하고 있는지 기술 이름을 나열하기보다는 ‘얼마나 성장하기 위해 노력해 왔나’를 어필하는 것이 중요합니다.

신입 지원자들에게 팁이 있다면?

  • 활동(동아리, 오픈 소스 등등)을 통해 얻은 결과에 대해 설명하기. 개발에 대한 흥미를 어필할 수 있고 면접관의 관심을 불러일으킬 수 있습니다.
  • 개인 서비스를 만들어서 운영해 봤던 경험, 고민 점과 그것을 어떻게 해결했는지에 대한 설명이 들어가면 좋습니다.
  • 면접 질문에 대한 답이 부정확해도 그 답을 내놓는 과정 설명이 논리적이면 좋을 것 같아요. (커뮤니케이션 능력과 문제해결 능력을 평가받을 수 있어서) 지식은 모를 수 있어서 틀렸다고 바로 떨어지지는 않습니다. 그러나 그 지식을 찾아가는 과정을 봅니다. 힌트를 달라고 하던가, 당황하지 않는 것도 중요합니다.
  • 정말 신입인 경우에는 경력이 없기 때문에 기본적인 CS 지식을 탄탄하게, 학교에서 배운 것들을 잘 알아두는 것이 좋습니다.
  • 어떤 과제를 할 때 그 과제에서 사용한 기술에 대한 이해도를 높여두기.

2~3년차 개발자에게 제일 많이 요구되는 스킬은 어떤 게 있을까요?

  • 사실 회사에서 편의상 연차를 따지긴 하는데, 2년을 해도 10년차 보다 잘하는 사람도 있기 때문에 연차로 판단하기 조금 애매합니다. 면접 때 경력 경험에 대한 설명을 잘하고 기술에 대한 고민과 이해를 많이 하셨다면 연차 인정이 될 거 같아요.
  • 지원하시기 전에 먼저 이런 점에 대해 걱정할 필요는 없어요! 마음 편하게 지원 부탁드려요. 👏 오히려 준비한 것 외에 다른 것이 나오면 긴장하시는 분들이 계시기 때문에 편한 마음으로 지원 부탁드립니다.
  • 굳이 요구되는 스킬을 찾자면 ‘성능 최적화’를 꼽을 수 있을 거 같아요. (최적화를 하지 않으면 결국에 프로젝트를 운영하다가 성능 개선에 대한 스트레스가 어마하게 생기기 때문에)
  • 프로젝트 개선 경험도 들어가면 좋겠네요.

주니어에게 바라는 역량은 어떤 것들이 있나요?

  • 성장의 기울기가 중요한 것 같아요. 빠른 성장력을 어필하는 것이 필요한데 PR을 활발하게 올리는 등의 적극성이 필요합니다. 너무 남의 시선을 신경 쓰지 않고, 본인의 성장 속도를 높이기 위해 최선을 다하시면 좋을 것 같아요.
  • 기술적으로 너무 부담을 가지실 필요는 없고, 맡은 기능에 대해 필요한 부분만 빠르게 학습하여 기능을 구현하는 능력을 중점으로 봅니다.
  • 많은 것을 해본 것은 장점이 안될 수도 있고, 하나를 해봐도 제대로 알고 있는 것이 중요하다고 생각합니다. (언어 자체를 잘 이해하는 사람 선호)

개발 경력자는 분야를 전환하거나 확장하기 쉽지 않은데요, 혹시 특정 분야의 경력은 되려 마이너스인 경우도 있나요? (펌웨어 개발 경력자가 여길 지원해? 등등)

기술 분야는 중요하지 않습니다. 펌웨어 개발을 잘하시면 네이버에서 서비스 개발을 잘하실 확률이 높습니다. 지원자분께서 서비스 개발에 대한 의지가 충만하면 가능합니다.

좋은 질문을 해 주신 참석자 여러분과 그것에 맞게 양질의 답변을 해 주신 부스 패널분들께 감사의 인사를 드리며 글을 마무리하고자 합니다.

2020년 올 한 해 다들 마무리 잘하세요! 👋🙇‍♀️

--

--