고정완

Backend Engineer

📝: https://github.com/ghojeong

📮: rhwjddhks@gmail.com

📞: 010-3878-1459

맡은 제품에 강한 책임감을 가지고 파고드는 개발자 고정완입니다.
4년간 드림포라의 테크리드로 서비스를 바닥부터 만들며 200만 사용자, MAU 16만을 달성했습니다.
4년간 ATDD Cycle을 실천했습니다. 커버리지 보다는 요구사항을 정확히 검증하는 테스트를 추구합니다.

5년간 끊임없이 개발 스터디 활동을 했으며, 동작원리를 깊게 파고드는 공부를 좋아합니다.
스터디 활동을 인정받아 NEXTSTEP과 우아한테크코스에서 전문 리뷰어 활동을 했습니다.
바닐라 언어만으로 프레임워크를 바닥부터 만드는 스터디에 자주 참여합니다.

UNIST 에서 컴퓨터공학과 수리과학을 융합전공하여 성적우수 졸업했습니다.
문제를 풀기 전에, 문제 요구사항을 수학적으로 정의하는 훈련을 받았습니다.

실무 경력

Bithumb

회원인증팀 백엔드 개발자

2025.09.01 -

  • KCB 휴대폰 인증을 활용한 SBS 가요대전 방청권 신청 시스템 개발 (1.7만 RPS)
  • FIU 자료제출에 대비한 회원 데이터 정합성 검증 배치 개발

SumOne

계약직 백엔드 개발자

2025.05.12 - 2025.08.14

  • 1900만명의 회원 데이터를 PostgreSQL 에서 DynamoDB 로 무중단 마이그레이션
  • Prisma 인터페이스와 호환되도록 DynamoDB 쿼리빌더와 DAO 구현

Dreamfora

백엔드 테크리드

2021.08.25 - 2025.03.25

  • IDC에서 AWS 클라우드로 인프라 전환 후 장애빈도 99% 감소
  • 쿼리튜닝과 DB 파티셔닝 후 서버비용 82% 절약
  • Dreamfora 경력기술서 링크

Ecube Labs

웹 개발자

2018.10.15 - 2020.12.28

  • 한국 고양 시와 계근 하드웨어 업체를 위해 OAuth2 인증 서버와 리소스 서버 구현
  • 일본 이치카와 시의 유료 공공 쓰레기통을 위한 QR 기반 인증 및 과금 시스템 구축
  • Ecube Labs 경력기술서 링크

기술 역량

프레임워크

Spring Boot, Spring Security, Spring Batch, JPA

데이터베이스

Oracle, MariaDB, DynamoDB

클라우드 & 인프라

AWS: EC2, RDS, S3, ALB, VPC, CloudFront, Route53, IAM, DMS
CI/CD: Docker, ECS, CodePipeline, Blue-Green, Rolling

성능 최적화

쿼리 플랜과 인덱스, DB Cursor
NetFunnel, Rate Limiting, Back Pressure, Redis 캐싱

테스트 & 품질 관리

JUnit, TDD, ATDD, REST Assured, REST Docs
Dreamfora 실무 개발에서 테스트 커버리지 86% 유지

Bithumb 프로젝트 상세

SBS 가요대전 방청권

1.7만 RPS 처리 가능한 시스템 구축

KCB, Java, Spring, Aurora, Redis

프로젝트 개요
10분 동안 50만 신청이 예상되는 SBS 방청권 신청 시스템 개발

팀 구성 및 역할

  • 단독으로 BE 로직 개발, 테이블 및 아키텍처 설계 담당
  • DevOps 팀에서 인프라 검수 / 데이터 팀에서 모델 검수

주요 업무

  • KCB 휴대폰 인증을 활용한 비회원 방청권 신청 로직 구현

문제 해결 과정

  • 트래픽 제어 전략
    • Net Funnel을 통한 단일 진입 포인트 유량 제어
    • Service Gateway에 Request Rate Limit 설정 (1.7만 RPS)
  • 비동기 처리 아키텍처
    • Kafka 이벤트 발행을 통한 Back Pressure 구현
    • 이벤트 발행은 1.8만 RPS로 처리, DB 쓰기는 1,288 TPS로 관리
    • KCB 인증 결과 저장과 알림톡 발송에 대한 Consumer 를 분리
    • 알림톡 과부하 방지를 위한 발송 킬 스위치 구현
  • 데이터 처리
    • Redis 임시 캐싱 후 Write Back 방식으로 DB 부하 감소
    • 중복 검사와 같은 모든 조회 로직은 Redis 캐시 활용

