백엔드·검색엔진 개발자의 커리어 회고 — 설렘, 몰입, 번아웃, 그리고 다시 불을 붙이기까지

프롤로그 — 2003년 2월, 첫 출근

2003년 2월, 저는 첫 출근을 했습니다. 모니터 하나, 오래된 키보드, 그리고 “이제 진짜 개발자가 됐다”는 설렘. 그해 12월 정보처리기사 자격증을 손에 쥐었을 때만 해도, 이 일을 23년 넘게 하게 될 줄은 몰랐습니다.

그 사이 웹은 모바일이 되었고, 서버실은 클라우드가 되었고, 이제는 AI가 코드를 함께 써주는 시대가 되었습니다. 저는 그 변화의 한복판에서 ASP와 PHP로 시작해 Java, Kotlin, Python, Node.js를 거쳐, 지금은 LLM(대규모 언어 모델, ChatGPT·Claude 같은 AI의 핵심 기술) 플랫폼을 다루고 있습니다.

이 글은 이력서 한 장으로는 다 담을 수 없었던 이야기입니다. 화려한 순간도, 지쳐서 주저앉았던 순간도 있었습니다. 그리고 지금, 저는 다시 새로운 도전 앞에 서 있습니다.

1장. 설렘의 시절 (2003–2012) — 웹이 세상의 전부였던 9년

첫 직장은 토목연구정보센터 였습니다. 토목 분야 연구자와 학회를 위한 포털을 만들고 운영하는 곳이었죠. 9년 동안 이곳에서 정말 많은 것을 만들었습니다.

CERIC 토목포털 리뉴얼과 시스템 통합

대한토목학회·한국콘크리트학회·대한환경공학회 웹사이트와 정보화 솔루션

온라인 논문심사 시스템, 학술대회 관리, CRM(고객관리 시스템), 결제 연동, 통계

SSL 암호화와 투표용지 자동출력까지 갖춘 대의원 투표 시스템

문헌 신청 자동출력, 배치 작업 같은 업무 자동화 백엔드

돌이켜보면 이 시절의 저는 “만들 수 있다”는 사실 자체가 즐거웠습니다. 요청이 오면 밤을 새워서라도 돌아가게 만들었고, 다음 날 사용자들이 그걸 쓰는 모습을 보는 게 가장 큰 보상이었습니다. 일을 하면서 수원대학교 컴퓨터학과에 편입해 학업도 병행했습니다. 지금 생각하면 어떻게 버텼나 싶지만, 그땐 그냥 신났습니다.

그리고 이 시절, 제 인생의 방향을 바꾼 만남이 있었습니다. 문헌 검색 서비스를 운영하면서 처음으로 검색엔진 이라는 것을 다뤄본 겁니다. 2011년에는 직접 토목용어사전 안드로이드 앱 을 만들어 출시하며 모바일과 Java의 세계에도 발을 들였습니다. 이 두 가지가 다음 10년을 결정하게 될 줄은, 그때는 몰랐습니다.

2장. 검색에 빠지다 (2012–2015) — 인크루트

2012년, 채용 포털 인크루트 로 자리를 옮겼습니다. 처음에는 안드로이드 앱과 모바일 API(앱과 서버가 데이터를 주고받는 통로)를 맡았는데, 얼마 뒤 검색 부서로 배치되면서 본격적으로 검색의 세계에 들어섰습니다.

당시 회사는 상용 검색엔진을 쓰고 있었습니다. 비싸고, 고치기 어렵고, 우리 서비스에 맞게 손대기도 어려웠죠. 저는 “우리 기술력은 우리가 가져야 한다”고 생각했고, 오픈소스 검색엔진 Solr(Lucene 기반) 4.2로의 마이그레이션(시스템 이전)을 주도 했습니다.

아리랑 한글 형태소 분석기 (한국어 문장을 단어 단위로 잘라주는 도구) 최적화 및 플러그인화

검색어를 치는 순간 결과를 제안하는 자동완성(Suggest) 플러그인 개발

200만 건 이상의 공고를 대상으로 한 맞춤 채용공고 추천 시스템 — 병렬 처리와 Solr MoreLikeThis(비슷한 문서 찾기 기능) 활용

스레드 풀링 기반 푸시 서버(GCM·APNS) 를 리눅스 데몬(백그라운드 상시 실행 프로그램)으로 개발·운영

