안녕하세요,프론트엔드 개발자 박시우입니다.
자기 소개
저는 오픈소스에 기여하길 좋아합니다. 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
서울시립대학교 공간정보공학과 학부과정