Photo by David Siglin on Unsplash

 2021년 3월부터 2022년 2월까지 1년간 스타트업 수공에서 웹사이트와 앱을 개발하였다.

 처음 수공으로 갔을 때 웹사이트와 어드민은 개발되어 운영중이었고, 마스터(수리 기사님들)용 안드로이드앱은 개발 중이었다. 이 당시 아키텍쳐는 프론트엔드는 react 로 되어 있었고, 백엔드는 ruby, 인프라는 aws ec2 등으로 구성되어 있었다. 내가 입사한 이후 기존 개발자 분들 4분이 모두 다 퇴사하시고, 훌륭한 분들이 입사하셔서 내가 퇴사할 때는 개발팀이 6명까지 되었다.

 마스터용 안드로이드앱은 한 개발자분이 담당하셔서 나는 개발환경까지만 세팅하고 개발에 기여한 부분이 없었다.

 기존 개발자분들이 퇴사하시고, 안드로이드 개발자 한 분과 프론트엔드 개발자 한 분이 있었는데, 이 때 나는 내가 백엔드 이외에 다른 모든 개발내용을 알아야겠다고 판단하고, 백엔드에 집중하기 보다는 생산성을 높이기 위해 최근 프로젝트에서 활용했던 amplify 를 이용해 개발해보려 했으나 한 달이라는 시간내에 react-admin 과 카테고리 관리 기능 등의 기본적인 세팅까지만 마치고 amplify 를 이용한 개발은 멈춰야 했다.

 이후 백엔드 개발자 한 분이 오셔서 java springboot 로 기존 database 를 활용하는 방법으로 새롭게 개발을 시작하였다. 이 때 나는 springboot 를 aws lambda 로 배포하는 것을 테스트해보고, 이후 ecs 를 활용하여 개발, 테스트, 메인 서버를 구성하였다.

 그리고 프론트엔드는 aws amplify 를 통해 nextjs 를 배포하니 버지니아에 배포되어 서버가 느린 현상이 발견되어, serverless 를 활용하여 aws lambda@edge 로 배포하여 프론트엔드 서버 속도를 향상 시켰다. 웹사이트 메인서버 릴리즈 직전에는 카카오, 네이버 등 SNS 로그인을 연계하여 문의가 접수되는 프로세스를 개발하였다.

 이렇게 개발되어가는 중 백엔드 개발자 한 분이 오셔서 어드민 프론트엔드와 백엔드를 개발하셨는데, 이때 해당 개발자 분이 백엔드를 희망하는 것을 확인하고 내가 어드민 프론트엔드를 맡겠다고 했고, 어드민 프론트엔드를 일부 작업하다가 웹사이트 프론트엔드 작업이 많아져서 다시 웹사이트 프론트엔드 작업을 하였다. 그리고 웹 백엔드 작업도 일부 참여하였다.

 웹백엔드에서 어드민 백엔드 서버 분리가 필요하다고 하여 어드민 백엔드는 ec2 와 로드밸런서 등을 활용하여 구성하였고, ecs 배포 시간이 오래걸려서 웹 백엔드 개발서버도 ecs 에서 ec2 로 변경하였다.

 이렇게 백엔드와 프론트엔드의 인프라 부분을 작업하면서 github action 을 활용하여 CI/CD 도 세팅하였다.

 그리고 프론트엔드 개발자 한 분이 더 채용되셔서 개발자 6명이 팀이 되었고, 나는 리액트네이티브 웹뷰를 활용하여 안드로이드 앱과 iOS 앱을 배포하였다. 리액트네이티브 앱은 외주업체에서 2주간 작업하여 넘겨준 소스코드가 있었는데, 앱 웹뷰와 웹사이트가 통신하는 것과 카카오, 애플로그인이 자연스럽게 이루어지도록 웹사이트 프론트엔드 작업과 일부 백엔드 작업도 하였다.

 

 내가 수공에서 일하며 가장 중요하게 생각했던 것은 인프라, 소스코드에 대한 권한을 모두다 공유하고 이상적인 개발환경에서 일하는 것이었다. 이 부분에 대해서는 잘 이루어져서 좋은 팀을 이루고 떠나게 되어 기쁘다. 단 한 가지 아쉬운 점은 이런 상황에서 내 포지션을 명확히 하지 못했다는 것이다. 왜 프론트엔드와 백엔드를 구분해야 하는가? 에 대한 여러 이유 중 한 가지를 배울 수 있던 시간이었다.

어제 깃헙을 구경하는데 github > explorer > collections 에 아래와 같이 made in india 페이지가 있는 것을 확인했다.

https://github.com/collections/made-in-india

 

왜 made in korea 는 없을까 생각하고 github/explore 프로젝트를 살펴보니, collections 에 made in korea 를 추가할 수 있다는 걸 알게 되었다.

 

바로 행정안전부 사이트에서 태극기 이미지를 받고, 마크다운 문서를 하나 작성해서 github/explore 프로젝트에 풀리퀘스트를 하였고, 몇시간 후 머지가 되어서 아래와 같이 made in korea 페이지가 만들어졌다.

 

정말 간단한 작업이었지만 개발자라면 모를 수 없고, MS 에서 8조원에 인수한 github 프로젝트에 작게나마 기여했다는 게 뿌듯해서 기록한다.

https://github.com/collections/made-in-korea

Photo by Annie Spratt on Unsplash

 react와 클라우드를 사용한 세번째 프로젝트였고, 좀 더 제대로 만들고 싶었으나 인원 리소스의 제한으로 가장 빨리 만들 수 있는 방법을 택했고, 지난 프로젝트에서 적용하였던 typescript 를 활용하였다.

 redux에 typescript 를 적용하면서 redux github에 pull request를 했다가 redux maintainer에게 답변도 받고, 내가 만든 기능을 오픈소스로 공개도하는 좋은 경험을 할 수 있었던 프로젝트였다.

 또, back office 기능을 react-admin 을 통해 깔끔하게 만들 수 있었다.

 한가지 아쉬웠던 부분은 비즈니스와 디자인 부분에서 속도가 조금 느렸다는 것이다. 개발은 나와 인턴개발자 한분 둘이서 재밌게 필수적인 것들을 만들어 갔는데, 비즈니스와 디자인부분에서는 완성도를 기다리며 실행을 하지 못했던 것이다.

 부서간 사람간 속도가 참 중요하다는 것을 느낄 수 있던 프로젝트였다.

+ Recent posts