안녕하세요,프론트엔드 개발자 박시우입니다.

자기 소개

동료와 함께 성장하는 개발자입니다. 95명 규모의 프론트엔드 채널을 직접 운영하며, 주 1회 이상 최신 기술·아키텍처 아티클을 큐레이션해 공유합니다. 회의·코드리뷰에서도 문제를 적극적으로 제기하고 대안을 제시해 왔습니다. 덕분에 다면평가에서 "기술적 고민을 깊이 하고 학습 내용을 적극 공유", "어려움에 처한 동료를 먼저 돕고 팀워크를 강화", "호기심과 개선 의지가 탁월"하다는 피드백을 받았습니다.

오픈소스에 적극적으로 기여합니다. 실무 과정에서 framer-motion 커스텀 훅의 무한 렌더링 버그를 발견해 직접 수정 했고, TanStack/query의 queryClient.setQueryData 제네릭 타입 오류를 찾아내어 개선했습니다. 이처럼 사용 중인 라이브러리에서 문제가 드러나면 회피하기보다 직접 수정하거나 이슈를 제기해 오픈소스 커뮤니티와 함께 품질을 높이고자 노력합니다.

더불어 DX 향상을 위한 도구 개발에도 적극적입니다. 수동으로 수정하기 번거롭던 레거시 코드를 자동화 스크립트로 정리했으며, 팀 규칙에 맞춘 ESLint 플러그인을 직접 제작해 배포했습니다. Sentry · OpenSearch · Amplitude에서 이벤트 로그나 enum을 마우스 오버만으로 이해할 수 있도록 설명을 보여주는 Chrome 확장 프로그램을 개발해 비개발 직군까지 활용하도록 했습니다. 현재는 MSW Request Handler를 클라이언트에서 직관적으로 관리할 수 있는 MSW Devtools를 개발 중입니다.

경력

  • 자비스앤빌런즈(삼쩜삼)

    진행중

    Frontend Engineer

    • TypeScript
    • React
    • Storybook
    • Vitest
    • GitHub Actions
    • Individual Income Tax(개인소득세) 사업부 소속으로 삼쩜삼 개발
    • 서비스 주 사용층을 확인해 Polyfill 적용, coverage 10%가량 향상
      • user-agent 분석으로 최적의 최소 지원 버전 도출
    • 실패율 30%의 API 폴링 상황에서 유저 경험 개선을 위해 Retry 로직 설계
      • 유저가 많이 몰리는 시즌을 고려해 Exponential Backoff + Jitter 적용
    • 간결한 영문으로 돼 디버깅시 파악이 어려웠던 이벤트 로그 키, enum 등에 설명을 추가해 보여주는 Chrome Extension 제안 및 개발
      • 개발자 뿐만 아니라 PM, CX 등 모든 직군에서 활용 가능하도록 공유
    • CI 시간을 줄이기 위해 변경된 파일만 테스트 실행하도록 개선, 소요 시간 30초 단축
    • 모바일 웹(웹뷰) 간편인증 과정에서 외부 앱(카카오톡·PASS) 이동 후에도 흐름이 끊기지 않도록 Web Worker 기반 백그라운드 폴링을 실험적으로 도입
      • 안드로이드 환경에서 인증 완료율 10% 상승
      • 실험 과정에서 플랫폼별 스레드 생명주기 차이를 발견 → 웹 API·브라우저 정책에 대한 이해도 향상
      • 경험을 토대로 차기 프로젝트에 적용 가능한 type-safe Web Worker 커스텀 훅 설계
    • 거대한 레거시 ts-morph 활용해 효율적으로 수정
    • Node, Storybook, Yarn 버전 업그레이드 등 프로젝트 환경 관리
    • 통합 테스트 작성 컨벤션 정립에 기여, Lines 커버리지 64% 달성
    • 디자인 시스템 컴포넌트 개발 및 유지보수
  • 구름

    Frontend Engineer

    • TypeScript
    • Next.js
    • Sass
    • Storybook
    • GitHub Actions
    • 게이미피케이션을 통해 구성원의 퍼포먼스를 이끌어내는 플랫폼 goormEXP 개발
    • 프론트엔드 개발 환경 개선을 위해 TypeScript로 마이그레이션 주도
    • 불필요한 코드 컨벤션 관련 코드리뷰를 줄이기 위해 ESLint Custom Rule 개발
    • goormstrap 프로젝트 GDS 모노레포로의 이전 및 CI/CD 구축
      • 노후화된 개발 환경으로 유지보수가 어려웠던 프로젝트를 이전
    • 간트 차트 라이브러리 개발 및 Virtualize 활용해 성능 최적화
    • 디자이너와 효율적인 협업을 위해 Storybook 도입 건의, 개발 환경 구축
    • Goorm Design System(GDS) 개발 및 유지보수
    • SSR / SSG 환경에서 다국어 지원 대응
  • 콘텐츠웨이브

    웹 프론트엔드 개발 인턴

    • TypeScript
    • Vue.js
    • 꾸준한 토론을 통해 더 많은 생각을 나누고자 노력, 두 달만에 GitLab 기준 400회 이상의 Activity를 기록

