NexCloud - 기업 협업 (종료)

JUGNMIN LEE·2021년 4월 13일
0
post-thumbnail

프론트엔드 2명 백엔드 3명으로 한팀을 이루어
넥스클라우드라는 회사에서 나의 개발자 첫 현업이 끝을 맺었다.
앞으로 길고 긴 나의 개발자 인생에 첫 디딤돌인 만큼 인턴 기간중 블로깅으로 주차별 기록을 하려고 했지만 너무나도 바쁘고 인턴 생활에 집중하다보니
결국 끝 맺는 회고록으로 밖에 남길 수가 없음에 아쉬움이 있다

그래도 나에게 엄청난 경험이었던 것 만큼 소중한 경험을 남겨본다.

>>> Exporterhub V3 demo


1 ~ 2주차

첫 시작은 설레임과 멘붕의 연속이었다.
우리가 현재 진행해야 하는 프로젝트는 Exporterhub 라는 프로메테우스 커뮤니티 사용자들을 위한 사이트를 V3 로 버전업을 해야하는 내용이었고
해당 사이트는 오픈소스이기에 컨트리뷰터로 참여하여 추후 CNCF에 등록이 될 수 있는 어찌보면 이제 첫 주니어 개발자로 시작하는 나에게 있어선 너무나도 좋은 기회가 아닐까 싶었다.

하지만 Exporterhub 사이트의 사용 용도와 버전업에 있어 추가되는 기능들에 대한 이해, 그리고 우리가 어느정도의 타겟까지 할 수 있는지 정하는 것에 시간이 오래 걸렸다

또한 Docker를 사용하여 하나의 작업 컨테이너를 올려 동일한 작업 환경을 가지게 되는 새로운 개발 프로세스를 접했었고 그렇게 하나씩 해당 프로젝트가 정확히 어떤 목표를 가지고 있고 어떤 방향성을 가져 개발을 해야하는지에 대한 기준점을 잡는 시간이 되었던거 같다

게다가 기존 V2에는 없던 개인화 기능과 Admin에 대한 이해, 그리고 Dashboard와 Alert의 Create, Read, Update 기능까지 GitHub와 직접적인 연결을 통하여 개발을 진행해야 했었고
서로 공통적인 Task를 나누어 팀원들과 같은 서칭을 통해 정보를 공유했으며 기존 코드를 분석함에 있어서는 각자 틈틈이 시간을 할애해 읽어갔던 시간이었다
( 남의 코드 읽는거 너무 어렵다 ) 😂

이 당시 blocker는 Mac과 Window의 OS 차이로 인한 환경 문제였으며
이녀석은 개발이 마치는 날 까지도 중간 중간 문제를 많이 일으켰다 ..
사실 내가 조금 더 이런 오류에 대해 유연하게 대처할 수 있는 지식이 있었다면 하는 후회도 든다.

2 ~ 3주차

어느정도를 구현해야하는지 타겟이 잡혀갔었다 그리고 PM을 통해여
지속적으로 CTO님과 Daily meeting을 통해 우리의 질문사항들을 리스트업하여 피드백을 얻었고 그때마다 우리가 생각했던 부분이 아에 다른 경우도, 혹은 "이런식으로 개발하면 이런 문제가 생길텐데 이렇게 해야하는게 맞나요" 라는 이해한 부분을 짚고 넘어가는 시간 또한 있었다

나는 프론트엔드로써 팀원과 페어프로그래밍을 처음 진행했고 UI부분의 진행사항을 Pigma로 디자인 하였고 필요한 색상들을 체크해나갔다 페어프로그래밍의 경우 코드를 칠때에 변수명과 로직은 분명하게 짤 수 있었지만 생각보다 우리가 해야하는 Task가 많았고 같이 옆에 없다보면 페어를 지속적으로 진행이 불가하였기에 추 후에는 개인 부분을 나누어 개발을 불가피하게 진행하게 되었다

또한 실 개발이 진행이되었던 기간에서는 깃허브 공식문서를 정말 많이 봤던 것 같다

깃허브에 Organization을 새로 만들어 팀원들과 Admin을 줘 테스트를 진행하기 시작했고
Personal access tokens과 OAuth App을 사용해 스케줄링된 exporter를 불러왔고 깃허브와 연동해 로그인 토큰을 받아 왔었다.

