보유 기술
PHP(Apache, Php, Mysql) 개발자로 시작해 지금은 프론트앤드 엔지니어로 활동하고 있습니다. 자바스크립트/타입스크립트 개발 환경에 익숙하고 React, Nextjs, Express 를 주로 사용합니다. 개발된 어플리케이션을 Docker 환경에서 테스트하고 배포하는것을 선호하지만 클래식한 베어메탈, EC2 기반 클라우드 환경도 잘 사용합니다.
1~2인 개발팀부터 100인 이상 팀까지 다양한 환경에서 팀원, 리더로써 근무한 경험이 있고 팀과 회사 목표에 맞는 적절한 방법을 선택해 수립하고 목표를 정해 진행하는 과정을 즐깁니다.
저에게 궁금한 사항이 있다면 메일을 통해 언제든 연락 주세요.
- 자바스크립트 + No Jquery
- Tailwind
- Webpack, Vite
- CSS 전처리기 사용
- 시맨틱 HTML
- 크로스 브라우징
- 검색엔진 최적화
- 컴포넌트 기반 개발
- CSS in JS
- 컴포넌트 라이프사이클 및 최적화
- 컴포넌트 전역/지역 상태 관리
- 코드 스플리팅을 통한 앱 최적화
- Next.js 의 서버/클라이언트 사이드 및 컴포넌트
- 컴포넌트 기반 개발
- 프로바이더 활용
- 모듈 지연 로딩
- 데이터 반응형 구조 설계
- RDB : MariaDB, Mysql
- NoSQL : MongoDB
- PHP with Composer
- NodeJS, Express, Nestjs
- inteliJ, VS code, gitKraken, git CLI
- Figma, Sketch, Adobe XD
- Photoshop, Illustrator
- MS Office, Page, Keynote
- Ubuntu, Amazone Linux 2 and 3
- Aamazon web service
- terraform
- Github Action, Jenkins
- Docker, Docker Compose, k8s
- 레드마인, 지라, 컨플루언스를 사용하는 것을 좋아합니다.
- 깃랩, 레드마인(아틀라시안 제품군) 등을 직접 셋팅하고 동료들과 프로젝트를 진행합니다.
- 프로토타이핑, 그래픽 툴을 활용해 앞으로의 개발에 대해 이야기하고 반영합니다.
- 간결하고 아름다운 문서를 작성하는 것을 좋아합니다.
- 2004.12.10 - MCommerce관리사 2급(MCS09000231)
- 2004.10.11 - 정보기기운용기능사(04404100554Y)
- 2004.04.30 - 인터넷정보검색사 2급(IIS21002405)
- 2004.04.19 - 정보처리기능사(0M01101408Y)
- 2003.12.22 - 컴퓨터그래픽스운용기능사(03405 1027520)
- 2003.10.30 - 컴퓨터활용능력 2급
- 2003.07.03 - 워드프로세서 1급
경력 및 학력
- 2009.03 - 2013.08 : 강남대학교 컴퓨터미디어공학부 졸입(학사)
- 2007.03 - 2009.02 : 세한대학교 컴퓨터교육과
- 2006.03 ~ 2006.09 : 연세디지털게임교육원 게임기획
- 2003.03 ~ 2006.02 : 태원고등학교
- 2024.01 - NOW : 아모레퍼시픽 / AMORE PACIFIC
- 2021.01 - 2023.06 : 딜리헙 / Dillyhub
- 2020.09 - 2020.12 : 엘지유플러스 / LGU+
- 2019.01 - 2020.08 : 카닥 / Cardoc
- 2017.07 - 2018.12 : 오픈소스컨설팅 / open source consulting
- 2016.06 ~ 2017.05 : 박차컴퍼니 / bakcha company
- 2012.11 ~ 2016.03 : 이큐브랩 / EcubeLabs
개발 경험
아모레퍼시픽 / AMORE PACIFIC
주문/완료 페이지 내재화 2차 : User Case
1차 목표 달성 이후 회원 케이스에서도 동일한 경험을 주기 위해 후속 개발이 진행되었습니다.
사용 기술
typescript, react19, nextjs15, tailwind, storybook, docker
역할
- nextjs15 가 출시되어 nextjs15로 업그레이드
- 오픈서치, 데이터독 로그 수집 및 분석 기능 추가
- 전체 개발 범위 조정 및 배포단위 선정
- 회원 케이스 스펙 구현
- 코드 및 앱 최적화 및 웹 바이탈 측정
- nextjs, react 버전 최신화
성과
- 로그 수집 및 분석을 통해 버그 발생시 문제가 되는 부분을 정확히 파악할수 있게 되었습니다.
- 데이터독을 활용해 웹 바이탈을 측정하고 메모리 누수 등 문제를 발견하고 해결할수 있는 기초 마련.
- 주문과 관련된 모든 페이지 내재화 완료.
2024 겨울 아모레 세일 페스타
라이브방송과 연계된 쿠폰 feature 를 추가하였습니다. 라이브방송 영상에서 상품고 관련된 쿠폰을 발급하고 쿠폰을 사용할수 있는 기능을 추가하였고 데이터독을 활용해 VOC 유입 전 미리 대응할수 있도록 시스템을 구성하였습니다.
사용 기술
typescript, react17, nextjs10, datadog
역할
- 라이브방송 영상에서 상품고 관련된 쿠폰을 발급하고 쿠폰을 사용할수 있는 기능을 추가
- 데이터독을 활용해 VOC 유입 전 미리 대응할수 있도록 시스템을 구성
성과
- 라이브방송에서 별도 쿠폰함으로 이동할 필요 없이 쿠폰을 발급받을수 있어 쿠폰 발급 프로세스가 간소화되었습니다.
- 유저 플로우 최적화로 보다 정확한 구매 전환율 측정 가능
주문/완료 페이지 내재화 1차 : move to DevOps, None-user Case
외주사에서 관리된 주문/완료 페이지에 대한 내재화 요건을 달성하기 위해 기존 nextjs10 환경이 아닌 사내 devops 환경에서 운영되는 EKS 로 이관을 준비했고 next 최신 버전인 14를 이용해 모던한 프로젝트를 구성하고 모든 기능을 한번에 이관할수 없기에 비회원 구매 케이스를 우선해 1차 목표 스코프를 정하였습니다.
사용 기술
typescript, react18, nextjs14, tailwind, storybook, docker
역할
- 전체 개발 범위 조정 및 배포단위 선정
- 초기 FE프로젝트 구성 및 docker 베이스의 보일러플레이트 구성
- 비회원 케이스 스펙 구현
성과
- DevOps 환경에서 운영되는 EKS 로 이관 및 배포 환경 구성
- nextjs14 로 마이그레이션 및 모던한 프로젝트 구성
Web/Native 인터페이스 리팩토링
아모레몰의 Web은 Native App(iOS, Android) 에서 Webview 형태로 사용되지만 각 작업자별로 현재 페이지 상태와 앱의 상태를 일치시키는 코드가 파편화되어 있고 상황에 따라 제어권이 Web/Android/iOS 에서 각각 가지고 있어 문제가 발생시 어느 부분에서 잘못된 함수를 호출하는지 알수가 없는 문제가 다수 발생하였습니다. 이 문제를 해결하기 위해 Web-Native 간 인터페이스를 명령적이 아닌 선언적으로 구성하고 협력 외주사에게도 가이드 문서가 아닌 javascript library 를 제공하는 방향으로 진행하였습니다.
사용 기술
javascript, typescript, react16, nextjs10
역할
- Web-Native 인터페이스 라이브러리 설계
- 라이브러리 React Hook, pure javascript 각각 작성
성과
- 매주 발생하는 동일한 원인의 다른 버그 발생률 Zero 달성
- 동일한 기능의 라이브러리를 외주사에 제공하여 동일한 기능을 구현하는 시간 단축
데이터독(DataDog) 도입
로그 수집과 분석 장애 대응등 전반적인 모니터링을 위해 데이터독을 도입하였고 고객 VOC 유입 전 미리 대응할수 있도록 시스템을 구성하고 특정 유저의 행동을 분석해 아모레몰을 탐색하는 유저가 어떤 행동을 많이 하고 어디에서 이탈하는지 확인해 제품 고도화를 위해 무엇을 더 해야 하는지 발견하였습니다.
사용 기술
typescript, react16, nextjs10
역할
- 데이터독 대시보드/럼 관리
- 웹훅을 통한 알림 추가
2024 여름 아모레 세일 페스타
1년에 2번 진행하는 아모레 세일 페스타에서 사용될 새로운 feature 인 "럭키드로우" 와 "멤버십플러스 이용권" 을 추가 개발했습니다. 이 기능을 통해 새로운 유저가 행사를 좀더 잘 즐기고 아모레몰의 멤버십플러스를 짧은 기간동안 체험해볼수 있는 기능이 추가되었습니다.
사용 기술
Nextj10, React16, Redux
역할
- 상품상세 페이지 업데이트 및 럭키드로우 관련 페이지 추가
- 멤버십플러스 이용권 조회/사용/갱신/취소 등 관리 페이지 추가