미리보기
기본 정보
4년 차 TypeScript & Node 기반의 개발자로 Generative AI SaaS 프런트엔드, CI/CD 구성 및 백엔드 개발 등을 해오고 있습니다. 좋은 품질의 소프트웨어를 제공하는 것을 지향합니다. 이를 위해 프로그래밍 패러다임, 테스트 코드 등을 production 제품에서 운영하고 있습니다. 예를 들어, 함수형 프로그래밍을 컴포넌트 설계에 적용하여 유지 보수하기 쉽도록 개선했고 비즈니스 로직에 대한 400여개의 테스트 케이스를 작성해 개발 환경에서 피드백을 받을 수 있도록 환경을 구성했습니다. 회사의 성장(6 → 30명)과 함께 필요한 기술과 문화를 구축했습니다. 백엔드 API에 의존하던 프런트엔드 개발 프로세스를 개선하고 연동 테스트를 앞당기기 위해 MSW를 도입했고 비동기 처리 복잡도를 낮추기 위해 선언적인 Data fetching 전략을 팀원들에게 전파하여 프런트엔드 팀의 기술로 정착시켰습니다. 프로그래밍 패러다임, 설계, 좋은 코드 등을 고민하고 성장하도록 스터디 문화를 만들고 활성화했습니다. 팀원들은 스터디에서 공유된 내용을 바탕으로 원활한 코드 리뷰를 할 수 있게 됐습니다.
경력
LOVO AI
팀원 | 프런트엔드 | 재직 중
2020.10. ~ 재직 중 (4년)
비디오 편집 AI 서비스
- Contenteditable 기반의 텍스트 에디터 개발 및 운영
- 미디어 파일, 텍스트 에디터와 연동된 canvas 기반의 타임라인 에디터 개발 및 운영
- Tree 구조로 데이터와 컴포넌트를 설계해 유지 보수하기 쉬운 코드 작성
- SSR 환경의 인가 로직 개발
- Ads blocker를 우회해 이벤트 수집 위한 Next.js proxy 서버 개발
- Production 환경의 런타임 에러를 위해 디버깅 시스템 구축해 생산성 향상
- 400개의 프런트엔드 테스트 코드 작성 및 CI/CD 구성
- 중복된 코드 모듈화 위한 Monorepo 구성
- 데이터 기반의 의사결정 위한 analytics 로직 설계
- DNS migration (Godaddy → Vercel)
비디오 편집 AI 서비스 최적화 작업 - React profiler를 활용해 컴포넌트 리렌더링 원인 파악 / 개선
- Virtualization을 활용해 렌더링 성능 개선 1487ms -> 43.8ms
- 로직 성능 개선을 위한 data normalization 적용, O(n2) → O(n)
목소리 복제 AI 서비스 개발 / 운영 - 멀티 플랫폼에서 사용하기 위한 private 컴포넌트 라이브러리 개발 및 운영
- 이더리움 네트워크와 API 연동 / polling 로직 개발
NFT 애니메이션 생성 서비스 개발 및 운영 - 디자인 패턴을 활용해 플랫폼 추가 요구 사항을 빠른 시간에 구현하도록 설계
- 추가되는 요구사항에 맞춰 생산성을 위해 Vite.js 기반의 SPA에서 Next.js로 마이그레이션
기술 스택
TypeScript, React, Next.js, NestJS, MongoDB