기여 성과

  • 1.7만 RPS를 처리 가능한 시스템 구축
  • 생애최초 신규회원 2만명 모객

SumOne 프로젝트 상세

1900만명 회원 데이터

서비스 무중단 마이그레이션

PostgreSQL, DynamoDB, DMS

프로젝트 개요
커플 다이어리 서비스의 전체 회원 데이터를 PostgreSQL에서 DynamoDB로 마이그레이션

팀 구성 및 역할

  • 단독으로 마이그레이션 구현 및 설계 담당

주요 업무

  • 회원 1900만명의 데이터 마이그레이션 전략 수립 및 실행
  • Prisma 인터페이스에 호환되도록 DynamoDB 쿼리빌더와 DAO 구현
  • 커플 단위 Spatial Locality 를 위해 Partition Key, Sort Key 설계

문제 해결 과정

  • 1단계: 양쪽 DB 동시 쓰기 (PostgreSQL 읽기, 롤백 대비)
  • 2단계: AWS DMS 기반 Heterogeneous 마이그레이션
    • DynamoDB Put 의 attribute_not_exists 옵션 활용
    • 1단계의 최신 데이터가 오래된 데이터로 덮어씌워지 않도록 방지
  • 3단계: DynamoDB 읽기 전환 (2주간 모니터링 후 PostgreSQL 쓰기 중단)
  • 4단계: PostgreSQL 의 데이터 정리

기여 성과

  • 서비스 무중단 마이그레이션
  • 롤백 가능한 점진적 마이그레이션 전략으로 리스크 최소화
  • 커플 단위 데이터 파티셔닝으로 쿼리 성능 향상

Dreamfora 프로젝트 상세

인증을 세션 기반에서 JWT 기반으로 변경

인증 시간 8초에서 0.1초로 단축

Java, Spring Security, JWT

프로젝트 개요
세션 기반 인증 구조를 JWT 기반 sessionless 형태로 전환하여 인증 성능 개선

팀 구성 및 역할

  • 4명의 팀으로 개선된 인증 방식을 구현 (백엔드 2명, 모바일 2명)
  • 단독으로 문제 분석 후, 팀 전체에게 인증 아키텍처 개선을 설득

주요 업무

  • Spring Security를 활용한 JWT 기반 인증 시스템 설계 및 구현
  • AccessToken (1주일 갱신) / RefreshToken (6개월 유효) 분리 구조 설계

문제 해결 과정

  • 세션 성능 문제 분석
    • 세션이 Storage에 저장되어 I/O 병목 발생
    • 8천만 개의 세션이 TTL 없이 누적
    • 인덱스 미설정으로 풀스캔 발생
  • JWT 아키텍처 설계
    • Stateless 아키텍처로 서버 부하 감소
    • Token 갱신 전략으로 보안과 UX 균형

기여 성과

  • 인증시간 8초에서 0.1초로 단축
  • 서버 확장성 향상 (세션 공유 불필요)
  • 보안 강화 (토큰 기반 인증)

AWS 로 인프라 전환

장애 빈도 99% 감소

EC2, ECS, RDS, S3, ALB, VPC, CloudFront, Route53, IAM

프로젝트 개요
IDC 호스팅에서 AWS 클라우드로 인프라 전환

팀 구성 및 역할

  • 단독으로 메가존 클라우드의 컨설팅을 받으며 수행
  • 인프라 전환 후 백엔드 팀에게 클라우드 교육 담당

주요 업무

  • AWS 인프라 아키텍처 설계 (VPC, EC2, RDS, ALB, S3, CloudFront)
  • 보안 강화 (VPC 망분리, Bastion Host)
  • 무중단 배포 파이프라인 구축 (ECS, CodePipeline)
  • dev/stage/production 환경 분리

문제 해결 과정

  • 클라우드 아키텍처
    • Load Balancer를 통한 WAS 이중화
    • RDS 백업 설정으로 데이터 안정성 확보
    • VPC 사설망으로 DB 보안 강화
  • 무중단 배포
    • dev/stage: NGINX 포트 포워딩 Blue-Green 배포
    • production: ECS Rolling 배포 (빠른 롤백 대응)
  • DNS 전환 리스크 관리
    • Name Server 48시간 TTL 대비 Redirect 프록시 구축

