이재호 Jaeho Lee
요약
10년 넘는 경험을 가진 프로덕트 엔지니어이며, 주로 웹 기술을 사용해 개발해 오고 있습니다. 프로덕트와 동료들의 생산성 향상에 직접적으로 기여할 수 있는 환경에서 일하는 것을 선호합니다. 디자인과 디테일에 신경을 많이 쓰지만, 한 번에 완벽한 프로덕트를 만들기보다는 점진적으로 향상시켜야 한다는 생각을 견지하고 있습니다.
업무와는 별도로 오픈 소스 생태계에 관심이 많아 늘 공부하고 기여할 기회를 찾고 있습니다. 오픈 소스 프로젝트들에 대한 글을 정기적으로 블로그에 작성하고 있습니다. 최근에는 생성 AI 기술을 이용해 어떻게 코드 생산성을 극대화하고 팀의 성공을 이끌 수 있을지에 관심을 가지고 있습니다.
핵심 역량
경력
세금계산서 피쳐 프론트엔드 개발 (2024.06 — 2024.12)
- 재무 B2B 분야의 확장을 위해 시작된 프로젝트로 세금계산서 리스트와 세금계산서 형태의 작성 UI를 구현했습니다.
- 다양한 세금계산서 발행 상태 및 수정 사유 조합으로 유지보수가 어려워질 수 있어, 복잡한 구조를
ts-pattern등으로 최대한 선언적으로 기술하고 중복 표기를 지양했습니다. Valibot을 이용해 폼 검증을 선언적으로 구성해 어떤 제약 조건이 있는지 쉽게 파악할 수 있도록 했습니다.
'파트너 정산' 프로덕트 리뉴얼 및 송금대행 기능 개발 리드 (2024.01 — 2024.05)
- 회사의 새로운 BM을 위한 B2B 프로젝트로 새로 구성된 팀에 합류해서 0 to 1을 경험했습니다.
- 정산금 송금에 대한 법적 근거를 갖추기 위해 공동인증서 솔루션 Key#Biz를 연동해야 했고, 솔루션이 모던 SPA 앱과 맞지 않는 방식으로 작성되어 있어 iframe을 이용해 추상화하고 사용성을 개선했습니다.
- 정산금 표시 등을 위해 TanStack Table 기반의 테이블을 구현했고, 비슷한 형태의 테이블과 페이지가 계속 늘어나 추상화와 공통화, 파일 네이밍 컨벤션 수립을 진행했습니다.
디자인 시스템 정리 (2025.05 — 2025.09)
- 많은 인원의 퇴사로 방치되어 있던 기존 디자인 시스템의 디자인과 구현 형태를 검토하고,
shadcn/ui기반의 새로운 디자인을 제안해 오랜 기간 동안 점진적 마이그레이션에 기여했습니다. shadcn/ui의 사용을 제안한 이유는 어드민 형태의 룩앤필에 잘 어울렸고 필요한 컴포넌트들이 갖춰져 있었으며, 개인적으로도 Tailwind 기반 디자인 시스템 구현에 익숙했기 때문입니다.- 피그마 정리를 계속적으로 요구하여 컴포넌트 기반으로 변경했고, 결과적으로 프론트엔드 개발자들이 프로퍼티 값을 보고 개발하기 쉬워졌습니다. Figma MCP 등의 사용으로 추가적인 생산성 향상도 가능해졌고, 전체 UI 역시 통일성을 가진 조금 더 완성도 있는 형태로 개선했습니다.
'포트원 애널리틱스' 프론트엔드 개발 및 런칭 (2023.07 — 2023.10)
- 신제품이었던 포트원 애널리틱스의 전반적 UI 개발, 차트 연동 및 GraphQL API 연동을 통해 성공적인 런칭을 완료했습니다.
프론트엔드 생산성 개선 및 UX 개선 (2025.01 — 2025.09)
- Vercel 배포로 인해 version skew가 발생하는 부분을 사용자가 에러로 경험하지 않고 자연스럽게 업데이트할 수 있는 UX를 고민했습니다. 앱 업데이트를 토스트로 알려주고, 업데이트 필요 상태에서 route transition이 일어나면 리로드하며,
vite:preloadError이벤트 발생 시 새로고침하는 등의 방법으로 사용성을 개선했습니다. - React Router 기반 번들 스플리팅을 진행해 최초 다운로드 에셋 사이즈를 1/3까지 감소시켰습니다.
- Playwright를 이용해 screenshot testing을 할 수 있는 툴을 개발했고, 이를 통해 화면을 기존 프로덕션과 비교해 깨진 부분이 있는지 검증하고 개발한 전체 화면들을 확인할 수 있게 했습니다.
국제 농민 앱 'Farmmy' 개발 (2022.11 — 2023.02)
- Formula 디자인 컴포넌트를 도입하고 트러블슈팅을 진행했으며, '직거래장터' 피쳐를 개발했습니다.
- Lokalise를 이용한 국제화 키 동기화와 SSR 구현을 담당했습니다.
사내 디자인 시스템 'Formula' 개발 (2022.06 — 2023.02)
- 디자이너와 함께 본사 및 3개 자회사에서 사용할 수 있는 전사 디자인 시스템을 Material Design 기반으로 설계했습니다.
style-dictionary상세 transform 스크립트와 Figma Tokens 동기화 스크립트를 작성했습니다.- TypeScript와
vanilla-extract기반 컴포넌트를 개발하고 ReScript 바인딩을 작성했으며, 개발자 가이드도 문서화했습니다. - 참고: https://github.com/green-labs/formula-design-system
농민 슈퍼앱 '팜모닝' 개발 (2021.11 — 2023.02)
- '판로 개척', '영농일지' 등 피쳐 구현을 통해 가입자 수 증가에 기여했습니다.
- 피쳐 온보딩 화면, 사용자 입력 폼 구현 및 유저 입력 내용을 확인할 수 있는 화면들을 구현했습니다. Relay와 React Hook Form을 사용했습니다.
- 기존 S3 기반 CSR 앱에 SEO 니즈가 발생해 Next.js와 Tailwind로 전체 앱을 빠르게 마이그레이션하고 Vercel에 배포했습니다.
- 팜모닝 프론트엔드 팀 리드로서 Next.js 도입, 피쳐 플래그 도입 등 프로젝트의 기술적 결정과 트러블슈팅을 담당하고 사내 코드 오픈소스화 기획 등을 진행했습니다.
사용기술: React, Next.js, ReScript, TypeScript, Relay
'넥스클리퍼' 프로메테우스 웹 콘솔 개발 및 팀 리딩 (2021.01 — 2021.11)
- 외주 결과물이었던 redux-saga 기반 기존 레거시 프로젝트의 구조를 유지보수가 용이하도록 React Query, Jotai 기반으로 전환했습니다.
- 고객사들의 요구에 맞추기 위해 가변적 UI를 제공해야 했고, 이에 맞춰 Yarn Berry 기반 모노리포를 도입했습니다.
- 추가적인 콘솔 프로토타입 제작, Ant Design 기반 공용 컴포넌트 개발을 진행했습니다.
- 주니어 개발자 교육, 코드 리뷰, 트러블슈팅 등을 진행했습니다.
사용기술: React, React Query, TypeScript, Jotai
이전 경력
소상공인을 위한 매출관리 및 토탈 솔루션 앱 '캐시노트' 프론트엔드 개발 (2019.11 — 2020.09)
- '부가세 자가신고', '노란우산공제 신청', '코로나 자금 진단' 등 핵심 기능 개발을 통해 사용자 수 증가 및 체류시간 증가에 기여했습니다.
- '오픈뱅킹 프로젝트' 간편송금 화면 구현 및 API 연동을 담당했습니다.
- 생산성 향상과 프로덕션 버그를 줄이기 위해 기존 JS 기반 코드베이스에서 TypeScript로의 전환을 주도했습니다.
allowJs옵션을 이용해 점진적으로 타입 애노테이션을 추가하고, GraphQL에서 TypeScript 타입이 자동 생성되도록graphql-code-generator를 설정했습니다.
사용기술: React, Apollo GraphQL, styled-components, TypeScript
Return and Refund 프로젝트
- 상품 반품 및 환불을 자동화하기 위한 프로젝트로, 기존에는 CS를 통해 수기로 이뤄지고 있었던 반품 환불 절차를 자동화했습니다.
- 다양한 쿠폰과 할인, 복수 결제수단 사용이 가능했고 반품 이유와 품목 상태 등에 따라 반환금이 차등 지급되어야 해 로직이 복잡한 문제가 있었습니다.
- 스펙을 정리해줄 기획자나 테스트를 해줄 QA가 따로 존재하지 않아 직접 다양한 시나리오를 검증했고, Python 스크립트와 JavaScript 스크립트를 이용해 부분적으로 검증 자동화를 시도했습니다.
- 자동화가 완료된 이후 모든 반품 절차가 자동화된 형태로 이뤄져 CS 인력과 셀러들의 부담이 경감되었습니다.
사용기술: Django, jQuery
상품 페이지 프로젝트
- 기존 Django template와 jQuery 등으로 구현되어 있던 구 페이지를 React로 포팅해 앱과 같은 경험을 유저에게 주는 것이 목표였습니다.
- Django 템플릿 안의 내부 분기문이 많았기 때문에, React로 표현할 수 있도록 템플릿 데이터를 REST API로 포팅했습니다.
- 유저가 상품 브라우징을 할 때 빠르게 로딩할 수 있도록 클릭 시 최소한의 데이터, 예를 들어 이미지와 타이틀 등을 먼저 로딩하게 하고 상세 및 옵션 데이터는 나중에 로딩하는 방식으로 최적화했습니다.
사용기술: Django, TypeScript, React, jQuery
Fancy.com 고객 대면 웹, 스토어프론트 및 백오피스 개발 (2015.10 — 2019.11)
- 셀러 어드민 풀스택 개발과 유지보수 작업을 담당했습니다.
- Shopify와 같은 셀러 전용 홈페이지 템플릿 구현, 체크아웃 화면 프론트 구현을 진행했습니다.
- Article 프로젝트에서는
medium-editor오픈소스를 활용하고 JSON으로 표현하는 자체 위젯들을 구현해 셀러들이 쉽게 게시물을 작성할 수 있도록 했으며, 블로그 앞단 또한 React로 구현했습니다.
사용기술: Django, TypeScript, Backbone.js, React, jQuery
DodoPoint 3.0 프로젝트
- 기존 jQuery, Backbone으로 작성됐던 앱을 React로 재작성하는 프로젝트였습니다.
- 기존 레거시 앱 대비 유지보수가 용이해졌으며 테스트 도입 등으로 변경점에 대한 검증을 강화했습니다.
- 블로그 글: https://spoqa.github.io/2015/05/14/living-on-the-edge.html
사용기술: React.js, Webpack, Babel.js
도도포인트 포인트 적립 태블릿 웹앱 개발 / 어드민 개발
- 고객 어드민, 회사측 어드민 및 다수 홈페이지를 개발했습니다.
- Dodo Insight 프로젝트에서는 회사의 B2B 수익 증대 TF에 소속되어 Highcharts 라이브러리를 이용해 차트 화면들을 개발했으며, 해당 프로젝트로 다건의 계약을 성사하는 데 기여했습니다.
사용기술: Backbone.js, Underscore, jQuery, require.js
스킬
React, TypeScript, JavaScript, Git, Python, GraphQL
영어 비즈니스 레벨
https://jaeholee.com
학력
컴퓨터과학과 (학사편입) 졸업
시각디자인과 졸업 편집디자인, UX 디자인, 사진