미리보기
기본 정보
- 6개월동안 신규 서비스의 기획부터 운영까지 개발을 리드한 경험이 있습니다. - 프론트엔드와 백엔드를 구분하지 않고 학습하여 문제를 해결합니다. - 빠르고 안정적인 개발을 위해 유지보수가 용이한 구조로 개선시킨 경험이 있습니다. - 적절한 개발 스펙에 대해 유관부서와 면밀하게 소통합니다.
기술 스택
JavaScript, TypeScript, React, Next.js, tailwind-css, NestJS, Prisma, GraphQL, Docker, AWS, react-query, Flutter
경력
(주) Payap
소프트웨어 엔지니어 | 제품팀
2023.04. ~ 2024.08. (1년 5개월)
(주) Payap은 베트남에서 선물 공동 구매 및 기부 서비스 Liengift를 운영하고 있습니다.
Role
개발 스펙 정의
일정 산정 및 역할 분배
신규 기능 설계 및 개발
배포 관리
프로젝트
Liengift 웹 서비스 출시 및 운영
(주) Payap
2024.01. ~ 진행 중
React
JavaScript
TypeScript
Next.js
NestJS
Prisma
MySQL
AWS
github-actions
vercel
Description
Liengift는 베트남에서 운영 중인 선물 공동구매 및 기부 서비스입니다.
기획 단계부터 출시 후 운영까지 풀스택 개발을 하며 다양한 문제들을 경험하고 해결했습니다.
Experience
주요 기능 설계 및 구현 :
로그인 / 회원가입,
결제(간편, 계좌이체),
선물 펀딩 시스템,
기부 시스템,
마일리지 시스템
정규화를 고려해서 DB 테이블을 설계했습니다.
레이어드 아키텍쳐를 적용해서 API 파이프라인을 구축했습니다.
의존성 역전 원칙을 적용해서 React 컴포넌트 구조를 설계했습니다.
Pnpm workspace 모노레포 전환 : 모노레포 전환 효과로 개발 생산성을 2배 이상 향상 시켰습니다(일정 기준).
서버, 어드민, 서비스를 모노레포로 전환하여 통합된 코드베이스로 개발 가능한 환경을 구성했습니다.
어드민 패널 구축 : 조직 리소스가 부족한 환경에서
기획 & 디자인 리소스 투입 없이 2일 동안 운영 가능한 상태의 패널을 구축 했습니다.
자체 어드민과 어드민 패널 라이브러리(AdminJS)를 연동해서 요구사항에 유연하게 대응 했습니다.
메인페이지 렌더링 개선 : Dynamic import, 이미지 사이즈 최적화를 통해 렌더링 속도를 개선했습니다.
LCP : 2.2s, CLS : 0.324
유저 활동 데이터 수집 : 자체적인 유저 데이터 수집 시스템을 구축했습니다.
dataset attribute
를 활용해서 제거 및 추가가 용이한 구조로 만들었습니다.
지연 유효성 검사 :
유저의 입력이 끝난 뒤에 유효성 검사가 이루어지도록 UX를 개선했습니다.
NestJS 레포지터리 추상화 :
Repository 레이어의 공통 로직을 추상화해서 유지 보수성을 높였습니다.
transfrom :
schema -> entity
트랜젝션 처리 중 Prisma 인스턴스의 제어 (
PrismaService
vsTransactionClient
)
네이티브 앱 배포 : 베트남에서 모바일 웹앱은 스캠이라고 인식된다는 피드백을 반영해 ReactNative WebView를 통해 네이티브 앱을 배포해서 신뢰성 문제를 해결하고자 했습니다.
Lienmall / Seller Center : AWS 비용 감축 및 서버 유지 보수
(주) Payap
2023.09. ~ 2023.10.
AWS
NestJS
Prisma
Ruby on Rails
Description
Lienmall/Seller Center 프로젝트는 e-commerce 플랫폼 서비스로, 운영이 중단되었으나 베트남의 플랫폼 라이센스 획득을 위해 변경 요구사항에 대응할 수 있는 상태로 유지해야 하는 상황이었습니다.
백엔드 개발자의 퇴사로 인한 기술적 공백을 해소하고 서버 비용 감축 및 요구사항에 효과적으로 대응하기 위해 백엔드 스터디를 진행한 후 비용과 유지보수 문제를 해결하고자 했습니다.
Experience
AWS 비용 관리 : AWS 리소스 최적화를 통해 서버 비용 85% 절감 (100만원 -> 15만원)
라이센스 심사 대응 : 유지보수가 어려운 상태인 기존 서버(Ruby on Rails)의 회원가입/로그인 로직을 NestJS에서 재현하여 요구사항에 대해 NestJS서버에서 대응할 수 있도록 준비했습니다.
더큰내일센터 회의실 예약 시스템 개발 및 운영
제주더큰내일센터 (사이드 프로젝트)
2022.08. ~ 2022.09.
Description
제주 더큰내일센터 우수프로젝트 선정 및 공식 회의실 예약 시스템으로 1년간 운영
Experience
로그인 기능 기획 및 구현
팀원 검색 및 선택 기능 구현
예약 시간 선택 기능 구현
교육생 / 매니저 권한 구분
시간 별 현황 표시
프론트엔드, 백엔드 배포 관리
100여명의 사용자 대상으로 사용 설명회 진행
포트폴리오
교육
항해플러스
사설 교육 | 백엔드
2023.06. ~ 2023.08. | 졸업
항해99
사설 교육 | 프론트엔드
2022.12. ~ 2023.03. | 졸업
더큰내일센터
사설 교육 | 디지털취창업
2022.04. ~ 2023.03. | 졸업
몰타대학교
대학교(학사) | 교환학생
2015.09. ~ 2016.06. | 졸업
부산외국어대학교
대학교(학사) | 포르투갈어
2010.03. ~ 2017.02. | 졸업
외국어
영어
비즈니스 회화 가능
자기소개
업무의 의존성을 고려하여 우선순위를 설정합니다.
업무를 세분화하고 의존성 여부에 따라 우선순위를 정해서 팀의 리소스를 효율적으로 사용합니다. 예를 들어 결제 기능을 개발했을 때는 최소한의 로직만 구현하고서 바로 내부 테스트를 시작하는 방식을 택했습니다. 이후 버그 수정과 UI 작업을 병행하면서 마케팅 일정에 맞춰 개발을 완료할 수 있었습니다.
이가 없으면 잇몸으로.
완벽하지 않은 상황에서도 효과적인 해결책을 찾기 위해 노력합니다. Liengift 프로젝트 초기 베트남 개발 업체에 외주를 고려하던 중, 디자이너의 퇴사 시점과 겹쳐 와이어 프레임 제작에 어려움이 있었습니다. 일정 지연이 예상되어 태블릿으로 와이어프레임과 유저 플로우 스케치를 그려 개발 업체에 전달했습니다. 결과적으로 추가 일정 지연 없이 5개 업체와 미팅을 진행할 수 있었고, 인하우스 개발로 빠르게 의사 결정을 내리는데 기여했습니다.