Software Engineer
장호승
빠르고 급한 이터레이션을 필요로 하는 팀에 속하여 작업의 비즈니스적 가치를 판단하고, 일정 내에 좋은 퀄리티로 마무리하는 것을 커리어 전체에 걸쳐 해왔습니다.
따라서 불필요한 일을 하지 않을 수 있는 환경을 만드는 것을 가장 중요하게 여깁니다. 이를 위해 주도적으로 생산성을 개선하고, 문제의 핵심과 가장 간단한 답안을 찾으려 노력합니다.
프론트엔드 개발자로 커리어를 시작했지만, 다양한 분야를 경험하여 기술적 견해를 넓히는 것을 중요하게 여기며, 프론트엔드 바깥의 분야에서도 다양한 경험을 해왔습니다.
Skills
- React, TypeScript 기반의 프론트엔드 개발을 주로 해왔습니다.
- CSR, SSR 모두 익숙합니다. CSR 환경에서는 AWS를 주로 다루었고, S3, CloudFront, Lambda@Edge 기반 테스트/프로덕션 배포 구성, SEO 처리 경험이 있습니다. SSR 환경에서는 Next.js를 주로 다루었습니다.
- Yarn Workspace 기반 모노레포 환경의 거대한 사내 라이브러리 프로젝트를 유지보수 해본 경험이 있습니다. Node.js 모듈 시스템, 트리 쉐이킹 등을 이해하고 있고, Rollup, Webpack 등 번들러를 다룰 수 있습니다.
- 브라우저, 웹뷰 모두 익숙합니다. 특히 Swift로 웹 브라우저를 개발해본 경험이 있어, WebKit 웹뷰에 대해 자세히 알고있습니다.
- 프론트엔드 퍼포먼스 개선 경험이 있습니다. 불필요한 리렌더링 최적화, 번들 경량화, 렌더링 속도 최적화, 네트워크 비용 최적화 등 다양한 경험을 가지고 있습니다.
- Node.js, AWS 기반의 Serverless 백엔드 개발 경험이 있습니다. 특히 Lambda, DynamoDB를 활용한 경험이 많습니다.
- 초기 스타트업에서 AI Product를 개발하면서 LLM을 여러 목적으로 깊게 다뤄본 경험이 있습니다.
Experiences
Mirror
Software Engineer
2024-04 ~ 현재
- 글로벌 유저가 사용하는 WebKit 기반 브라우저 Mirror의 SwiftUI 기반 macOS, iOS 앱 개발, Next.js기반 SSR 프론트엔드 개발, 서버리스 환경의 Node.js 기반 백엔드 개발
- 하드코딩된 JSON 데이터로 동작하던 신규 유저 온보딩을 LLM 기반으로 유저의 직업에 따라 개인화되도록 만들어 리텐션 개선
- 주기적으로 SNS를 크롤링하여 인플루언서를 찾고, 개인화된 이메일을 LLM으로 생성하여 자동 발송하는 월 20달러 미만으로 작동하는 자동화된 마케팅 프로세스 구축
- 디바이스간 실시간으로 데이터를 싱크할 수 있게 하여 기기 변경, 멀티 디바이스 상황에 있는 유저들의 문의 100% 감소
- Chrome Extension을 WebKit에서 실행 가능하게 만드는 런타임 구축
- Function Calling 대신 Code Execution 환경을 구축하여 LLM 토큰 비용 90% 개선
Viva Republica (Toss)
Frontend Engineer
2022-04 ~ 2024-04
- 월 200만 10대 유저가 사용하는 제품들의 Next.js기반 SSR 프론트엔드를 마이크로 프론트엔드 환경에서 개발
- MAU를 120만 부터 시작하여 200만 이상으로 성장시킨 수많은 제품의 프론트엔드 개발을 혼자서 담당, 코레일/티머니, CU/GS, 애플 등 제휴사와 직접 소통
- 라이브러리 PoC 프로세스의 메인 리뷰어로써 활동하여 개발 및 PR 리뷰 시간을 2배 이상 절약
- 토스 서버에서 타임존을 명시하지 않는 문제를 공론화하고 각 팀별로 명시를 시작하도록 설득하여, 타임존으로 인해 장애를 겪어 문의하는 유저들의 시간, 대응하는 직원들의 시간 모두 2배 이상 절약
- 페이지 하나에서 사용하는 3D 리소스의 용량을 21.5MB에서 1.8MB까지 압축하여 유저의 네트워크 비용 92% 절약
- 제품 개발 중 최악의 경우 1~2일까지 소모되던 비효율적인 병목들을 웹 JSON 에디터를 적극 활용해 10분 미만으로 전부 개선
- 비직관적인 구조로 설계되어 있고 Android, iOS 네이티브 레거시까지 엮여 예상치 못한 버그가 많던 기존의 네비게이션 바를 완벽히 개선하여 10개 이상의 서비스에 적용
- 카드 선택 인터랙션, 가격 변동 애니메이션 등 생동감 있는 인터랙션 구현
- 라이브러리 오픈소스 Slash의 메인 기여자로 활동
- 자세히보기
Catch Fashion
Software Engineer
2020-08 ~ 2022-04
- 월 50만 유저가 사용하는 명품 이커머스 캐치패션의 React, CSR 기반 프론트엔드, 서버리스 환경의 Node.js 백엔드 개발
- 컨텐츠 팀의 포스트를 더 많은 곳에 노출하는 새로운 시스템을 설계하고 데이터 파이프라인을 구축하여 포스트 전환율 10% 개선
- 외부 라이브러리에서 발생하는 불필요한 리렌더링을 완전히 없애고, 변경된 상태 전파를 매우 엄격하게 관리하여 React 리렌더링 퍼포먼스를 극한까지 개선
- 변경되지 않는 서버 응답에 Client-side 캐싱을 적용하고, Infinite Scroll이 적용된 페이지에서 다음 데이터를 Prefetch하는 등 API 호출을 최적화하여 렌더링 시간 500 밀리초 이상 절약
- 불필요하게 용량이 큰 라이브러리인 moment.js를 day.js로 마이그레이션하여 번들 용량 30% 절약
- 웹 브라우저에서도 푸시 알림을 받을 수 있도록 만들고 알림 권한을 받는 UI를 직접 개선하여 푸시 알림 구독 2배 이상 증가
- 자세히보기
Activities
- 아이디어를 얻으면 오픈소스로 만들어 공개하고 있습니다.
Educations
대덕소프트웨어마이스터고등학교
2018.03 ~ 2021-01