- Product Engineer로서, 기술적 해답보다 제품의 목적과 사용자의 맥락을 먼저 고민합니다.
- Product Engineering 철학을 공유하기 위해 Product Engineering Community를 운영하고 있습니다.
- CI 테스트 속도를 1200초에서 90초로 개선하여 개발 생산성을 크게 향상시켰습니다.
- 운영 배포 시 수동으로 진행하던 Git 태그 생성 작업을 자동화하여 반복 작업을 줄이고, 배포 실수를 방지했습니다.
- 피처 개발 일정 속에서도 조직의 불편을 인지하고, 선제적 해결을 위해 노력합니다.
항상 제품 관점에서 사고합니다.
조직의 생산성 향상을 통해 좋은 제품을 만드는 문화를 만들어갑니다.
Work Experience
클랩(CLAP)
Frontend Engineer
2024.03 ~ 재직 중
💡 최고의 조직을 만드는 성장관리 솔루션 클랩을 개발, 유지보수합니다.
제품의 복잡도를 줄이고, 사용자 경험을 향상시키는 방향으로 기능을 설계하고 개발합니다.
Next.jsReactTypeScriptTanstack QueryStorybookJest
📦 대용량 데이터 테이블 컴포넌트를 설계하였습니다.
- 사내 디자인 시스템에서 사용하는 Material UI 기반의 Material React Table 채택 및 PoC 공유
- Headless 모드가 아닌, MRT의 기본 기능을 활용하면서 사내 디자인 시스템에 맞춘 스타일 커스터마이징 적용
- Row selection, tree 등 다양한 시나리오에 대응 가능한 테이블 컴포넌트 개발
- 고객 UX 분석을 통해 전체 선택 제거 → 최대 Page Size 선택 정책으로 인터랙션 간소화
- 가상 스크롤 + O(n) 트리 유틸 적용으로 대용량 렌더링 최적화
- 무한 스크롤로 초기 로딩 성능 개선
- Optimistic Update를 통하여 별도의 로딩 없이 사용자 액션에 대한 즉각적 피드백 제공
📝 가장 복잡한 도메인인 리뷰 도메인을 고도화하여 고객에게 편의를 제공하였습니다.
- 피평가자별 리뷰 작성자 매칭·승인 기능
- 평가 준비 과정에서 발생할 수 있는 오류를 최소화하고, 피평가자의 평가자 관리를 시스템에서 할 수 있도록 함
- 리뷰 예약 기능
- 사용자가 원하는 시간에 리뷰를 시작할 수 있도록 하여, 기존에 즉시 시작해야만 했던 불편함을 해소
- '리뷰 작성 관리자' 권한 분리 기능
- 관리자 외에도 리뷰 작성자 및 피평가자를 관리할 수 있도록 하여, 관리자가 아닌 사람도 더 효율적으로 프로세스를 진행 가능
- 목표 연계형 리뷰 기능
- 리뷰와 목표를 자동으로 연결, 목표 달성 경로를 명확하게 제시하여 사용자 피드백을 더 직관적으로 제공
- 즉시 목표 추가 기능
- 사용자가 리뷰 작성 중 목표를 추가할 수 있도록 하여, 수립한 목표가 없더라도 평가할 수 있는 목표를 추가할 수 있는 기능을 제공
🧪 메이커들의 생산성을 높이기 위해 노력합니다.
- CI 테스트 속도를 1200초에서 90초로 대폭 개선 (링크)
- ts-auto-mock의 런타임 타입 체크로 인한 성능 이슈를 해결하기 위해 createMock 유틸 함수를 개발하여 2600개의 테스트 케이스 실행 시간 단축
- 릴리즈 커맨드를 자동 생성하는 기능 개발 및 npm 패키지 배포 (링크)
- 이를 통해 릴리즈 드라이버가 수동으로 커밋 해시를 수집하고, 시간 순으로 정렬하는 작업을 자동화하였습니다.
- Production 배포 시에 자동으로 Git Tag를 생성하고 push 하도록 워크플로우를 개선
- 이를 통해 수동으로 Git Tag를 생성하고 push하는 불편함을 해결하였습니다.
- Atomic Design, Storybook 기반의 컴포넌트 단위 개발 및 문서화
- Jest 기반 테스트 코드 작성으로 유틸/훅의 신뢰성 확보
- Sentry 수집 에러 필터링 → 의미 있는 에러 대응 체계 구축
- VOC 이전에 문제를 발견하고 해결하는 사전 대응 시스템 운영
🛠 조직이 겪는 기술적인 문제를 피쳐 개발과 병렬적으로 해결합니다.
- DTO ↔ 클라이언트 타입 불일치 이슈를 병렬적으로 해결하여 일정 지연 없이 배포
중고나라
Frontend Engineer
2023.03 ~ 2024.03
�� MAU 160만의 중고나라 웹서비스, 앱서비스 내의 웹뷰를 개발 및 유지보수합니다.
중고거래 헤비 유저로서, 사용자 관점에서 다양한 의견을 제시하고, 개발 뿐 아니라 기획 측면에서도 기여하였습니다.
🛒 매출이 없던 웹 서비스에서 앱 서비스 대비 10% 매출을 낼 수 있도록 기여하였습니다.
- Web Socket 기반 채팅 서비스 신규 구축으로 앱 대비 웹 서비스에서 매출 10% 달성에 기여
- AWS Amplify의 고정 IP 미지원 문제를 파악하고, 사내망 전용 테스트 환경을 Docker 기반으로 마이그레이션
- Tanstack Query의 staleTime/cacheTime 설정을 통해 네트워크 요청 수 최적화
🛠 한 명의 중고거래 유저의 관점에서, 제품 사용성 개선에 기여하였습니다.
- Suspense & Lazy Loading을 활용해 스켈레톤 UI 제공, Network Waterfall 문제를 해결하여 로딩 속도 개선
- Elasticsearch의 비실시간성 이슈를 낙관적 업데이트로 해결하여 사용자 대기 시간 최소화
🔧 부족한 리소스에서도 코드 품질 개선을 멈추지 않았습니다.
- React Testing Library로 배송 관련 UI 테스트를 구축하여 QA 리소스 없이 '받는 분/보내는 분' 로직을 안정적으로 분리
- 팀원이 개발한 로직을 테스트 코드 기반으로 체화하고, 세븐일레븐 편의점 택배 서비스 기능을 안정적으로 런칭
📝 새로운 팀원이 빠르게 적응할 수 있도록 온보딩 가이드를 문서화하였습니다.
- 처음 들어오는 팀원이 생소해할 수 있는 AWS 환경 설정 및 사용법을 문서화하였습니다.
- 웹, 앱 서비스의 히스토리 및 개발 환경을 문서화하였습니다.
Project
또잇또잇
2023.11 ~ 2024.02
맛집을 알아보기 위한 새로운 기준을 제공합니다.
두 번 이상 간 내 맛집을 공유하는 서비스
- 팀 리드로서 회의를 주도적으로 진행하고, 파트 별 일정관리를 담당하였습니다.
- 로그인, 약관, 검색, 리뷰 작성 페이지 및 기능을 담당하여 개발하였습니다.
- Github Actions의 workflow를 통해 CI 단계에서 Lint, 빌드 테스트, 프리뷰 기능을 추가하여 배포 시 에러가 발생할 수 있는 가능성을 낮췄습니다.
- 첫 로그인 여부에 따른 리다이렉트 로직을 Next.js의 middleware를 활용하여 서버 사이드에서 수행하도록 하였고, 이를 통해 사용자가 빈 화면을 보지 않도록 하였습니다.
Activity
디프만 14, 15기
2023.11 ~ 2024.09
- 디자이너와 개발자가 만나 서비스 기획부터 런칭까지 하나의 프로덕트를 완성하며 성장하는 IT 커뮤니티인 디프만에 프론트엔드 개발자로 참여하였습니다.
- 프로젝트 팀 리드를 담당하였습니다.
- 15기에는 운영진으로 참여하여, 70명 규모의 행사를 전반적으로 관리하였습니다.
SOPT 31기
2022.09 ~ 2023.01
- 대학생 연합 IT 벤쳐창업 동아리인 SOPT에 프론트엔드 개발자로 참여하였습니다.
- 기획자, 디자이너, 백엔드 개발자와 협업하여 서비스 배포를 경험하였습니다.
멋쟁이사자처럼 프론트엔드 스쿨 2기
2022.03 ~ 2023.08
- 멋쟁이사자처럼에서 주관하는 프론트엔드 스쿨 2기에 참여하였습니다.
- 프론트엔드 개발자 4명이 팀을 이뤄 React 기반 오픈마켓 서비스를 개발하였습니다.
- 팀장 역할을 수행하고, Git, Github 사용이 처음이라 어려움을 겪는 팀원들을 위해 프로젝트 이전 시뮬레이션을 기획하고 주도하였습니다.
Education
경희대학교
2017.03 ~ 2023.08
산업경영공학과 졸업