미리보기
기본 정보
웹 및 앱 서비스 개발과 배포를 주도하는 프론트엔드 개발자입니다. 새로운 기술에 대한 관심이 많아 이를 연구하고 프로젝트에 적용하는 것을 즐깁니다. 다양한 직무의 구성원들과 적극적으로 소통하며, 기획 및 UI/UX 디자인에도 깊은 관심을 가지고 주도적으로 업무를 진행합니다. 특히, 회사가 시리즈 A에서 시리즈 B로 성장하는 과정에서 중요한 역할을 수행하며 투자 유치에 기여한 경험이 있습니다.
기술 스택
React, TypeScript, react-query, zustand, tailwind-css
경력
스냅태그주식회사
팀원 | 서비스개발팀 | 재직 중
2022.06. ~ 재직 중 (2년 9개월)
비가시성 워터마크 기술을 활용하여 맞춤형 솔루션과 서비스를 제공합니다. 프론트엔드 개발자로서 서비스뿐만 아니라 웹뷰와 백오피스 개발을 주도하고 있습니다.
프로젝트
스포츠 포토카드
스냅태그주식회사
2024.04. ~ 진행 중
앱에서 포토카드를 구입하고 키오스크에서 출력하는 서비스의 백오피스입니다.
Next.js를 활용하여 전체 백오피스를 설계하였고, Tanstack Query와 Zustand를 사용해 개발을 진행 중입니다.
대시보드 페이지의 여러 통계 정보에서 다르게 렌더링 된다는 느낌을 받았습니다. 5개의 API를 별도로 호출해야 했다고 판단했습니다. 효율적으로 처리하기 위해 Next.js의 API 라우트를 활용하 BFF(Backend for Frontend) 패턴을 적용하여 전체 로딩시간이 약 500ms 정도 소요되던 것을 단일 API 호출 및 전체 로딩 시간을 약 150ms로 단축하였습니다.
스냅태그AI 홈페이지
스냅태그주식회사
2023.10. ~ 2023.10.
스냅태그AI(https://snaptag.ai/)
회사의 비가시성 워터마크 기술을 적용하고, 이를 체험할 수 있는 서비스를 개발했습니다.
기존에는 Netlify를 사용해 배포했으나, AWS Amplify로 전환했습니다. 전시회에서 Lab 페이지로 사용하던 중 페이지 로딩 시간이 로컬 기준보다 1 ~ 2초 이상 느려지는 문제가 발생했는데, 이는 물리적인 서버 위치 차이로 인해 발생한 것으로 판단했습니다. Netlify도 CDN을 사용하지만, AWS의 글로벌 인프라와 비교했을 때 성능 차이가 있었습니다. 실제로 AWS Amplify로 전환한 후, 페이지 로딩 시간이 평균 300ms로 개선되었고, QA팀에게도 긍정적인 피드백을 받았습니다.
KEFFO-ADMIN
스냅태그주식회사
2023.07. ~ 진행 중
KEEFO(아이돌의 사진, 영상 등을 활용한 전시회 모바일 티켓 판매 서비스)의 백오피스 페이지를 설계하고 개발했습니다. Next.js를 활용하여 관리자 페이지의 모든 설계 및 기능 개발(대시보드, 필터 등)을 수행했습니다. Tailwind CSS를 주도적으로 도입하여, Next.js에서 CSS-in-JS보다 활용하기 쉽고 빠르며 일관된 스타일링을 구현했습니다.
기존 백오피스에서는 state로 검색 및 필터를 관리하여 새로고침하거나 다른 작업을 잠시 하는 경우 필터가 적용되지 않은 값이 표시되는 불편함이 있었습니다. 이를 개선하기 위해 검색 및 필터 관리를 state에서 query로 전환했습니다. 이 변경은 실제 백오피스를 운영하는 팀에게 좋은 리뷰를 받았습니다.
KEFFO-SHOP
스냅태그주식회사
2023.04. ~ 진행 중
http://shop.keefo.co.kr
아이돌의 사진, 영상 등으로 열리는 전시회의 모바일 티켓 판매 서비스입니다. Next.js를 활용하여 설계 및 개발을 진행했으며, Tanstack Query와 Zustand를 사용했습니다.
결제, 로그인, 다국어 처리 등 전반적인 프론트엔드 업무를 담당했습니다. 로그인은 OAuth 인증을 통해 Refresh Token과 Access Token을 사용하여 구현했으며, 다국어 처리는 next-i18next 라이브러리를 활용했습니다.
KEFFO-APP
스냅태그주식회사
2022.12. ~ 2022.12.
KEEFO 서비스에서 구매한 모바일 티켓을 확인하고 입장할 수 있는 앱입니다.
자진해서 React Native를 이용하여 크로스플랫폼 앱으로 개발 및 배포한 프로젝트입니다. 앱 기획부터 배포까지 모든 과정을 담당했습니다. 앱 배포를 위해 필요한 개발 외의 정책적인 부분과 앱 운영에 대한 고민을 할 수 있었고 회사에서 크로스플랫폼에
대한 긍정적인 반응을 보여줬습니다.
현재는 Native로 새롭게 개발되었습니다.
스냅스캔
스냅태그주식회사
2022.10. ~ 2022.10.
KLPGA 스탬프 행사용 앱의 모든 페이지를 웹뷰와 행사장에 설치한 이벤트 대시보드 페이지로 구현했습니다. 앱과의 통신을 통해 데이터를 분기 처리하여 사용자에게 필요한 정보를 제공했습니다.
행사 설문에 참여한 정보를 그래프로 시각화하는 반응형 대시보드 페이지를 개발하여 실시간으로 시각적 반응을 제공함으로써 참여자들의 많은 관심을 끌었으며, 주말과 야근을 통해 출시 일정을 맞추며 성공적으로 프로젝트를 완료한 프로젝트입니다. 현장에도 직접 참여하여 사용자들이 실시간으로 대시보드에 그려지는 모습을 즐기는 것을 확인할 수 있었습니다.
랩코드 프로그램
스냅태그주식회사
2022.06. ~ 2022.12.
이미지에 우리 회사 기술인 비가시성 워터마크를 직접 적용하고 확인, 인쇄 등을 할 수 있는 데스크탑 앱입니다.
Electron을 이용해 Windows와 macOS용 데스크탑 앱을 개발했습니다. React를 사용해 UI를 개발했고, Redux로 상태 관리를, konva 라이브러리로 캔버스를 활용한 이미지 처리를 구현했습니다.
웹사이트나 SNS 등을 통해 데스크탑 앱 설치 파일을 공유할 때 설치가 불가능하거나, OS에서 강력한 경고 문구가 표시되어 설치 파일 전달이 쉽지 않았습니다. 배포 시 품질 보증서와 비슷한 코드 사인을 적용해야 한다는 것을 알게 되었고 해결하기 위해 코드 사인을 적용하여 고객사가 다운로드 바다 안전하게 설치할 수 있도록 했습니다. 이번 프로젝트를 통해 데스크탑 앱을 개발하고 운영하기 위한 정책과 방식에 대해 전반적으로 이해할 수 있는 시간이었습니다.
대외활동
항해플러스 프론트엔드 1기
기타
주니어 프론트엔드 개발자들로 구성된 모임에서 시니어 개발자들의 멘토링을 받으며, 10주 동안 React 작동 원리, CI/CD, Git Flow, 디자인 패턴, TDD, 성능 최적화 등 주니어 프론트엔드 개발자가 알아야 할 내용을 학습하고, 팀별로 하나의 프로젝트를 완성하는 프로그램을 진행했습니다.
자기소개
저는 매일 성장하는 개발자고 되고 싶습니다.
사용자에게 최적의 UI/UX를 위해 함께 고민하고 싶어 지원했습니다. 개발자로 전향해야겠다는 생각 이후 가장 먼저 사용자에게 보이는 화면을 개발하는 프론트엔드 매력을 느꼈습니다. 그래서 매 프로젝트 기획과 디자인 회의에도 참여하여 사용자 입장을 먼저 생각하려 하고 새로운 기술을 적용시키려 노력합니다. 성장을 위해서는 개인의 성장도 중요하지만, 조직의 성장이 있어야 하면 조화를 이룰 때 시너지를 통해 계속 발전할 수 있다고 생각합니다.
[새로운 시도]
서비스를 개발하는 개발자가 되고 싶습니다.
맹목적으로 개발만 하는 개발자가 되기를 지향합니다. 서비스의 대한 이해와 사용자의 소리를 들으며 적용시켜 나가길 원합니다. 시작되는 프로젝트에 참여한 경우가 많았는데 항상 기획, 디자인 회의에 참여의사를 밝히며 의견도 적극적으로 피력하는 편입니다. 그래야 서비스를 잘 이해할 수 있으며 원하는 방향으로 개발을 이끌어 나갈 수 있기 때문입니다.
또한 개발자는 변화에 유연하게 대응해 항상 공부를 해야 된다고 생각하며 하며 그중 서비스가 보이는 화면을 구현하는 프론트엔드 개발자에게 더더욱 도전하는 것이 필요하다고 생각합니다. 어떤 것이 좋은지 어떤 것이 나쁜지 항상 고민하며 거의 새로운 프로젝트에 다른 것을 적용시켜 봅니다.
웹페이지뿐만 아니라 다양한 플랫폼 개발을 경험해 봤습니다 크로스 플랫폼인 react-native를 활용해 iOS, AOS 앱 배포 및 업데이트한 경험이 있습니다. klpga에 참가하는 갤러리를 위한 이벤트성 앱의 웹뷰와 대시보드를 만들었습니다.
일렉트론이라는 라이브러리를 통해 windows, macOS에서 우리 회사 기술을 적용시켜 보고 확인할 수 있는 데스크톱 앱을 개발하였습니다. 모든 상황에 유연하게 대처하려고 노력하며 최고의 서비스를 만들기 위해 새로운 것에 도전하는 것을 두려워하지 않고 항상 성장하려 노력합니다.
[코드를 보는 안목]
단순 구현이 아닌 코드 퀄리티를 높여 이질감 없는 서비스 화면과 유지 보수가 용이한 서비스를 만들고 싶습니다.
제가 프론트엔드 개발자로서 가장 얻고 싶은 것은 코드를 바라보는 안목입니다. 남의 코드든 저의 코드든 상관없이 어떻게 코드를 바라봐야 하는지 그리고 좋은 코드는 무엇인지, 남의 코드를 리뷰할 때는 어떤 식으로 이야기를 하는 것이 좋은지 등을 배우고 싶습니다. 개발의 경험이 조금씩 증가할수록 단순 기능 구현이 아닌 컴포넌트 재사용성과 앱 성능 자체에 대한 고민이 점점 증가했습니다. 컴포넌트가 다른 컴포넌트에 의존적인 경우가 많아 하나를 고쳤을 때 다른 컴포넌트도 고쳐야 하는 경우가 많이 발생하여 리팩토링을 진행할 때 시간이 오래 걸렸거나 생각지도 못한 곳에서 사이드이펙트가 일어나 다른 결과를 보여준 적이 있었습니다. 새로운 서비스를 개발할 때에도 기능을 추가하거나 수정이 필요해서 다시 프로젝트의 코드를 열어볼 때 왜 많은 개발자들이 유지 보수가 용이한 코드를 강조하는지 너무나 공감이 되었습니다.
코드를 바라보는 안목이 넓어지면 각각의 다른 프레임워크가 가진 장단점 등을 파악해서 조금 더 넓은 관점을 통해 협업에서도 그런 영향력을 전달하여 긍정적인 개발 문화로 이어질 것이고 개발팀뿐만 아니라 회사 전체에 긍정적인 문화로 이어지길 기대합니다.