이 당시 개발 과정의 예상하지 못했던 blocker는 Cors err 였다

대부분의 에러의 해결과정은 아래와 같이 해결 해야한다고 생각한다.

  • 어떤 Error인지 파악
  • 무슨 문제로 일어났는지 확인
  • 에러의 해결방법은 어떤 것이 있는지 서치
  • 이 해결 방법이 왜 에러를 막아주는지 이해

하지만 우리에겐 그럴 시간이 없었고 간단히 해결 방법에 대해 찾기 시작했고
결국 Proxy를 사용하여 에러를 해결하였다

(해당 부분에 대해서는 추후에 Cors err와 해결 방법인 Proxy 그리고 또 다른 해결 방법까지
리마인드 차원에서 포스팅을 할 예정이다.)


3 ~ 4주차

우리의 개발 과정은 배포는 발표 당일 전날 그리고 추가 및 에러 수정은 발표 당일 자정까지 이어져 갔다.

개인적인 생각으로는 이게 실제 업무였다면 초반에 구현해야하는 Task가 어느정돈지 제대로 파악하지 못한 채 개발이 진행되었던 것이 날짜를 많이 오버하지 않았나 라는 생각이 든다
끝까지 구현해내고 싶었던 욕심이 컸기에 대부분 구현이 가능했었고 그렇기에 개발 과정중 생겼던 여러가지 blocker들이 계획했던 시간들에 대한 영향을 미쳤다

우리는 쉼 없이 개발했고 회의했고 에러를 잡았다

CTO님이 마지막 쯤엔 배포하는 날짜에 대한
핸들링이 들어왔기에 무사히 배포하지 않았나 싶다🙄

배포를 한 뒤에는 hotfix로 main branch에 지속적인 merge를 통해 문제들을 해결해나갔다.

그리하여 발표 당일 자정까지 개발하여 새벽에 발표 준비를 진행했다
팀원들은 당연히 모두 지쳐있었고 나의 멘탈 또한 무사하지 못했다

발표 그리고 나의 생각

결과적으로 자잘한 버그는 있지만 무사히 V3로 배포는 되었고 프로젝트 발표 또한 잘 진행 되었다

지금은 기업 협업이 끝난 지 주말 포함 5일차 되는 날이지만 아직까지 믿겨지지 않고 어떻게 한달 동안 그렇게 달려올 수 있었을까 라는 생각만이 든다.

주7일 하루에 14시간, 발표 전날은 3시간 자고 21시간을 쏟아 부었던 시간들이다.

발표가 끝난 뒤 그동안 부담감을 씻으려

초반에는 나의 커리어에 대한 욕심이 가장 컸기에 달렸다고 생각이 들었지만
후반이 갈수록 "내가 이 팀원들을 만나지 않았다면 그랬을까?" 라는 생각과 "이 회사가 아니었다면?" 이라는 생각이 공존하게 되었다, 그 만큼 겉으로 표현은 못하지만 팀원들에 대한 감사한 마음이 컸고 그렇기에 더욱 매진하게 되지 않았을까 한다.

또한, 친절하고 개발자의 좋은 행동과 마인드셋을 심어주었던 CTO Ralf님을 만났던 것도 행운이었다.

어느 날 우리가 너무 열심히 하다보니 CTO 님께서 자신의 이야기와 함께 개발자의 Burn out 에 대한 이야기를 해주셨고 그 이외에도 너무 좋은 말씀들을 많이 해주셨기에 촉진제가 되었던 것 같다 정말 많이 배웠다.


중간에 생일이어서 그렇게 바쁜 와중 팀원들에게 축하를 받으며 개발 했던 것도 잊지 못할 경험이고 개발자들을 돕는 오픈소스의 컨트리뷰터로 참여해 정말 많은 것들을 배우고, 회고록을 쓰고 있는 이 순간 까지도 무사히 끝냈다는 것에 대해 도와주신 넥스클라우드 직원분들과 CTO Ralf님 그리고 나의 팀원들까지 너무 감사하다 😎

profile
Frontend Developer

0개의 댓글