이때 깨달았습니다. 검색은 단순히 ’찾아주는 기술’이 아니라 ‘사람의 의도를 이해하는 기술’ 이라는 것을요. 사용자가 “자바 개발자 신입”이라고 입력했을 때, 그 사람이 진짜 원하는 결과가 무엇인지 고민하는 일. 그 고민이 너무 재미있었습니다.

3장. 엘라스틱서치, 그리고 넓어진 세계 (2015–2018)

인크루트 이후 몇 년은, 서로 다른 무대에서 실력을 넓힌 시간이었습니다.

소리바다 에서는 음악 서비스의 Elasticsearch(현재 가장 널리 쓰이는 오픈소스 검색엔진) 클러스터 를 구축하고 운영했습니다. 대형 제조사의 음악 서비스 검색까지 함께 맡으면서 대용량 트래픽을 직접 받아냈죠. “ㅂㅌㅅㄴㄷ”만 쳐도 “방탄소년단”이 뜨는 초성 검색 , 한/영 전환을 깜빡하고 “qkdxks”라고 쳐도 알아듣는 오타 교정 자동완성 Analyzer 플러그인 을 직접 개발했습니다. 색인 스크립트는 Python으로, 자동완성 API 서버는 Django로 만들었습니다.

모프콤 에서는 리워드 앱 ‘수파7’의 플랫폼을 처음부터 설계 했습니다. AWS(아마존 클라우드)의 EC2, RDS, ELB, Route 53, ElastiCache를 엮어 시스템 아키텍처를 그렸고, Node.js와 Socket.IO , Redis로 다중 노드 단말 관제 시스템을 만들었습니다. HMAC(위변조 방지 서명) 기반 보안 채널, 확률과 ’박스’ 개념을 도입한 추첨 로직까지 — 서비스 하나를 바닥부터 세워보는 귀한 경험이었습니다.

인피노브 에서는 대한화장품산업연구원의 Allcos 포털 구축 프로젝트 에 참여해 Elasticsearch 통합검색을 개선했습니다. 은전한닢 한글 형태소 분석기를 적용하고 다양한 Analyzer와 QueryDSL(검색 조건을 정밀하게 짜는 문법)로 검색 품질을 끌어올렸고, 웹 크롤러와 ‘오늘의 인기 뉴스 키워드’ 워드클라우드, 특허·상표 정보 시스템까지 맡아 좋은 성과로 오픈할 수 있었습니다.

4장. 정점, 위메프에서의 5년 (2018–2023)

그리고 위메프 . 제 커리어에서 가장 뜨겁게 몰입했던 5년입니다.

입사 첫 달, Elasticsearch 5.x 검색 클러스터를 직접 설치·구축 하는 것으로 시작했습니다. 이후 7.x 클러스터로 업그레이드하며 쇼핑 검색의 심장을 책임졌습니다.

6억 건 규모의 대용량 데이터 정제·색인 배치 개발 및 운영 — 병렬 처리로 시간과의 싸움

쇼핑 통합검색, 다양한 필터·정렬·어그리게이션(집계) 제공

한글을 자음·모음 단위로 쪼개 검색 정확도를 높이는 자소분해 플러그인 개발

불용어, 연관검색어, 상위 랭크 관리, 검색 사전, 오타 교정, 인기검색어까지 아우르는 검색 관리 CMS

2022년, Spring Batch와 Kafka(대용량 메시지 전달 시스템) 기반 검색 색인기 전면 개편

2022~2023년, Kotlin + WebFlux(비동기·논블로킹 웹 프레임워크) 기반 검색 API 전면 개편 — 핫딜·프로모션 때 몰려드는 대규모 트래픽 대응

KoTest, Mockito, BDD(given-when-then) 기반의 테스트 주도 개발과 클린 코드 리팩토링

핫딜이 열리는 순간, 수많은 사람이 동시에 검색창을 두드립니다. 그 트래픽을 0.1초라도 빠르게 받아내기 위해 쿼리를 깎고, 색인 구조를 바꾸고, 새벽에 모니터링 그래프를 들여다보던 날들. 힘들었지만, 개발자로서 가장 ’살아 있다’고 느낀 시간이기도 했습니다.

5장. 번아웃 — 멈춰야 보이는 것들