기여 성과

  • WAS 이중화 후 장애 빈도 99% 감소
  • AWS 스타트업 Credit 지원 확보
  • 배포 자동화로 개발 생산성 향상

스키마 설계, 쿼리 튜닝

서버 비용 82% 절감

Java, Spring, JPA, MariaDB

프로젝트 개요
재귀 쿼리와 N+1 문제를 해결하기 위한 DB 스키마 재설계 및 성능 최적화

팀 구성 및 역할

  • 2명의 백엔드 팀으로 진행
  • 스키마 재설계와, 데이터 마이그레이션 담당
  • 사내 스터디와 코드리뷰를 통해 리팩토링을 위한 컨벤션 정의

주요 업무

  • 재귀 쿼리를 JOIN 쿼리로 변경 가능한 스키마 재설계
  • SQL Stored Procedure를 테스트 가능한 Java 로직으로 전환
  • 쿼리 플랜 분석 및 인덱스 최적화

문제 해결 과정

  • 스키마 재설계
    • 재귀 쿼리의 정지 조건 오류로 인한 서버 성능 저하 문제 분석
    • JOIN으로 해결 가능한 테이블 구조로 재설계
  • 코드 리팩토링
    • Stored Procedure → Java 객체 변환
    • 단위 테스트로 로직 검증
    • 쿼리 플랜 분석 후 필요 인덱스 추가
  • 데이터 마이그레이션
    • Spring Batch 활용
    • JPA BatchStatement 최적화
    • Persistable 인터페이스 override 로 N+1 SELECT 제거

기여 성과

  • 서버 비용 월 1,518달러에서 270달러로 82% 절감
  • 일일 서버 리소스 비용 51.2달러에서 7.3달러로 감소

EcubeLabs 프로젝트 상세

파트너사를 위한 OAuth2

인증 서버와 리소스 서버 구축

Express.js, MySQL, JWT, apiDoc

프로젝트 개요
한국 고양시 쓰레기 매립지의 계근 작업 자동화를 위한 RESTful API 개발.
파트너 하드웨어 업체가 계근 데이터를 서버와 동기화하도록 OAuth2 인증 서버와 리소스 서버 구현

팀 구성 및 역할

  • 3명의 팀으로 진행 (백엔드 2명, DevOps 1명)
  • 인증 및 리소스 API 구현 및 문서화 담당

주요 업무

  • JWT 기반 OAuth2 인증/인가 시스템 설계 및 구현
  • 계근 데이터 CRUD API 개발 및 문서화
  • 파트너 하드웨어 업체와의 API 연동 지원 및 외부 교육

문제 해결 과정

  • 토큰 권한 관리
    • 권한별 API 접근 제어를 비트마스크로 구현
  • API 사용량 모니터링
    • API 호출 로그를 수집하여 사용량 대시보드 제공
    • API 사용량에 따른 과금 데이터 제공

기여 성과

  • 오프라인 USB 전달 방식에서 온라인 실시간 데이터 전송으로 전환
  • 정부 시청과의 데이터 공유 주기를 수개월에서 실시간으로 단축
  • API 문서화로 외부 업체 연동 비용 감소

QR 기반 인증 및 과금

이치카와시 공공 쓰레기통 유료화

React, TypeScript, Redux

프로젝트 개요
일본 이치카와시에 설치된 스마트 공공 쓰레기통 시스템 개발
쓰레기 배출자를 QR 코드로 인증하고, 배출량에 따라 과금

팀 구성 및 역할

  • 4명의 팀으로 진행 (웹 개발자 2명, IoT 엔지니어 2명)
  • QR 기반 인증의 웹 로직 담당

주요 업무

  • 웹/앱을 통한 QR 이미지 생성 기능 개발
  • 이치카와시 공무원용 관리자 모니터링 대시보드 개발
  • GraphQL API 호출 최적화를 위한 커스텀 훅 설계

문제 해결 과정

  • 비동기 처리 최적화
    • GraphQL API 호출을 모두 커스텀 훅으로 비동기 처리
    • React Hooks를 활용한 상태 관리로 렌더링 최적화
    • redux-observable과 RxJS를 활용한 복잡한 비동기 플로우 관리
  • 다국어 지원
    • react-intl을 활용한 일본어 지원