프로젝트 및 오픈소스 활동

  • 오픈소스 프로젝트 기여

    • TanStack/query queryClient.setQueryData 제네릭 타입 오류 수정 (링크)
    • motion 무한 렌더링 버그 수정 (링크)
    • TanStack/query 공식 문서 잘못된 내용 수정 (링크)
    • chakra-ui/panda 스타일 토큰 생성 관련 버그 수정 (링크)

    프로젝트 개발 시 자주 사용하는 라이브러리에 대한 이슈를 해결하고 공식 문서를 수정하는 등 오픈소스 프로젝트에 기여했습니다.

  • @custardcream/msw-devtools

    진행중
    • 프레임워크 독립적 API 설계로 React, Vue 등 다양한 프레임워크에서 사용 가능
    • WebSocket 인터페이스 및 serverGuard 로직 추상화로 안정적인 JSON 파일 ↔ UI 실시간 동기화 구현
    • pnpm 모노레포로 UI, CLI 서버, 코어 3패키지 구조 설계

    서비스 개발 시 MSW Request Handler 관리에 불편함을 느껴 개발하고 있는 Devtools입니다. UI를 통해 핸들러를 관리(추가, 수정, 삭제, 활성화/비활성화, 지연 처리)할 수 있습니다.

    • React
    • TypeScript
    • Rollup
    • i18n
  • coinrate.kr — 실시간 암호화폐 환율 계산기

    진행중
    • 복수 거래소 API(Upbit·Bithumb·Binance·CoinGecko 등)를 타입 안전 resolver 레이어로 통합, 단일 fetch SDK 제공
    • 제네릭 Server Component 유틸을 설계해 Suspense · 데이터 패칭 패턴을 연구중
      // As Is
      <Suspense fallback={<div>Loading...</div>}>
        <CoinListServerComponent />
      </Suspense>
       
      // To Be
      <Suspense fallback={<div>Loading...</div>}>
        <ServerPromiseConsumer
          promise={getCoinListData()}
        >
          {(data) => <CoinList data={data} />}
        </ServerPromiseConsumer>
      </Suspense>
      // As Is
      <Suspense fallback={<div>Loading...</div>}>
        <CoinListServerComponent />
      </Suspense>
       
      // To Be
      <Suspense fallback={<div>Loading...</div>}>
        <ServerPromiseConsumer
          promise={getCoinListData()}
        >
          {(data) => <CoinList data={data} />}
        </ServerPromiseConsumer>
      </Suspense>

    한국 주요 거래소(업비트·빗썸)와 글로벌 지수 데이터를 통합해 한국 프리미엄·환율·거래소별 가격 차이를 실시간으로 보여주는 서비스입니다. Next.js 최신 기능을 실험하며 개발·운영 중입니다.

    • Next.js
    • TypeScript
  • 카카오톡, 디스코드 코인 / NFT 정보 조회 챗봇

    • 최대 약 700여 명의 MAU 기록 (서비스 중단)
    • 코인 거래소별로 다른 API 명세에 대응하기 위한 normalizer를 구조적으로 설계
    • NFT 프로젝트 커뮤니티 관리를 위한 이벤트 기능, NFT 정보 검색 및 보유 중인 NFT 조회 기능을 탑재한 디스코드 봇을 개발해 약 2,800여 명의 사용자가 있는 디스코드 서버에서 실사용

    블록체인에 관심을 가져 개발한 챗봇입니다. 코인 가격 조회, NFT 가격 조회, 가격 변동 알람 등 20 ~ 30가지의 블록체인 투자 관련 기능을 가진 카카오톡 봇과, NFT 커뮤니티 관리를 위한 디스코드 봇입니다.

    • Node.js

경험

  • 벤처 스타트업 아카데미 장관상

    중소벤처기업부 주관 벤처 스타트업 아카데미 교육과정에서 최우수 성적을 거둬 장관상을 수상했습니다.

  • 『타입스크립트 넌 내 타입』 집필

    타입스크립트를 처음 접하는 사람들을 위한 개념서를 집필했습니다. 인터페이스, 제네릭 챕터 집필에 참여했습니다.

  • Google Developer Student Clubs UOS

    Frontend 팀의 Core Member로서 Daily Scrum, Sprint 회고, Kick Off, CPU Meeting 등을 주도했습니다.

  • 서울시립대학교 공간 데이터베이스 연구실 학부생 연구원

    인천시 생활폐기물 발생량 분석 및 예측 모델 개발 연구, 착한 이륜차 운전자 평가 시스템 개발 연구에 참여했습니다.

  • 제 36회 도시과학대학 공동작품전

    동선 기반 일정 관리 크로스플랫폼 어플리케이션 Dayplan.it을 개발, 도시과학대학장상을 수상했습니다.

교육 및 자격증

  • 멋쟁이사자처럼 FE School 3기

    회고조 조장, 팀 프로젝트 리더로서 활동하며 Soft Skill을 발휘했습니다. 지식을 나누기 위해 59명의 동료에게 리액트로 투두 개발하기 특강을 진행하기도 했습니다.

  • SQLD (국가 공인 SQL 개발자)

  • TOEIC Speaking Advanced Low

  • 서울시립대학교 공간정보공학과 학부과정