About

avatar

Seonghyeon Kim

Frontend Developer
당근마켓

Introduction

주로 Typescript, React, NodeJS를 사용해서 개발을 하고 있습니다. 새로운 기술에 대한 학습도 좋아하긴 하지만, 정의한 문제를 해결하기에 적합한 기술을 학습하고 사용하려고 노력합니다.

설계된 문제와 가설 아래에서 일하는 것을 선호합니다. 데이터를 기반으로 가설을 검증하고 성공하고 실패하는 순환 안에서 가치를 키워나가기를 희망합니다.

궁극적으로 거창하지 않더라도 세상에 좋은 가치 만들어 내고, 좋은 에너지를 나누는 삶을 살고 싶습니다.


Experiences

당근마켓

기간
22.09 ~ 현재
직무
Frontend Developer
프로젝트
당근마켓 간편모드 광고, 당근마켓 전문가모드 광고, 프론트엔드 팀 SDK, BFF
기술스택
typescript, react, relay, stitches, node.js, graphql

당근마켓 간편모드 광고

  • 당근마켓 간편모드 광고 다크모드 대응 작업을 진행했습니다.
  • 당근마켓 간편모드 광고에서 필요한 실험들을 여러가지 수행했습니다. 예를 들어 광고 추천 소재 제공, 반경타겟팅 추가, 광고 생성 퍼널 실험 등의 실험들을 작업했습니다.
  • relay 사용을 위해 client resolver로 구현해두었던 내용들을 BFF로 마이그레이션하기 위한 작업을 진행했습니다.

당근마켓 전문가모드 광고

  • 광고주들이 특정 타겟을 타겟팅 혹은 디타겟팅을 할 수 있도록 하기 위한 맞춤타겟 기능을 작업했습니다.

프론트엔드 팀 SDK

  • 코드 전반적인 마이그레이션을 수월하게 처리하기 위해서 codemod sdk를 작업했습니다.

BFF

  • 필요한 GraphQL Query, Mutation들을 추가헀습니다. dataloader을 활용해서 퍼포먼스 개선에도 기여했습니다.
  • 지속적으로 프로젝트 자체의 개편/유지/보수에 참여하고 있습니다.

한국신용데이터

기간
21.01 ~ 22.09
직무
Product Engineer
프로젝트
MMP 사내 공용 라이브러리, 캐시노트마켓, 캐시노트마켓 파트너센터, 신용점수조회, 캐시노트 2.0
기술스택
typescript, react, next.js, tailwind, react-query, react-hook-form, react-testing-library, msw, jest, storybook, graphql, apollo-client

MMP(Marketing Management Platform) 사내 공용 라이브러리

  • 광고 캠페인, 광고 그룹, 소재를 관리하는 MMP 프로젝트에 등록된 소재를 웹 서비스에서 사용하고 싶을 때마다 데이터를 불러오는 로직과 컴포넌트를 작성하지 않아도 될 수 있도록 사내 공용 라이브러리를 작업하고 npm에 배포했습니다.
  • json으로 저장되어있는 schema를 기준으로 소재 render_type의 UI Form을 자동으로 그리는 라이브러리를 작업하고 있습니다.
  • 하나의 프로젝트에서만 사용하는 코드가 아닌 공용으로 사용해야하는 코드를 작성할 때에 더 고려해야하는 부분들에 대한 학습을 할 수 있었습니다.
  • 잘 작동하는 것을 넘어서 사용자가 사용하기에 편해야하고 원하는 용례를 충족시킬 수 있도록 신경쓰는 것들이 필요했습니다. 또한 사용자가 잘 사용하기 위해서는 단순히 코드를 잘 작성하는 것을 넘어서 문서화를 잘하고 잘 홍보하는 것도 중요하다는 사실을 학습할 수 있었습니다.

캐시노트마켓

  • 캐시노트를 이용하는 사업주들을 위한 마켓플레이스 서비스를 개발에 참여했습니다.
  • next.js를 적극적으로 활용하면서 ecs, fargate, alb, cloudFront 등 aws 서비스를 활용해서 직접 인프라를 학습하고 사용해볼 수 있는 경험을 했습니다.
  • next.js의 ssr, ssg, isr 등을 적절히 사용하면서 최대한 유저에게 좋은 경험을 줄 수 있는 방향을 고민하면서 개발했습니다.
  • openapi specification을 활용하여 rest api request, response의 typing을 자동화할 수 있도록 고민하고 작업했습니다.
  • storybook, jest, react-testing-library, msw 등의 기술들을 활용하여 integration test를 작성하면서 서비스를 개발했습니다.
  • 서비스 전반적인 지표를 확인할 수 있도록 segment 이벤트 처리를 구성하고 작업했습니다. 또한, amplitude dashboard에서 직접 segmentation, funnel, user lifecycle 등을 관리할 수 있도록 제안하고 작업했습니다.

캐시노트마켓 파트너센터

  • 캐시노트를 이용하는 사업주들을 위한 마켓플레이스에 입점하는 입점사들이 사용할 수 있는 파트너센터를 개발에 참여했습니다.

