마지막 업데이트: 2023.09.17

최성익

Sungik Choi (Ed)

메이커들이 일하는 방식을 개선하는 데 관심이 많은 3년차 프론트엔드 엔지니어입니다. 사용자의 긍정적인 피드백을 원동력으로 제품을 만들고 있습니다. 기술과 예술은 하나라고 생각합니다. 훌륭한 사용자 경험과 그에 맞는 아름다운 사용자 인터페이스를 추구하고 있습니다.


Work Experiences

채널코퍼레이션

2021.01 ~ 현재 | 프론트엔드 엔지니어 (IC)

디자인 시스템 라이브러리

사내 디자인 시스템, Bezier의 React 구현체이자 오픈 소스 라이브러리인 bezier-react의 메인 컨트리뷰터입니다. 라이브러리를 운영하고 개발함과 동시에 디자이너와 커뮤니케이션하며 디자인 시스템 전반을 개선해나가고 있습니다.

  • 재사용 가능한 컴포넌트 설계 및 구현: 디자인 시스템과 엔지니어의 요구 사항에 맞는 다양한 재사용 가능한 컴포넌트를 설계하고 구현했습니다.
  • 피그마 플러그인 구현: 별도의 커뮤니케이션 없이 디자이너가 직접 피그마 플러그인을 통해 GitHub 레포지토리에 아이콘 업데이트를 할 수 있도록 자동화하여 팀의 워크플로우를 개선했습니다. (채널톡 기술 블로그 - 피그마 플러그인으로 아이콘 업데이트 자동화하기).
  • svg 아이콘 패키지 구현: 트리 쉐이킹이 가능한 svg 아이콘 패키지를 구현했습니다. 애플리케이션의 번들 사이즈를 줄이고, 컴포넌트 라이브러리와 아이콘 에셋의 의존성을 분리하여 모바일 등 다른 환경에서도 아이콘을 단일 진실 공급원으로서 독립적으로 사용할 수 있도록 개선했습니다. (npm 패키지).
  • 마이그레이션 CLI 툴 구현: 대규모 마이그레이션을 소스 코드 정적 분석을 통해 자동화하여 큰 변경에 대한 비용을 감소시켰습니다. 또한, 라이브러리에 기여해주시는 다른 엔지니어에게도 마이그레이션 코드를 작성하는 책임을 부여하여 팀 내 코드 퀄리티를 일관되게 유지하고, 기여 과정을 더 효율적으로 개선했습니다. (npm 패키지).
  • 스토리북 자동 배포 구현: Chromatic과 GitHub Action을 사용하여 Pull Request별로 변경 사항에 대한 스토리북 링크를 코멘트에 추가하는 기능을 구현했습니다. 다른 엔지니어가 변경 사항을 확인하기 위해 거쳐야 하는 과정을 단순화시켜 팀의 생산성을 개선했습니다.
  • 테스트 코드 작성: 사용자 인터랙션 기반의 단위 테스트 작성으로 라이브러리의 안정성을 향상시켰습니다. (테스트 커버리지 43% → 84%.)1
  • 모노레포 구조 도입: 모노레포 구조를 도입, 레포지토리의 확장성을 높여 컴포넌트 라이브러리 외 다양한 패키지를 환경 설정 등에 대한 부담 없이 추가할 수 있는 환경을 마련했습니다. 또한 그에 맞는 자동 버전 관리 및 배포 환경을 구성하여 라이브러리 기여 과정의 허들을 낮췄습니다.

기업용 SaaS 애플리케이션

채널 데스크(기업용 SaaS 애플리케이션) 팀에 속하여 채팅, 마케팅, 객관식 챗봇, 통계 등 애플리케이션 전반의 기능을 유지보수하고 개발하는 일을 담당하고 있습니다.

  • 권한 세분화 TF 웹 팀 리드: 미들웨어를 통한 전역 권한 에러 처리 방식을 설계하고 구현했습니다. 스크럼 진행, 문서화 및 문서 기반의 커뮤니케이션, 태스크 상세 분석 및 할당 & 추적하여 프로젝트의 가시성을 높였습니다.
  • z-index 개선: 애플리케이션에 존재하던 350개가량의 z-index 매직 넘버를 디자인 시스템 사용 및 쌓임 맥락을 정리하여 모두 제거했습니다. 묵혀왔던 문제점에 대해 개선점을 먼저 제안하고 적용하여 관련 UI 버그 발생률을 획기적으로 낮췄습니다.
  • 서포트봇 폼 릴리즈: 채널 데스크 애플리케이션과 채널 프론트(고객용 메신저) 애플리케이션에서 함께 사용할 수 있는 공용 폼 컴포넌트를 설계하고 구현했습니다. 양측을 모두 고려한 컴포넌트 인터페이스를 설계하여 엔지니어의 사용성을 높이고, 웹 접근성을 준수하여 가능한 한 많은 사람이 제품을 사용할 수 있도록 구현했습니다.
  • 다크모드 릴리즈: 채널톡 데스크탑 앱의 Cross-platform(Windows, macOS) vibrancy effect, Tray icon 및 Splash 페이지를 포함한 완성도 높은 다이내믹 테마를 구현했습니다.
  • 상담통계 리뉴얼 릴리즈: 차트 라이브러리를 커스텀하여 요구사항에 맞는 다양한 형태의 차트를 구현했습니다.

Personal Projects

Gatsby Starter Apple

2020.08 ~ 현재 | 메인 컨트리뷰터

정적 사이트 생성기인 Gatsby 기반의 오픈 소스 블로그 스타터 템플릿입니다. 접근성 및 성능 관련 모범 사례와 설치 및 기여에 대한 문서를 잘 포함하고 있다고 판단되어2 Gatsby Offical Community Starter Library에 등록되었습니다.3

  • 성능: Google Lighthouse 100점을 달성했습니다.4
  • 접근성: 웹 접근성을 준수하도록 구현했습니다. 스크린 리더 친화적으로 마크업하고, 모바일 버거 메뉴에 포커스 트랩을 사용하여 높은 키보드 접근성을 구현했습니다.
  • 다이내믹 테마: 외부 서비스(iframe)의 테마 변경까지 고려한 디테일 높은 다이내믹 테마 기능을 구현했습니다.
  • UI/UX 디자인: 별도의 UI 프레임워크를 사용하지 않고 직접 디자인했습니다.

Skills

  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • React.js
  • Redux
  • Storybook
  • Git
  • GitHub Actions
  • Figma

Education

코드스쿼드

2020.01 ~ 2020.07 | 웹 프론트엔드 마스터즈코스 수료

건국대학교 커뮤니케이션디자인학과

2012.03 ~ 2019.02 | 학사 졸업


  1. Codecov Coverage | next-v1 branch, from May 21, 2021 to Jun 01, 2023. (n.d.). https://app.codecov.io/gh/channel-io/bezier-react/tree/next-v1?trend=all%20time.

  2. Gatsby Starter Community Submissions. (n.d.). https://www.gatsbyjs.com/starters/submissions.

  3. 문서 최상단의 마지막 업데이트일 기준.

  4. v1.0.0, 데스크탑 기준.