기여 성과

  • 이치카와시의 쓰레기 배출 추적을 통한 공공 쓰레기통 유료화 시스템 구축

E2E 테스트 환경 구축

웹/모바일 E2E 테스트 환경 구축

Selenium, Appium, Jest

프로젝트 개요

  • 웹 및 모바일 앱(React Native)에 대한 E2E 테스트 자동화 환경 구축
  • Selenium과 Appium을 활용하여 사용자 시나리오 기반 테스트 작성

팀 구성 및 역할

  • 단독으로 개선 방안 제안 후 사례 공유

주요 업무

  • Selenium을 활용한 웹 E2E 테스트 환경 구축
  • Appium을 활용한 React Native 모바일 앱 E2E 테스트 환경 구축
  • 사용자 인증 플로우 테스트 자동화
  • 테스트 코드 작성 가이드 문서화

문제 해결 과정

  • React Native 컴포넌트 접근성 문제
    • Animated.View로 감싸진 컴포넌트는 XPath를 사용해야 이벤트 전달 가능
    • accessibilityId 접근 방식이 iOS 환경에서 불안정한 문제 발견
    • XPath 기반 요소 선택으로 크로스 플랫폼 안정성 확보
  • 테스트 안정성 향상
    • 비동기 렌더링으로 인한 타이밍 이슈 해결 (명시적 대기 조건 추가)
    • 테스트 환경 격리를 위한 데이터 초기화 스크립트 작성
  • 팀 문화 정착 시도
    • E2E 테스트 작성 가이드 문서화 및 팀 공유
    • 테스트 자동화의 이점을 개발팀과 QA팀에 전파

기여 성과

  • 웹/모바일 E2E 테스트 인프라 구축
  • 인증 플로우 자동화 테스트로 회귀 버그 조기 발견 가능

교육 활동

우아한테크코스 리뷰어

Kotlin 을 교육하며 코드리뷰

2024.02.13 - 2024.06.24

JPA 리뷰어

바닐라 자바로 Hibernate 구현

2023.10.14 - 2023.11.25

Spring 리뷰어

바닐라 자바로 프레임워크 구현

2022.07.18 - 2022.09.29

TDD 리뷰어

객체지향과 TDD 를 교육

2021.03 - 2021.05

  • 객체지향 생활체조 원칙을 바탕으로, 단위테스트 작성을 교육
  • 코드리뷰 예시 : 테스트와 책임분리

한빛미디어 강사

공감세미나를 기획하고 개최

2019.03 - 2019.06

  • 개발 문서화를 주제로 한빛미디어의 후원을 받은 세미나를 기획하고 개최
  • 세미나에서 다룬 개념들 : 사전정의서, 요구사항 명세서, ERD, 프로세스 Flow Chart

스터디 활동

ATDD in Legacy

ATDD 사이클로 레거시 리팩토링

2025.09.01 - 2025.09.28

  • 기획 문서가 없을 때, 레거시 코드만으로 요구사항 문서 도출
  • RestAssured, Cucumber, WireMock 테스트 라이브러리 활용
  • CI/CD 파이프라인에 ATDD를 통합하여 자동화된 배포 체계를 구축
  • 교육 프로그램 링크

Spring Security

Spring Security 바닥부터 구현

2025.02.02 - 2025.03.09

  • 스프링 시큐리티 소스코드를 모방하여, 바닐라 자바로 구현
  • 인증과 인가 기능을 프레임워크에서 확장성 있게 제공하도록 구현
  • 구현한 개념들 : SecurityFilterChain, RoleHierarchy, OAuth2, CSRF
  • 교육 프로그램 링크

커널 function trace

오픈소스 컨트리뷰톤 장려상 수상

2022.06.08 - 2022.11.22

  • 리눅스 커널의 함수 콜을 추적하는 uftrace 오픈소스 프로젝트에 참여
  • 메일링 리스트를 통해 git patch 파일을 주고 받으며 협업
  • 테스트 코드 실패 해결과 잘못된 출력 문구 수정에 기여

테스트주도 문서화

REST Docs로 인수테스트를 문서화

2021.03.07 - 2022.04.18

  • 기획 요구사항과 일치하는 어휘를 인수테스트의 어휘로 사용
  • 작성한 테스트가 살아있는 문서가 될 수 있도록 REST Docs 활용
  • 교육 프로그램 링크