PERF
// DEV TYPE 03
🔬 퍼포먼스 집착자

O(n²)을 O(n log n)으로 바꾸는 데 이틀을 쓴다. 실제 성능 차이는 0.001초지만, 그게 중요한 게 아니다. 원칙의 문제다.

#성능최적화 #알고리즘 #프로파일링 #벤치마크 #과집착 #실용성부족
1μs
최소 허용 응답 시간
99%
프로파일러 사용률
O(log n)
목표 시간복잡도
0개
방치된 N+1 쿼리

퍼포먼스 집착자란?

퍼포먼스 집착자(PERF) 유형은 개발팀에서 가장 수치에 예민한 개발자입니다. 코드가 작동하는 것으로는 충분하지 않습니다. 빠르게 작동해야 합니다. 그리고 그 '빠름'의 기준은 일반인이 느끼기 어려운 마이크로초 단위입니다. 이들의 책상에는 항상 프로파일링 결과 스크린샷과 벤치마크 비교 차트가 있으며, 팀 회의에서 가장 자주 하는 말은 "이 쿼리 실행 계획 보셨어요?"입니다. APM 대시보드가 배경화면이고, p99 레이턴시가 화면에 항상 떠 있습니다.

PERF 유형은 데이터베이스 인덱스, 캐싱 전략, 메모리 관리, CPU 캐시 지역성 같은 개념을 일상 대화에서 자연스럽게 꺼냅니다. 코드리뷰를 할 때도 로직보다 성능을 먼저 봅니다. 루프 안에서 배열 길이를 매번 계산하는 코드를 보면 밤잠을 설칩니다. Redis 캐시 적중률이 95% 아래로 떨어지면 온몸이 반응합니다. p99 레이턴시가 50ms를 넘으면 그날 저녁이 바빠집니다. 이들에게 "충분히 빠르다"는 말은 존재하지 않습니다. 더 빠를 수 있다면 언제나 더 빠르게 만들어야 합니다.

이 유형의 개발자들은 알고리즘 복잡도 분석을 밥 먹듯이 합니다. 새 기능을 구현할 때 가장 먼저 고민하는 것이 "이 방법의 시간복잡도는?"입니다. Big-O 표기법은 이들의 모국어이고, 해시맵과 이진 탐색 트리의 차이는 취침 전 생각하는 주제입니다. 시스템 부하 테스트 결과를 분석하며 보내는 주말이 이들에게는 소소한 행복입니다. 팀원들이 미처 생각하지 못한 트래픽 폭증 시나리오를 미리 대비해두는 것도 이들의 몫입니다. 어느 날 갑자기 언론에 서비스가 소개되어 트래픽이 10배 뛰어도, PERF가 있는 팀은 버텨냅니다.

// PERF 유형의 코드리뷰 실제 코멘트

// ❌ 팀원이 작성한 코드:
for (let i = 0; i < users.length; i++) {
  const posts = await db.findAll({ userId: users[i].id });
}
// ⚠️ N+1 쿼리. 유저 100명 → DB 쿼리 101번 발생

// ✅ PERF 제안 수정안:
const result = await db.users.findAll({
  include: [{ model: db.posts }]
});
// JOIN 1번으로 해결. 성능 100배 향상 (벤치마크 첨부)

"코드가 작동한다고 끝이 아니에요. 동시 사용자 100명이 사용해도 작동해야 진짜 코드죠. 성능 테스트 없는 배포는 눈 감고 운전하는 것과 같아요. 지금은 괜찮아 보여도 언젠가 반드시 터집니다."

— PERF 유형 백엔드 시니어 개발자

능력치 분석

알고리즘 최적화98%
성능 분석/프로파일링96%
DB 쿼리 튜닝92%
벤치마크 설계90%
캐싱 전략88%
코드 가독성45%
빠른 구현40%
팀 커뮤니케이션62%
// PERF의 일상 도구
🔧 프로파일러 — py-spy, async-profiler, Chrome DevTools
📊 모니터링 — Grafana, Datadog, New Relic
🗄️ DB 분석 — EXPLAIN ANALYZE, slow query log
캐시 — Redis, Memcached, in-memory LRU
🧪 부하 테스트 — k6, JMeter, Locust

핵심 성향 분석

⏱️
수치 집착
응답 시간, 처리량, 에러율, CPU 사용률… 모든 것은 숫자로 표현되어야 하고, 그 숫자는 반드시 개선되어야 합니다. "느린 것 같아요"는 아무 의미 없는 말입니다. 얼마나 느린지 ms로 표현해야 대화가 시작됩니다.
🔍
근본 원인 추구
성능 문제의 증상만 고치는 것에 만족하지 않습니다. 왜 느린지, 어느 레이어에서 병목이 생기는지, 어떤 조건에서 악화되는지 끝까지 파고듭니다. 원인을 모르면 해결한 게 아니라는 신념이 있습니다.
📈
확장성 선행 고려
현재 트래픽이 아닌 10배, 100배 트래픽을 미리 고려합니다. "지금은 괜찮은데 나중에 터지면?"이 입버릇입니다. 이 때문에 과설계 논란이 생기기도 하지만, 그들이 맞았던 경험이 한두 번이 아닙니다.
🧪
실험과 검증
직관으로 최적화하지 않습니다. 반드시 before/after 벤치마크를 측정하고 개선이 수치로 입증되어야 PR을 냅니다. "이게 더 빠를 것 같아요"는 PERF 유형이 절대 하지 않는 말입니다.

