kwondroid의 개발 세계

과거 회사에서의 나를 돌아보며 2 - 주식회사 술로몬 본문

이모저모

과거 회사에서의 나를 돌아보며 2 - 주식회사 술로몬

kwondroid 권오철 2024. 8. 27. 04:52

술로몬에서의 활동

군 복무를 할 때부터 시작했던 술로몬 프로젝트를 2022년까지 수행한 프로젝트입니다.

많은 시간을 들였고 팀 상황에 맞추어 기획과 디자인이 바뀌고, 그에 따라 백앤드, 프론트앤드 모두 많이 바뀌는 과정을 모두 제 손으로 수행했습니다.

프로젝트 진행에 있어 기획과 프러덕트를 새롭게 만드는 것은 기존의 모습을 유지하며 진행하는 것보다 건강한 문화라고 생각하지만, 시간적 비용을 고려하면 쉽지 않은 것이 사실입니다. 그러한 현실에도 불구하고 프러덕트를 새롭게 만드는 과정을 두세 번 이상 거치고, 제품이 더 나아지는 것을 눈으로 봐온 것에 감사함을 느낍니다.

기술 스택(1차)

  • React Native
  • redux
  • Node.js / express
  • Knex (query builder)
  • MySQL
  • AWS

기술 스택(2, 3차)

  • React / Next.js
  • Redux Toolkit
  • Node.js / NestJS
  • TypeORM
  • Elastic Search
  • MySQL
  • TypeScript
  • Github Action
  • AWS

술로몬의 시작

공군은 인트라넷 접근에 대한 자유도가 높습니다. 병, 부사관, 장교를 구분않고 사실상 업무가 인트라넷으로 수행될정도로 인트라넷 접근은 사실상 필수적인 부분입니다.

그덕분에 인트라넷 내의 커뮤니티 환경도 타군과는 비교가 안되고 타군에서도 공군 커뮤니티에 접근하여 여유시간을 보낼만큼 활성화가 됐습니다. 또한 병, 부사관, 장교 모두가 이용하는 문화이기 때문에 서로 다른 신분 대한 의사소통 장벽이 낮았습니다.

그런 환경 덕분에 공군 커뮤니티 중 한곳에서 창업 경진 대회 출전을 위한 팀원을 구하는 글이 게시되었습니다.

당시 창업에 대한 꿈이 피어나고 있던 시기이고, 모집 팀원엔 개발자도 포함되어있었습니다. 당시로써 상당히 구체적인 진행 계획과 사업화에 대한 팀장의 확고하였고 저는 그점을 중요하다고 판단하여 팀장에게 연락을 하였고 그렇게 술로몬에 개발자로서 합류하였습니다.

업무를 수행하기 쉽지 않은 환경

창업 경진 대회를 위해 모인 팀이였지만 군이라는 환경은 대회를 준비하는 것이 쉽지 않았습니다.

디자이너를 맡은 멤버는 군업무 자체가 포토샵을 이용한 디자인이였기 때문에 디자인 자체는 어렵지 않았지만 군사망과 인터넷망이 분리되어있고, 휴대폰에 대한 보안 규정도 까다로웠기 때문에 디자인 공유에 어려움을 겪었습니다.

개발자인 저는 인트라넷 환경에서 개발 업무를 수행하는 것이 불가능하였습니다. 그에따라 MVP 제작도 불가능하였고 AWS Cloud9을 활용하기 어려웠던것이 클라이언트 개발을 React Native로 진행하기로 결정했기 때문입니다.

회의등의 상황에서 서로 다른 부대에서 그룹 보이스 채팅을 활용하고, 서로의 근무 일정이 맞지 않는점, 퇴근 이후 프로젝트를 수행할 수 있는 절대적인 시간 부족 등의 사유들이 창업 경진 대회를 준비하는데 상당한 어려움을 가져다 주었습니다.

그럼에도 불구하고 술로몬의 기초 기획과 디자인을 수행하고 개발에 대한 세부적인 준비를 하는 과정을 모두 하나하나씩 천천히 밟아 나갔습니다.

초기 멤버 모집

제가 먼저 전역을 하고, 몇개월 이후 술로몬의 초기 아이디어를 구상한 팀장이 전역을 하였습니다.

본격적으로 술로몬을 개발하기 위하여 시동을 걸고 있었습니다.

정말 다양한 사람들을 만나며 네트워크를 하였습니다. 하지만 돈 한푼 없이 확실하지 않은 나중의 보상을 이야기하며 팀원을 모으기 쉽지 않았습니다.

합류하더라도 태도문제로 안좋게 팀을 나가는 경우도 있었고, 신뢰를 갖기 힘들다고 판단한 사람도 있었습니다.

수많은 사람들을 만나고 또 만나서 구성된게 지금의 대표, 마케터, 개발자 구성이고 이 멤버로 기술 보증 기금 대출과 예비창업패키지 지원금을 받을 수 있었습니다.

처음 예상과 달리 시장상황과 자본 확보 과정이 많이 바뀌면서 MVP 개발에도 영향을 일부 주었음에도 불구하고 오래걸렸지만 MVP를 완성할 수 있었습니다.

