코드를 통해 가치있는 것을 만들기 위해
끊임없이 노력하는 개발자
Introduce
2년 차 프론트엔드 개발자로 빠르고 견고하게 개발하는 것에 가치를 둡니다.
- 프론트엔드 성능 최적화를 통해 사용자가 느끼기에 부드럽고 반응이 빠른 것뿐만 아니라, 비즈니스 측면에서 Time to Market 타이밍을 맞출 수 있게 짧은 일정에 빠른 속도로 개발합니다.
- 기획과 디자인 스펙에 맞게 정확히 개발하며, 최대한 간결한 코드로 기능을 구현하여 프로젝트의 복잡도를 낮추면서 함께 개발하는 동료를 위해 클린 코드를 지향합니다.
Work Experience
우아한형제들 (배달의민족)
2018.11 ~ 현재
만화경
우아한형제들 신사업 웹툰 서비스 만화경의 PC, 모바일웹 사이트와 앱 내 웹뷰를 팀 내 유일한 프론트엔드 개발자로 혼자 담당하여 React+Mobx+Next.js+styled-jsx 스택으로 개발하였으며, 사내 통합인증 서비스가 따로 없기 때문에 팀 내 서버 개발자분들과 협업하여 토큰 기반 인증 프로세스를 구현하였습니다.
올해 2월부터는 팀에 새로 합류하신 프론트엔드 개발자분과 함께 만화경 2.0 개편 작업을 하면서 React+Redux-toolkit+Next.js+Emotion 스택으로 리팩토링을 하였으며, 광고를 통해 웹사이트에 유입된 사용자를 만화경 모바일 앱으로 전환시키기 위해 디퍼드 딥링크나 여러 버전의 앱 다운로드 유도 배너를 노출하는 등 다양한 실험을 통해 비즈니스 성장에 기여하였습니다.
웹툰 뷰어
만화경 작가 간담회에서 작가님들이 자신의 작업 결과물을 PC에서 볼 때는 괜찮았는데 모바일 환경에서는 화면이 깨지거나 어색한 부분이 존재할 수도 있고, 작업 중에는 캐치하지 못했던 작품 전개 흐름 상 자연스럽지 않은 부분을 폰으로 볼 때 쉽게 잡을 수 있다고 말씀해주셔서 그다음 날 바로 혼자 프로토타이핑 후 디자이너와 협업하여 빠르게 런칭한 서비스입니다.
모바일 기종 선택 버튼을 눌러 아이폰, 갤럭시 모델별 디바이스 목업을 바꿀 수 있고, 각각의 모바일 디바이스 목업은 모두 이미지가 아닌 css로 구현 후 실제와 같은 크기로 볼 수 있도록 슬라이더로 크기 조절이 가능하도록 구현하여 지금도 만화경 작가님들이 애용해주시고 있습니다.
Other Experience
우아한 테크캠프 1기
- 웹 프론트엔드 트랙
- 배달의민족 앱 내 업소별 주문량 기반 랭킹 서비스 먹깨비 개발
- 우아한 테크캠프 주제로 마이크로소프트웨어 390호 기고 - 개발자의 시작은 협업과 커뮤니케이션
Software Maestro 9기
- 인스타그램 마케팅 자동화 툴 애드샷 개발
- Udacity React Nanodgree 수료
- Udacity Fullstack Nanodegree 수료
NEXTERS 12기 운영진
- 개발자와 디자이너를 위한 최고의 연합 IT 개발동아리 NEXTERS 12기 CEO
- 아산나눔재단 및 NAVER D2 후원 유치
- 리크루팅 지원자 185명 중 서류 평가와 면접을 통해 신입회원 30명 선발 경험 (총 활동회원 50명)
- 제 7회 대학생 연합 해커톤 UNITHON 개최
Side Project
realworld io 오픈소스 (Next.js example 기여)
Demo | Source Code | Post
새로운 기술을 배울 때 예전에는 Todo List를 주로 만들었지만 뭔가 아쉬움을 느꼈고 그것보다는 더 복잡하고 현실적인 예제를 구현하면서 기술을 연마하고 싶었습니다. 그러던 중 평소 즐겨보는 Reddit의 javascript subreddit에서 Medium을 클론하는 realworld.io 오픈소스를 발견했고 React, Angular, Vue, Svelte와 Redux, Mobx 등 여러 조합으로 구현된 예제를 보면서 해당 오픈소스에 기여하고 싶다는 마음이 생겼습니다.
당시에 아직 구현되지 않았던 Next.js example의 이슈를 넘겨받아 일주일 만에 완성하였는데, 초심자를 위해 최대한 간결한 코드로 구현하라는 원칙이 있어 Redux나 Mobx 등의 상태 관리 라이브러리 없이 Next.js를 만든 Vercel (구 Zeit)의 SWR을 활용해 Local State와 Context API만으로 모든 스펙을 구현하였습니다.
마침반 (마스크 나침반)
Demo | Source Code (현재 공적 마스크 재고 Open API 중단으로 기능 동작 x)
올해 3월 초 공적 마스크 판매 개시에 발맞춰 출시된 수많은 웹/앱 서비스들을 모두 써보았습니다. (코로나 19 공공 데이터 핸드북에 정리된 서비스 목록 참고) 개인 개발자들이 사이드 프로젝트로 만든 것이라 UX/UI의 불편한 점이나 디바이스 플랫폼/브라우저별 동작하지 않는 버그 등이 눈에 띄었습니다. 물론 굿닥이나 똑닥 등 스타트업에서 내놓은 서비스나 네이버, 카카오 지도 앱 내에 포함된 마스크 재고 조회 기능은 위보다 훨씬 뛰어났지만, 지도 현재 위치를 이동할 때마다 마스크 판매점을 보여주지 않고 현재 위치에서 판매점 검색을 해야 하는 등의 불편한 점이 여전히 있었습니다.
그래서 이미 시장에 수많은 유사 서비스가 존재하고 있지만, 더욱 잘 만들어서 나와 내 주변 사람들이라도 써주기를 바라는 마음으로 개발을 시작했습니다. 생각보다는 필요한 기능이 적어서 일주일 만에 완성했고, 그 후 틈틈이 검색/재고 필터링 등의 기능을 더해서 서비스를 개선하는 경험도 해보았습니다.
Recruity
NEXTERS 동아리 운영진 경험을 바탕으로 대규모 리크루팅 시 구글폼 혹은 이메일로 지원서를 받고 면접을 통해 최종 합격 인원을 선발하는 것이 굉장히 힘든 일이라는 것을 깨달았습니다. 차기 운영진을 위해 지원서를 받을 수 있는 MVP 버전의 리크루팅 사이트를 Next.js+Material-ui+Next-connect+MongoDB 스택으로 개발하였고, 평소 친하게 지내던 마이리얼트립의 Tech HR 분과 해당 주제로 얘기를 하다가 breezy.hr 이나 greenhouse.io 등의 유사 서비스를 알게 되었습니다.
그 후 위의 프로토타입보다 조금 더 채용 담당자 친화적인 Recruity라는 서비스를 Next.js+Zeit-ui+Prisma+Postgresql 스택으로 개발하여 해외 리크루팅 Saas를 사용하는 회사나 Notion을 채용 공고 페이지로 쓰고 이메일로 지원서를 받는 다수의 스타트업들이 무료로 사용할 수 있도록 준비 중입니다.
Education
서울대학교 경제학부 (경영학 부전공)
2011.03 ~ 2017.08
KAIST 창업융합전문석사 (기술경영 전공)
2017.09 ~ 2018.08