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

자기 소개

저는 오픈소스에 기여하길 좋아합니다. chakra-ui/panda, TanStack/query 등에 작은 기여를 하기도 했으며, 실무 중 framer-motion의 커스텀 훅이 무한 렌더링을 일으키는 문제를 발견, 해결에 기여한 바 있습니다. 이같이 사용 중인 라이브러리에 문제가 있다면 회피하기보다는 직접 수정, 이슈라이즈하려고 노력합니다.

더불어 DX를 개선하기 위한 툴 개발에도 관심이 많습니다. 작지만 수정이 까다로워 방치돼있던 레거시 코드들을 자동화 도구로 빠르게 해결했고, ESLint 플러그인도 팀에 맞게 직접 개발해 사용하기도 합니다. 최근에는 MSW Request Handler를 클라이언트에서 편하게 관리할 수 있도록 도와주는 MSW Devtools를 개발 중입니다.

경력

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

    진행중

    Frontend Engineer

    • Individual Income Tax(개인소득세) 사업부 소속으로 삼쩜삼 개발
    • 서비스 주 사용층을 확인해 Polyfill 적용, coverage 10%가량 향상
      • user-agent 분석으로 최적의 최소 지원 버전 도출
    • 거대한 레거시 ts-morph 활용해 효율적으로 수정
    • Node, Storybook, Yarn 버전 업그레이드 등 프로젝트 환경 관리
    • 통합 테스트 작성 컨벤션 정립에 기여
    • 디자인 시스템 컴포넌트 개발 및 유지보수
  • 구름

    Frontend Engineer

    • 게이미피케이션을 통해 구성원의 퍼포먼스를 이끌어내는 플랫폼인 goormEXP 개발
    • Goorm Design System(GDS) 개발 및 유지보수
    • TypeScript로 마이그레이션 주도
    • Storybook 도입 건의 및 개발 환경 구축
    • 실무 사용을 위한 ESLint Custom Rule 개발
    • goormstrap 프로젝트 GDS 모노레포로의 이전 및 CI/CD 구축
    • 간트 차트 라이브러리 개발 및 Virtualize 활용해 성능 최적화
    • SSR / SSG 환경에서 다국어 지원 대응
  • 콘텐츠웨이브

    웹 프론트엔드 개발 인턴

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

프로젝트

  • @custardcream/msw-devtools

    진행중
    • MSW Request Handler 관리를 위한 프레임워크 독립적 DevTools 개발
    • UI를 통해 핸들러를 관리(추가, 수정, 삭제, 활성화/비활성화, 지연 처리) 할 수 있도록 구현
    • Mock Handler의 import/export 지원을 통해 테스트 환경 설정 간소화
    • Devtools를 위한 WebSocket 서버를 제공, Request Handler를 JSON 파일 형태로 관리

    서비스 개발 시 MSW Request Handler 관리에 불편함을 느껴 개발하고 있는 Devtools입니다.

  • utility-class-components

    import { utld, ud } from "utility-class-components";
     
    const Container = utld.div<{ $isRed: boolean }>`
      flex
      text-bold
     
      ${({ $isRed }) => $isRed && "text-red-500"}
    `;
     
    function Page() {
      return <Container $isRed={true}>AWESOME!!</Container>;
    }
    import { utld, ud } from "utility-class-components";
     
    const Container = utld.div<{ $isRed: boolean }>`
      flex
      text-bold
     
      ${({ $isRed }) => $isRed && "text-red-500"}
    `;
     
    function Page() {
      return <Container $isRed={true}>AWESOME!!</Container>;
    }
    • BundlePhobia 기준 3.8KB의 작은 번들 사이즈 달성

    개인 블로그를 Next.js 13 버전의 App Router로 마이그레이션 하며 개발한 라이브러리입니다. '유틸리티 클래스를 CSS in JS처럼 다룰 수 있으면 좋겠다'는 아이디어에서 시작했습니다.

  • 기술 블로그

    진행중
    • Next.js 12버전으로 시작했던 프로젝트를 13으로 업그레이드 하며, Server Component 스타일링을 더 편하게 하기 위해 utility-class-components 라이브러리를 개발
    • Lighthouse 기준 Accessibility, SEO 점수 100점을 유지
    • 블로그 내 게시물 검색 기능을 구현했으며, API Call 최적화 및 어뷰징 방지를 위해 디바운싱을 적용하는 등 지속해서 기능을 개선 및 추가중
    • 게시물의 썸네일을 자동으로 생성

    저만의 색깔을 나타낼 수 있도록 모든 부분을 직접 개발한 블로그입니다. 지속해서 리팩토링하며 컴포넌트 설계의 테스트베드로 활용하고 있습니다.

경험

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

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

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

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

  • Google Developer Student Clubs UOS

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

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

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

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

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

교육 및 자격증

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

    회고조 조장, 팀 프로젝트 리더로서 활동하며 Soft Skill을 발휘했습니다.

    지식을 나누기 위해 59명의 동료에게 리액트로 투두 개발하기 특강을 진행하고, 동료가 마주친 이슈를 함께 해결해나가는 '칭구칭긔들' 스터디를 리드하기도 했습니다.

  • AWS Essentials

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

  • TOEIC Speaking Advanced Low

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