2020 Naver Tech Concert
성장하는 슈퍼루키로 거듭나기
- 환경
- 전체를 훑으며 기초를 다지고, 각각의 깊이를 더해나가는 전략
- 전체 프로세스를 경험할 수 있는 환경: 담당 프로젝트 / 사이드 프로젝트, 해커톤, 공모전 등
- 다양한 정보의 키워드를 주워듣고 일단 킵해두기 = 색인
- 봉착한 문제에 해당 키워드가 등장했을 때, 심화 지식까지 찾아보고, 문제 상황에 대입해서 이해하고, 해결책 모색
- "무엇과 관련된 개념인가? / 어떤 맥락에서 등장하는가? / 이것을 다루려면 어디를 봐야 하는가?"
- 소요 시간 단축, 이론 + 실제 = 이해도 향상 효과
- 리뷰
- 초심자가 방황하는 이유 중 하나는 메타인지의 부재 - 내가 무엇을 모르는지 모르는 상황..
- 좋은 멘토를 찾아라
- 힌트, 가이드라인, 핵심만 알아도 러닝 커브 감소
- 멘토로보터 받는 적극적인 피드백
- 선배가 개발하는 방법, 생산성을 높이는 방식을 옆에서 보고 습득하기
- 코드 리뷰: 시나리오 체크, 로직 점검, 버드 가능성 제보, 오타 발견, 코드 규칙 위반 사례 확인 등.. -> 구현 과정에서의 궁금증이나 어려움을 공유할 수 있는 창구
- 기록
- 배운 건 기록하고, 기록한 건 공유하기
- Today I Learned (TIL)
- 기록은 공유하면 쓸모가 배가 된다
- 코드 리뷰에서 새로 알게 된 개념 - 퇴근 전 TIL 정리
- 어떤 가설을 세워 시행했고, 왜 실패/성공했는가?
- 오늘 새롭게 알게 된 내용을 문서화
- 이해에 구멍이 있었던 부분 점검하고 채워넣기
- 난항을 겪고 있는 문제 정리
- 꾸준하게 문서화 작성 스킬 향상, 부담 경감
- 배움의 시각화를 통한 성취감 획득
- Pull Request
- 분석과 진단, 의사 결정 과정, 구현 사례(코드)까지 갖춘 완결성 있는 문서
- 기술 공유 채널
네이버 인턴 후기
- 네이버 인턴으로 들어오기까지
- 상, 하반기 인턴 채용
- 인턴 수시 채용
- 프로그램 연계 채용: 부스트캠프, 핵데이 등
- 인턴 전에 공부하면 좋은 것들
- 프론트엔드라면 자바스크립트는 필수 (타입스크립트도)
- Git 연습
- 토이프로젝트를 진행하면서 웹팩, 프레임워크, eslint 등을 적용해 보는 경험도 있으면 좋음
- 토이 프로젝트
- 팀으로 진행한다면 상용화되어 있는 서비스를 클론할 수 있음
- 혼자서 개발한다면 게시판, todo와 같은 간단한 프로젝트라도 만들어보자 (ex. http://todomvc.com)
- 처음 프로젝트를 한다면 바닐라 스크립트로 구현하기
- 설계, 일정 산출, 기능 개발과 같은 프로세스를 지키면서 진행하고, 팀원과 함께 한다면 코드리뷰를 혼자 진행하더라도 git와 eslint는 꼭 사용해보기
- commit 컨벤션이나 branch 전략, 웹팩도 알면 좋음
- 면접 준비
- 기본적인 알고리즘 테스트 (1차 - 코딩리트, 2차 - 바닐라 자바스크립트, css, html)
- 실무진 면접, 임원진 면접 등의 절차 (부서 별로 다름)
- 스터디로 준비
- 무엇을 공부해야 할지 모르겠다면 여러 개발자분이 모아두신 자료부터 시작해보자 (기술면접 질문 모음)
- 해당 키워드의 개념도 중요하지만 더 심도있게 공부하는 것이 좋다.
- 파생 질문 대비, 코드로 작성할 수 있는 문제는 코드로 작성
- 왜 이런 기술이 도입되었는가? / 어떻게 활용될 수 있는가? / 다른 비슷한 기술과는 어덯게 다르고 각각 어떠한 장단점이 있는가?
- 인턴 과정에서 무엇을 하였는가?
- 1주차(적응기간): 간단한 과제 (자바스크립트, 웹 기반 지식), 플젝에 필요한 사전 강의, 문서, 개발 팁
- 2 ~ 7주차(프로젝트 개발 기간): 원하는 주제 선정 -> 일정 산출, 설계 -> 프로젝트 개발 -> 프로젝트 회의 및 주간 회의
- 8주차(최종 발표 기간): 프로젝트 시연 준비, 발표 자료 준비 및 발표
패널톡
- 시작 - 개발자가 된 이유와 계기
- 처음부터 네이버를 선택한 것은 아니고, 스타트업 등 다른 기업을 거쳐 온 경우가 많다.
- 성장 - 어떻게 공부해서 취직 했는지
- 알고리즘, 운영체제, 데이터베이스 외에도 개발자가 필수로 가져야 하는 '기본기'란?
- 시간 복잡도, 공간 복잡도, 디자인 패턴, 소프트웨어 공학
- 소프트 스킬, 협업 능력
- 신입 개발자에게 요구되는 역량 중 가장 중요한 역량은? 그 역량의 수준은 어느 정도 돼야 하는지?
- 근성, 호기심: 문제를 어떻게 접근하고 해결했는지, 어떻게 자기 것으로 흡수했는지
- 기술을 정확하고 깊게 이해하려고 노력
- Vue.js, React, Angular 중 가장 많이 사용되는 것은?
- 네이버 내에서는 모두 다 사용 / React를 제일 많이 사용
- 기본기, 프레임워크, 라이브러리 개발 중 어떤 경험이 가장 중요할지?
- 무엇을 쓰느냐보다는 '왜' 쓰는지가 중요 (이유, 장단점 파악)
- 입사 후의 커리어 관리 및 성장
- 프런트엔드: 빠르게 변하므로 신기술 동향을 파악
- Tip: 위클리 뉴스 레터 구독
- 중복되는 글들은 중요하므로 체크하면 도움 됨
- 즐겁고 재밌게 개발할 수 있는 환경
- 팀 내 스터디, 사이드 프로젝트 등을 통해 기술 습득
- 전망 - 각 분야의 향후 전망과 준비해야 할 것
- iOS
- Android
- Front-End (FE)
후기
중요한 것은 어떤 기술을 배우냐가 아닌, 배운 것을 어떻게 적용하고 심화하느냐라는 것을 알게 되었다. 지식을 습득한 후 내 것으로 만들기 위해 노력해야겠다.
- 매일 github에 공부한 흔적 올리기
- 프로그래머스 코딩 테스트 해결 과정을 블로그에 올림으로써 기본기 다지기
- 수업 시간에 배운 개념들 (프로그래밍 언어 기본지식, 자료구조, 알고리즘, 데이터베이스 등)을 블로그에 요약하여 올리기
- 휴학 기간에 토이 프로젝트 하나 이상 만들기
- 주 1회 최신 IT 트렌드 중 관심 있는 주제 블로그에 올리기
교내 직무 특강
IT 직무에 요구되는 능력
전공 지식
C, C++, Java 등 프로그래밍 언어는 물론, 컴퓨터 및 SW 동작에 대한 기본 원리를 숙지하고 있어야 한다.
창의력
최근 IT 기술이 다양한 분야와 융합되고 있다.
수학적, 논리적 사고방식을 바탕으로 하고, 이에 창의력까지 더해지면 능력 있는 IT 전문가로 성장할 수 있다.
다양한 분야에 대한 경험
경험은 조언자 모두가 강조하는 핵심 중 핵심 역량이다.
본인에 대한 로드맵
매년 10년 계획 세우기
커뮤니케이션 능력
다른 부서와 협업할 일이 많으므로, 여러 사람과 원활히 소통할 수 있는 커뮤니케이션 능력이 필요하다.
한계를 깨는 노력
빠르게 변화하고 발전하는 IT 업계에서 새로운 기술에 적응하지 못하면 한순간에 도태될 수 있다. 늘 공부하고, 자신의 한계를 깨는 노력을 해야만 살아남을 수 있다.
SWOT 분석
- S: 연봉, 전문직
- W: 업무량, 끊임없는 공부
- O: 넓은 취업의 문, 낮은 진입장벽
- T: IT 전문가의 수요는 많지만, 채용할 만한 사람이 부족함
모바일 컨텐츠 플랫폼 개발자와의 만남
-
취업 전에 한 프로젝트가 있는지? 포트폴리오 관리 팁이 있다면?
- 참여한 프로젝트가 있다면, 목표치를 달성한 후에도 선배나 친구들에게 피드백을 받아서 코드 품질이나 프로젝트 기능을 개선하는 연습을 해보면 후에 프로젝트 설명을 할때에 좀 더 좋은 인상을 줄 수 있어요!
-
서버 개발 공부는 어떻게 하면 좋을지?
- 오픈소스 참여 – Github에 있는 프로젝트에 기능 추가, 버그 해결
- 스스로 프로젝트를 만들어서 세상에 내보내는 경험
-
주니어 개발자가 첫 커리어를 시작하기 좋은 기업은 어떤 기업인가?
- 신규 입사자 교육 프로그램이 있는 기업
- 독학 욕심이 있다면 스타트업 기업도 괜찮음 (체계적인 교육이 없다는 단점이 있지만 배울 수 있는 범위가 넓음)
선배와의 간담회 (개발 직무)
지난 여름방학, 개발 직무에 종사 중이신 졸업생 선배님들과 줌을 통하여 비대면 간담회를 가졌다.
컴퓨터 주전공으로 게임회사에서 서비스 플랫폼 SW 개발자를 맡고 계신 선배님도 계셨고, 경영 주전/컴과 복전으로 금융사 디지털개발부 서버 개발자를 맡고 계신 선배님도 계셨다.
기본적으로 개발자는 소통, 협업 경험이 중요하다는 것을 알게 되었다. 이러한 경험을 쌓기 위해서는 팀 프로젝트를 해야 하는데, 요즘은 개발 동아리 하나 들어가기 어려워서.. 일단은 개인 프로젝트를 할 실력을 갖춰야 할 것이다.
IT 회사는 코딩 테스트를 보기 때문에 기본적인 코딩 실력이 매우 중요하다. 반면, 금융 기업은 코딩 테스트를 보지 않고, 여러 번의 면접 프로세스가 있다. (인성/토론/PT/구술/최종) 고객, 마케팅, 카드업에 대한 이해가 더 중요하다는 것을 알게 되었다. 요즘 금융 기업 IT 직무에 취업하고 싶다는 생각을 막연히 하게 되었는데, 마케팅 관련 동아리를 들어가면 좋지 않을까 싶다. 광고 동아리에 관심이 있기도 하고.
(2020년 8월의 견해라 지금과는 차이가 있음!)