여러번의 프로젝트 방향 변경

술로몬의 첫 목표는 스마트폰 Application 이였고, 이후 디자인을 새롭게 함에 따라 기존의 프로젝트는 처음부터 다시 시작하게 됐으며, 새롭게 또 만들어진 디자인으로 또 다시 MVP를 제작하게 되었습니다. 그리고 얼마전 확장된 기획과 디자인으로 MVP를 만들도록 결정하였습니다.

처음 타겟을 스마트폰 앱에 한정한 이유는 당시 내부에서 ‘스마트폰 브라우저로 특정 플랫폼을 한두번 접속하는것보다 애플리케이션을 다운받아 스마트폰에서 서비스를 자주 노출시키자’ 라는 목표때문이였습니다.

그러나 이부분은 사람마다 의견이 갈리는 부분이였고, 팀 내에서도 이견이 있던터라 팀 자체가 확신이 없었습니다.

이후 기획을 다시 고안함에 따라 웹사이트를 구축하여 앱으로 패키징하여 웹, 앱 장점을 모두 가져가자는 방향으로 바뀌었고 이전 개발 결과물을 두고 다시 새롭게 개발을 해야했습니다.

프로젝트의 방향성이 달라짐에 따라 매번 개발을 새롭게 해야함에 굉장히 큰 부담을 느꼈습니다. 작업을 새롭게 한다는것이 체력적, 업무적으로 부담이 됐고, 시간적/경제적 비용도 감수를 해야만했습니다.

그러나 프로젝트가 고여있고 큰 변화가 없는 것은 결코 건강한 개발 문화는 아닌점을 고려해보면 상당히 훌륭한 경험을 하였다고 생각하였고, 짧은 시간동안 그런 과정을 여러번 겪을 수 있다는 것은 개발자로서 정말 고마움을 느낄 수 있는 부분입니다.

개발자가 아닌 초기 멤버로서의 활동 총평

글로 모두 설명하기엔 너무나 많은 일이 있었습니다.

모두가 굉장히 많은 시간과 노력을 각자의 분야에서 쏟아 부었고, 그 과정에서 서로 얼굴이 붉어지는 일도 많이 있었습니다. 또, 밤샘 작업도 많이 하였고, 정신적인 고통도 많았던 시간이였습니다.

그러나 상업 프로젝트를 기초부터 참여한다는 점, 기획에 내 의견이 반영이 된다는 것, 사업체가 개발 외적으로 어떻게 움직이는지 등 다른 사람들은 알 수 없는것을 어릴때부터 겪었다는 것은 결코 아무나 하는 일은 아닐것이라고 확신합니다.

그덕분에 어떤것을 개발함에 있어서 단순히 개발뿐만이 아닌 보다 더 넓은 시각으로 볼 수 있게 되었으며 이는 개발 업무를 수행함에 있어서 도움이 될것입니다.

Github Action 도입기

평소 CI/CD 에 대해 막연한 두려움이 있었습니다. 이전에 근무하던 회사에서도 젠킨스를 활용해서 CI/CD 환경을 구축해보려 하였지만, 만족스럽게 환경을 구축하는 것은 매번 실패했습니다. 아무래도 코딩과 별개로 다른 느낌의 인프라 업무에 가깝기 때문인데 이에 대한 노하우가 부족하다 보니 어려움을 겪었습니다.

이번 술로몬 프로젝트는 여러 사정으로 하루에도 몇 번씩 서버를 업데이트해야만 했고, 자동화된 배포 과정을 구축하지 않으면 안 됐습니다. 그러나 이번에 시도해도 실패할 것이 분명했기에 젠킨스가 아닌 깃허브 액션을 처음으로 시도해보았고 만족스럽게 구축하였습니다.

깃허브 액션의 장점

젠킨스와 비교하여 환경 설정에서 압도적으로 간편하였고, 이후 빌드&배포 동작을 업데이트 하는데도 훨씬 간편하였습니다.

관리 측면에 있어서 젠킨스의 경우 플러그인 관리를 하지만, 깃허브 액션의 경우 플러그인 없이 모든 동작을 스크립트로 수행하다 보니 형상 관리에 있어서도 훨씬 간편했습니다.

깃허브 액션의 단점

깃허브 액션은 젠킨스에 비해 불안한 점이 있습니다. 깃허브 액션은 깃허브의 status에 따라 동작을 보장할 수 없습니다. 카카오톡 오픈 채팅방에서도 자주 올라오는 채팅이 ‘깃허브 액션 죽었나요?’ 입니다.

실제로 저도 잘 되던 배포 스크립트가 도커 생성 관련 문제로 동작을 안 하고, 동시에 카카오톡 그룹 채팅방에서도 저와 같은 이슈로 빌드가 안된다고 채팅이 올라온 적이 있었습니다.

몇 시간 지나고 다시 제대로 빌드가 정상적으로 수행됐었지만, 이런 불안정한 CI/CD 환경은 분명 서비스에 따라 치명적인 단점이 될 수 있기에 단점으로 생각합니다.

Comments