Naver Developer Open Class 2019
네이버 하반기 공채 채용 설명회
0. 개요
2019년 8월 7일(수) 13:00 ~ 17:20까지 진행한 Naver Developer Open Class 2019에 참석해서 들은 내용
1. about Naver
- '사용자'와 '기술'
- 매출의 25%를 기술에 투자
- CES2019에 첫 참석 (AI 분야)
- 포브스 기업 9위
2. 웹툰 개발 책임
Speaker : 박찬규(chankyu.park@webtoonscorp.com)
- 네이버 개발자
- 잘하는 개발자와 함꼐 일하는 것. 성장할 수 있다.
- 네이버가 30년 후에 디즈니를 누른다. (디즈니에게서 Old media의 느낌이 난다)
- '글로벌' 도전
- 웹툰 기술 총괄
- 라인, 네이버도 못 뚫은 미국을 웹툰이 뚫었다.
- 신기술 개발
- 개발자 선배
- 후배 성장.
- '상담이 재밌다.'
- cafe에서 모의 면접을 진행해줌 (이메일로 상담을 해볼까..?)
3. 선배와의 대화
- 김OO
- 빅스케일 서비스와 잩은 변화에 대응
- 예상할 수 없는 엣지 케이스, 버그들
- 네이버 카페 영상 관련 웹 view 변경 proj 진행
옛날 디바이스에서 생각하지 못한 문제 발생
- 네이버 카페 영상 관련 웹 view 변경 proj 진행
- 동료들의 시간을 절약해주는 개발
- 한 번 짤 때 잘 짜야 동료들이 쉽게 개발할 수 있다.(디자인 패턴, 객체 지향)
- 한 번 짤 때 잘 짜야 동료들이 쉽게 개발할 수 있다.(디자인 패턴, 객체 지향)
- 최OO
- 2016 채용 연계형 인턴
- Search & clova, Smart around
- 네이버 : 많은 양의 데이터, 실리콘 벨리의 문화와 가장 가까움
- hadoop, mapReduce 씀
- 면접 관련
- 포트폴리오에 poject가 많지 않아도 괜찮다.
- 슈도코드나 알고리즘대로 코드를 잘 짤 수 있는지
- 언제 어떤 자료구조를 써야 되는지
- 문제가 주어 졌을때, 잘 몰라도 면접관들과 소통하여 힌트를 얻고 잘 해결할 수 있는지
- 전OO
- 스타트업 경험자
- 2017 채용 연계형 인턴
- 네이버 개발 문화
- Tool 사용, 코드 관리 등을 팀에서 자율적으로
- 처음 입사했을 때 QA(Quality Assurance)를 몇 주 시킴
- 1% 확률의 버그도 1000만 이용자 중 10만에 해당한다.
- 오래된 코드를 관리하고 계속 유지, 보수 해나가고, 담당자가 바뀌어도 쉽게 코드를 알 수 있도록 하는 관리 방법을 배울 수 있다.
- 개발자 중심의 일정(지속 가능한 개발, 번아웃 없이)
- 이OO
- 비전공자
- 2012 비전공자 대상 소프트웨어 멤버십
- 좋은 개발자가 되려면
- 첫 직장이 중요
- 다른 개발자와의 차별점이 뭔지
- 개발자가 갖춰야 할 것
- 트렌드 세터, 커뮤니케이션, 빠른 습득력, 통찰력, 문제 해결 능력,
관찰력, 꼼꼼함, 합리적 성격, 끊임 없는 공부
- 트렌드 세터, 커뮤니케이션, 빠른 습득력, 통찰력, 문제 해결 능력,
- 회사에서 어떻게 기여할지를 잘 생각해봐라
- 면접관으로 들어가게 되면 어떤 걸 만들어보고 싶은지 또는
앞으로 실력이 향상되면 개발하고 싶은게 있는지 등을 묻는다.- 묻는 이유 : 개발에 대한 의욕, 개발을 즐거워 하는지 등을 알 수 있다.
- 뭐 만들어보고 싶다고 하지..
- OCC : 새로 생긴 팀에 자원해서 갈 수도 있는 시스템
- 이OO
- 컴퓨터교육학 전공
- 2015 경력 공채
- PaaS 쪽 개발
- 개발자가 문제에 집중할 수 있도록 해주는 회사
- 자율 복장
- 자율 출퇴근
- 개발자를 위한 프로세스
- 불필요 프로세스가 없다.(개인이 프로세스를 만든다)
- 대기업은 정해진 프로세스 안에서 업무 진행
- 네이버는 github에 올리는 것도 가능하다.
- 기술 공유 채널이 잘 되어있다.
- 최고의 개발자들과 개발할 수 있는 것이 네이버를 다니는 가장 큰 이유
- 조OO
- 2008년 경력 입사
- calendar 이후 vedio platform
- 그룹 스터디, 개별 학습
- 기본 적인 핵심 역량 한 가지는 완벽하게 다져라.
그 다음 단점들을 하나씩 극복하기 위해서 노력해라. - 연차가 쌓인다고 자동으로 지식이나 경험이 쌓이는 건 아니다.
자기 개발을 꾸준히 해라 - 내가 좋아하는 일을 하자
- 직업을 위한 개발을 하는 개발자는 좋아서 개발하는 개발자를 따라잡을 수 없다.
- 네이버가 개발자로써 성장하는 데 좋은 이유
- 국내 최고 대용량 트래픽
- 훌륭한 동료들
- 수평적인 개발 문화
4. 네이버 채용 기준
- 2019년 8말 9초, 3년만에 신입 개발자 공채
- 지원서 작성
- 온라인 코딩 테스트
- 1차 면접
- 2차 면접
- 필요 역량
- 컴퓨터 공학 기초 지식(이해)
- 들어와서 빠르게 배울 수 있으려면 기초 지식이 있어야 한다.
- 알고리즘, 자료구조
- ex> value와 reference가 어떨 때 쓰이는지
동시성 상황에서 value와 reference는 어떤 장단점이 있는지
- 개발에 대한 애정 + 배우고자 하는 의지
- 무얼 얼마나 깊게 생각해 본 적이 있는지
- 문제를 푼 경험
- 배우고자 하는 의지를 어떻게 어필할 수 있을 지 생각해봐라
- 논리적 사고력
- 답이 맞는지 아니지도 중요하지만 어떠한 방식으로 풀어갈 것인지를 본다.
문제가 무엇인지 먼저 정의하고 논리적으로 어떻게 풀어갈 수 있을지 생각하는 것 - ex> 나의 머리카락 개수는 몇개일까?
- 답이 맞는지 아니지도 중요하지만 어떠한 방식으로 풀어갈 것인지를 본다.
- 컴퓨터 공학 기초 지식(이해)
- 공채 준비
- 지원서 작성할 때
- 컴퓨터 전공 지식
- 온라인 코딩 테스트
- 어떻게 할지는 현재 고민중이나 지원서 작성자 모두 테스트 진행을 고려중임
- 논리적 사고, 알고리즘, 자료구조
- 면접
- (QnA에서 나온 답변) 쉬운 알고리즘, 예를 들어 sorting중 자신있는 것 하나 손코딩 구현
어떻게 하면 더 개선할 수 있을지 -
버블 sort의 개선을 아래처럼 하면 되려나…?
ex>
개선 전for (int i = N-1; i > 0; i--) for (int j = 0; j < i; j++) if (arr[j] > arr[j+1]) swap(&arr[j], &arr[j+1]);
개선 후
for (int i = N-1; i > 0 && isSwapped; i++) { isSwapped = false: for (int j = i; j < N-i-1; j++) { if (arr[j] > arr[j+1]) { swap(&arr[i], &arr[j]); isSwapped = true; } } }
- (QnA에서 나온 답변) 쉬운 알고리즘, 예를 들어 sorting중 자신있는 것 하나 손코딩 구현
- 지원서 작성할 때
5. QnA
- 입사에 가장 중요하다고 생각하는 것
- 화사에서 어떤 걸 기여할 수 있는지를 증명
- 화사에서 어떤 걸 기여할 수 있는지를 증명
- 갖춰야할 역량
- 차별화된 역량을 갖춰라
- 'How to' 보다는 'Why' 개발했는지
- '왜' 느리지 고민하고, 그래서 이렇게 개선을 했다.
-
리시프 파일 관련 과제한거를 개선해볼까..?
- 하나의 언어 vs 여러 언어?
- 하나를 깊게 해보는 것이 좋다.
- 범위가 좁을수록 공격 들어올 범위가 당연히 적다.
- 이력서에 면접관이 질문하고 싶을 요소를 넣는다.
- 하나를 깊게 해보는 것이 좋다.
- 자격증, 언어?
- 자격증 없어도 된다.
- 영어 점수가 높다고 가산점이 있는 건 아니다.
하지만 IT분야는 영어가 중요하다.
- 주 개발 언어, Tool, DB 환경?
- 팀마다 다르고, 다양하다.
- 언어 : python, java, react js, spring, …
- Tool : vscode, …
- DB환경 : mySQL, mongoDB, …
- 팀마다 다르고, 다양하다.