실제 개발 현장에서

PERF 유형이 팀에 합류한 첫 주. 기존 시스템을 샅샅이 뜯어보는 장면입니다.

01
Slow Query 분석 — 합류 첫날 가장 먼저 DB slow query log를 켭니다. 100ms 이상 걸리는 쿼리 목록을 뽑아보니 17개. "이거 다 인덱스 없는 풀스캔이네요." 개선 티켓 17개를 즉시 생성합니다.
02
캐시 적중률 확인 — Redis 대시보드를 열어보니 캐시 적중률 68%. "이 정도면 캐시 없는 것과 거의 같아요." 캐시 키 전략을 재설계하고 TTL 정책을 정비해서 95%까지 올립니다.
03
코드 프로파일링 — 주문 처리 API가 왜 300ms인지 프로파일러로 뜯어봄. 전체 시간의 40%를 차지하는 함수 발견. 불필요한 중첩 루프 안에 DB 쿼리가 들어가 있음. 리팩토링 후 80ms로 단축. 4배 개선.
04
부하 테스트 — k6로 동시 사용자 1000명 시나리오 실행. 특정 엔드포인트에서 p99 레이턴시 8초 발생. 원인은 DB 커넥션 풀 부족. 풀 크기 조정 및 쿼리 최적화로 p99 200ms 달성.
05
팀 공유 — 한 주 분석 결과를 발표합니다. "현재 시스템은 동시 사용자 500명 이상이면 서비스 장애가 발생합니다." PM이 창백해집니다. 다음 스프린트 절반이 성능 개선으로 채워집니다.

유형별 궁합

🏗️
ARCH
아키텍처 설계자
설계 단계에서 성능을 함께 고려하는 최강 조합. 과설계 위험이 있지만 결과물은 튼튼하고 빠릅니다.
최고
🤖
AUTO
자동화 광신도
성능 테스트 자동화 파이프라인 구축에 최고의 조합. CI에 벤치마크가 포함된 꿈의 팀.
좋음
🔥
HACK
핵앤슬래시 코더
HACK의 빠른 구현을 PERF가 최적화합니다. 서로 역할이 보완되어 의외로 잘 굴러갑니다.
보통
🎨
UI
UI 퍼펙셔니스트
UI가 애니메이션 추가할 때마다 PERF가 렌더링 성능 문제 제기. 끝없는 줄다리기. 결과물은 빠르고 예쁨.
갈등
📚
DOCS
문서화 신봉자
PERF의 최적화 결과와 근거를 DOCS가 문서화. 팀 성능 지식 자산이 쌓이는 이상적 조합.
좋음

강점과 성장 포인트

✅ 강점

서비스가 갑자기 폭발적으로 성장할 때, 미리 대비해둔 PERF 유형 덕분에 팀이 위기를 넘기는 경우가 많습니다. 이들이 만든 쿼리 최적화, 캐싱 레이어, 비동기 처리 구조는 10배 트래픽이 와도 버텨주는 든든한 기반이 됩니다. 복잡한 성능 문제를 프로파일러와 벤치마크로 데이터 기반으로 진단하고 해결하는 능력은 다른 유형이 쉽게 따라하기 어려운 고유한 강점입니다. 데이터베이스 인덱스 전략, 커넥션 풀 관리, CDN 설정, 압축 알고리즘 선택 등 인프라 레벨의 최적화에서도 탁월한 판단력을 보입니다.

⚠️ 성장 포인트

현재 트래픽 100명인 서비스에 10만 명 대비 최적화를 하는 것은 시간 낭비일 수 있습니다. 성능 최적화도 실제 병목이 있을 때 하는 것이 훨씬 효율적인 경우가 많습니다. 최적화된 코드는 종종 이해하기 어려워 팀원들의 유지보수 부담이 높아집니다. 가독성과 성능 사이의 균형을 찾고, 지금 당장 필요한 최적화와 미래를 위한 최적화를 구분하는 현실적 판단력이 성장의 핵심 과제입니다.

어울리는 포지션

백엔드 성능 엔지니어
대규모 트래픽 처리, 레이턴시 최소화가 핵심인 환경에서 최고의 역량을 발휘합니다. 대형 플랫폼 서비스가 최적의 무대입니다.
🗄️
DBA / 데이터 엔지니어
쿼리 최적화와 데이터베이스 설계에 대한 집착이 직무와 완벽하게 맞아떨어집니다. 인덱스 전략과 실행 계획 분석이 일상입니다.
🎮
게임 서버 개발자
밀리초 단위 성능이 사용자 경험에 직결되는 게임 서버 개발은 PERF 유형의 천국. 실시간 동기화와 물리 연산 최적화가 일상입니다.

나는 정말 PERF 유형일까?

20가지 현실 개발 상황으로 정확한 유형을 확인하세요.