캐시노트 신용점수조회

  • 새로운 기능으로 KCB를 통해서 사업주들의 신용점수를 조회할 수 있는 기능을 추가했습니다.
  • svg에 대해서 학습하면서 직접 점수를 보여주는 그래프 등을 그려볼 기회를 가질 수 있었습니다.

캐시노트 2.0

  • 담당하고 있는 도메인 서비스들이 커짐으로 인해서 복잡성이 늘어나 개발 속도가 느려진 문제를 해결하고, 전반적인 디자인 개선을 적용하기 위해서 캐시노트 1.0 개발을 멈추고 캐시노트 2.0으로 리뉴얼하는 작업을 진행했습니다.
  • React experimental 버전을 사용하면서 Suspense (code splitting + data fetching), Error Boundary를 적절하게 사용하여 관심사를 분리하여 전반적인 코드 품질을 높이기 위해서 노력했습니다.
  • 인앱 웹뷰에서 사용될 때에 대응하기 위해서 모바일 인터페이스의 사용 등을 경험해볼 수 있었습니다.

티페이

기간
20.02 ~ 21.01
직무
Frontend Developer
프로젝트
가맹점 관리/계약 어드민
기술스택
typescript, react, styled-component, swr, react-hook-form

가맹점 관리/계약 어드민

  • 가맹점에서 서비스에 문제가 생겼을 경우 접수하고 히스토리 관리 및 대응할 수 있는 기능 및 가맹점과의 계약서 작성 및 계약 단계 관리 등을 대응할 수 있는 기능 개발에 참여했습니다.
  • 굉장히 많은 form들을 다루면서 복잡한 form을 react를 사용해서 다룰 때 어떻게 접근하는 것이 적절한지에 대해서 익히고 경험할 수 있었습니다.

스타일쉐어

기간
19.04 ~ 20.02
직무
Frontend Developer
프로젝트
인앱 검색 서비스, 웹 스토어 리뉴얼
기술스택
typescript, react, next.js, styled-component

인앱 검색 서비스

  • 인앱에 웹뷰로 서비스를 운영하면서 빠르게 변경을 시도하고 실험하기 위해서 검색 기능을 웹 서비스로 새롭게 개발하는 작업을 진행했습니다.
  • 인앱 웹뷰를 처음 개발해보면서 인앱 웹뷰를 개발하는 것과 그냥 웹 서비스를 개발하는 것의 차이를 느낄 수 있었고, 관련 지식을 익힐 수 있었습니다.

웹 스토어 리뉴얼

  • 스타일쉐어 웹 스토어 서비스가 굉장히 오래된 디자인 및 코드여서 새롭게 React로 다시 짜는 작업을 진행했습니다.

아파트멘터리

기간
17.09 ~ 18.12
직무
Software Engineer
프로젝트
랜딩페이지, 시공 및 커머스를 위한 백오피스, 상품 정보 크롤링 크롬 익스텐션, 인테리어 상품 커머스
기술스택
javascript, react, redux, nodejs, express, mongodb

랜딩페이지

  • 인테리어 시공 요청을 위한 랜딩페이지를 react를 활용해서 새롭게 리뉴얼했습니다.

시공 및 커머스를 위한 백오피스

  • 인테리어 시공 요청을 받고 고객 상담 기록 및 인테리어 시공 관련 정보들을 관리할 수 있는 백오피스 개발에 참여했습니다.
  • 상품, 배송, 결제 등 커머스 운영에 필요한 백오피스 개발에 참여했습니다.

상품 정보 크롤링 크롬 익스텐션

  • 커머스에 다른 브랜드의 상품 입력을 편하게 하기 위해서 크롬 익스텐션을 활용하여 페이지의 크롤링을 수월하게 해주는 툴 개발에 참여했습니다.
  • 무조건 웹서비스가 아니라 크롬 익스텐션도 문제를 해결하기 위해서 사용할 수 있다는 것을 배울 수 있었고, 직접 크롬 익스텐션을 개발해보는 경험도 해볼 수 있었습니다.

인테리어 상품 커머스

  • 인테리어 시공을 받으신 고객들만을 위한 인테리어 상품 커머스 개발에 참여했습니다.
  • iamport를 활용하여 결제까지 연동하는 경험할 수 있었습니다.

스포카

기간
15.12 ~ 17.08
직무
Brand Success Manager, Business Intelligence Developer
프로젝트
전사 데이터 대시보드 구성, 계약서비스 개발, 데이터 추출을 위한 쿼리 작성
기술스택
python, flask, sql

전사 데이터 대시보드 구성

  • periscope를 활용해서 전사적으로 서비스 지표를 확인할 수 있도록 SQL 쿼리를 작성하여 visualization하는 작업에 참여했습니다.

계약서비스 개발

  • 도도포인트 서비스 계약 관리하는 서비스 개발에 참여했습니다.

데이터 추출을 위한 쿼리 작성

  • 서비스 운영을 위한 데이터 추출 요청을 받았을 때 SQL 쿼리 작성 서포트를 하는 작업을 했습니다.
  • SQL Query 작성 및 이해도를 높일 수 있는 경험이었습니다.

Communities

Presentations

Lecture


Education

경희대학교

  • (10.03 ~ 16.02) 경영학 / 한국어학