솔직하게 고백하자면, 그 뜨거움에는 대가가 있었습니다.

오래 앉아 있는 생활, 끝나지 않는 장애 대응, 늘 “다음 버전”을 향해 달리는 일상. 어느 순간부터 몸이 먼저 신호를 보내기 시작했습니다. 그렇게 좋아하던 코드가 무겁게 느껴졌고, 새로운 기술 소식이 설렘보다 피로로 다가왔습니다. 번아웃이었습니다.

2023년 워트인텔리전스 에서 Elasticsearch 8.x 클러스터를 구축하고 주요국 특허 데이터 색인기를 만들며 JMeter 부하 테스트로 성능을 검증하는 POC(개념 검증)를 마무리했지만, 마음 한편은 이미 많이 지쳐 있었습니다. 그래서 잠시 멈추는 시간을 가졌습니다.

멈추고 나서야 보이는 것들이 있었습니다. 내가 왜 이 일을 시작했는지, 무엇이 나를 신나게 했는지. 저는 ’기술 그 자체’보다 ‘내가 만든 것이 누군가에게 쓰이는 순간’ 을 좋아하는 사람이었습니다. 그리고 그건 여전히 변하지 않았다는 것도요. 바이크를 타고 바람을 맞으며, 오랜만에 낚싯대를 드리우며, 조금씩 다시 숨을 골랐습니다.

6장. 다시 현장으로 — 1,900만 명의 지갑 (2024–2026)

2024년 12월, 다시 현장으로 돌아왔습니다. 무대는 국내 최대 규모의 S전자 월렛(페이) 서비스 . 월간 사용자(MAU) 1,900만 명 이 쓰는 서비스의 백엔드를 SRE운영그룹에서 개발하고 운영했습니다.

WebFlux 기반 OAuth 2.0(표준 로그인·권한 위임 방식) 파트너 인증 프로젝트 리팩토링

MySQL 다중 행(multi-row) 구조를 JSON 구조로 바꾸는 데이터 구조 리팩토링

Kafka 대량 트랜잭션 메시지 컨슈밍 (쏟아지는 메시지를 받아 처리하는 일)과 클라이언트 라이브러리 업그레이드

고객·파트너 간 안전한 데이터 교환을 위한 JWT(JWS·JWE) 서명·암호화 처리

결제 프로모션과 당첨 프로세스 운영·개발, 대용량 요청에 대한 비동기 처리와 성능 개선

OpenSearch·Kibana 기반 모니터링과 대시보드 관리

돈이 오가는 서비스는 무게가 다릅니다. 작은 버그 하나가 누군가의 결제 실패가 되니까요. 검색에서 다져온 ’대용량’과 ’성능’의 감각이, 이번에는 ’안정성’과 ’보안’이라는 새로운 무게를 만나 한 단계 더 단단해졌습니다.

그리고 이 시기, 제 일하는 방식을 바꾼 변화가 하나 있었습니다. AI와 함께 코딩하기 시작한 것 입니다. 바이브코딩(AI에게 의도를 설명하며 함께 코드를 만드는 방식)과 LLM을 업무에 들이면서, 23년간 쌓은 경험이 AI라는 도구를 만났을 때 어떤 일이 벌어지는지 체감하게 되었습니다. 꺼져가던 불씨에 다시 바람이 들어오는 느낌이었습니다.

7장. AI 시대, 두 번째 시작 (2026–)

2026년 10월, 저는 새로운 프로젝트에 합류했습니다. S사 사내 LLM 플랫폼 구축 및 운영 입니다. Python(FastAPI·Flask)으로 백엔드를, React로 화면을, Airflow(작업 자동 스케줄러)로 배치를 다루며, 보안이 철저한 폐쇄망 환경에서 기업용 AI 서비스를 만들고 있습니다.

AI가 코드를 써주는 시대에, 23년 차 개발자의 가치는 무엇일까요? 저는 이렇게 답하고 싶습니다.

“무엇을 만들어야 하는지, 그리고 어디서 무너지는지 아는 것.”

AI는 코드를 빠르게 만들어 주지만, 6억 건 데이터 앞에서 시스템이 어디서 버티지 못하는지, 1,900만 명이 동시에 몰릴 때 무엇부터 막아야 하는지는 겪어본 사람이 압니다. 그리고 흥미롭게도, 요즘 AI…