검색 개발 소개
<검색연구>
네이버 검색서비스를 지속적으로 개선하고 경쟁력 있는 새로운 검색 서비스를 만드는 업무를 수행하고 있습니다. 검색 결과의 품질과 사용자의 만족도를 높이기 위한 연구와 방법론들을 실제로 구현/서비스화하고, 사용자들의 반응을 분석/검증하여 서비스에 반영하고 있습니다.
<검색시스템>
네이버 검색서비스의 고효율, 고성능을 위한 연구 및 개발을 담당합니다. 다양한 기술 분야 및 최신 기술에 대해 끊임없이 도전하고 있으며, 연구 및 적용을 위해 모니터링 시스템부터 플랫폼까지 다양한 주제에 대해 고민하고 있습니다.
주요업무
네이버 검색 시스템에 적용할 수 있는 알고리즘 및 관련 기술들을 폭넓게 연구, 개발하고 있습니다.
(1) 검색플랫폼 개발
검색서비스의 핵심인 분산 검색엔진부터 실시간 증분 컴퓨팅 엔진, 머신러닝을 위한 각종 플랫폼을 연구, 개발하고 있습니다.
(2) 대용량 데이터 처리
사용자에게 필요한 내/외부 데이터를 저장, 가공, 처리하기 위해, 대규모 클러스터 구축 및 초고속 대용량 데이터 처리 등의 데이터 엔지니어링 영역을 담당하고 있습니다. 직접적으로는 검색데이터의 중복제거나 스팸 제거 등의 처리를 예로 들 수 있습니다.
(3) 검색시스템 개발
통합/블로그/카페/쇼핑/웹문서/이미지검색 및 네이버 서비스 내 검색 등의 다양하고 수많은 유입량을 처리하기 위해 초고속, 고성능에 최적화된 시스템을 개발하고 있습니다. 또한 견고하고 보안성 높은 서비스를 위한 시스템과 운영용이성을 위한 시스템 등도 자체 구축하고 있습니다.
(4) 검색 개발
통합검색, 웹, UGC, 멀티미디어, 쇼핑, 지역 등 네이버에서 생산되거나 수집한 데이터에 대하여 검색 환경을 구축하고 적합한 Ranking Model을 만드는 역할을 하고 있습니다. 최적의 품질을 얻기 위해 IR, ML, DM, NLP등 검색에 관련된 최신 기술들을 실험해보고, 적용합니다.
(5) 사용자 피드백 분석
검색 로그와 같은 사용자 피드백을 통해 현재 제공중인 서비스를 검증하고, 새로운 서비스 아이디어를 도출합니다. 국내 최고 수준의 데이터로부터 적절한 가설을 수립하고 검증해나가는 작업은 네이버 검색, 추천, 쇼핑, 광고 등의 다양한 영역에 걸쳐 활용되고 있습니다.
선배가 들려주는 이야기인터뷰 1.NAVER의 검색 개발자란?
일반적으로 개발자에게 있어서 기본은 무엇보다 중요합니다. 더불어 새로운 기술에 대한 무한한 호기심과 함께 트랜드에 대한 정확한 분석 능력과 유연한 사고를 함께 가지고 있어야 합니다. 또한 페어 프로그래밍 및 다양한 분야의 사람들이 함께 일하기 때문에, 배려를 기반으로 한 정확한 커뮤니케이션이 중요하며, 언제나 함께 공유하려고 노력하는 협업의 자세가 몸에 배어 있어야 합니다.
NAVER만의 차별점
NAVER는 대규모의 다양한 데이터, 인프라, 사용자 등을 모두 경험할 수 있기 때문에, 연구나 새로운 기술 및 알고리즘 등을 실제로 적용해보기 좋은 곳이며, 또한 다양한 분야를 다루는 만큼 폭넓은 개발 경험의 기회가 있습니다.
또한 NAVER에서는 정기 또는 수시로 열리는 공모전이나 커리어 체인지를 통해 열심히 일하는 사람들에게 새로운 기회와 도전을 지원하기 때문에, 본인의 노력에 따라 끊임없이 성장할 수 있습니다.
인터뷰 2.NAVER의 검색 개발자란?
코딩을 잘하는 것도 중요하지만, 시스템과 로직을 잘 파악하고 그 안에서 문제점이나 개선점을 파악하는 것이 매우 중요합니다. 검색 사용자의 수만큼 예외 상황이 있을 수 있고, 이러한 예외 상황을 빨리 파악하고 해결책을 제시하기 위해서는 매우 높은 수준의 이해도가 필요하기 때문입니다.
검색에는 사용자 로그, 문서 등과 같이 빅데이터라고 할만한 매우 방대한 양의 데이터가 필요하고, 또 쌓이게 되는데 효율적으로 분석하고 의미있는 인사이트를 도출할 수 있어야 합니다. 따라서, 본인의 의견을 논리있게 설명할 수 있는 능력도 필요합니다. 관련 논문이나 오픈소스 등에 대한 지속적인 관심도 도움이 됩니다.
지원자들에게 전하는 말
NAVER는 적절한 인사이트와 합리적인 근거를 제시할 수 있다면 본인이 주도적으로 일할 수 있는 최적의 회사입니다. 내가 만든 결과에 대해 수많은 사용자의 반응을 직접 확인할 수 있으며, 긍정적인 결과를 얻었을 때의 성취감은 쉽게 겪을 수 없는 경험입니다.
인터뷰 3.NAVER의 검색 개발자란?
제가 NAVER에서 일하면서 가장 인상 깊었던 것은, 다들 누가 시켜서 일하지 않는다는 점입니다. 누가 어떤 일을 시키지 않더라도 자신이 해야 하는 일을 찾아서 시작하고, 자신이 하고 있는 일에 대해서만큼은 그 누구에게도 뒤쳐지지 않도록 완벽하게 처리합니다. 또한, 개발자는 끊임없이 배우는 것이 중요한데, 항상 새로운 기술이나 알고리즘이 나오면 실험해보시고 테스트 해보는 모습이 매우 좋았습니다. 이렇듯 주변에서 다 같이 공부하고 노력하고 있기 때문에, 자연스럽게 스스로도 계속해서 발전하고, 긍정적인 시너지가 되고 있습니다.
NAVER의 개발자가 되기 위해 필요한 역량
- -최소한 하나이상의 언어를 제대로 사용하는 것이 중요합니다.
- -기본적인 자료구조나 알고리즘을 아는 것이 중요합니다.
- -다른 사람들과 소통하는 것이 중요합니다.
- -스스로 끊임없이 생각하고 발전하고 제대로 만들려고 노력하는 것이 중요합니다.
https://recruit.navercorp.com/naver/story/developer#
개발자 이야기 : NAVER Career
recruit.navercorp.com
https://developers.naver.com/docs/search/blog/
검색 API 블로그 검색 개발가이드
NAVER Developers - 검색 API 블로그 검색 개발가이드
developers.naver.com
'기타 > 검색엔진 개발' 카테고리의 다른 글
fastcat - 검색엔진 통합매뉴얼 (0) | 2019.09.11 |
---|---|
우아한 형제들 - 주소검색서버(woowahan-juso) 개발기(上) (0) | 2019.09.11 |
오픈소스를 이용한 검색엔진 개발 (0) | 2019.09.11 |
검색 엔진을 만드는 데 대한 질문이요 (0) | 2019.09.11 |
검색엔진(Search Engine)의 현황 및 구동원리 (0) | 2019.09.11 |