ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Next.js 마이그레이션 2편] 나혼자 마이그레이션하다
    Next.js 2023. 2. 5. 13:52

    1. 상황

    22년 8월경 우리는 react.js로 운영중인 서비스를 next.js로 대대적인 마이그레이션 작업을 2개월 가량 작업 후 배포했다(중간에 직매입, 선물하기 프로젝트와 병행)

     

    저번 포스팅은 Next 프로젝트를 시작한 배경에 대해 다루었다.(안봤다면 참고)

    이번 포스팅은 Next 마이그레이션 프로젝트를 왜 혼자 시작하게 된 글이다. 

     

     

    2. 문제 / 원인

    지난 글에서 Next 마이그레이션의 필요성은 경영진과 CTO께 제안드려서 충분한 공감대가 이루어졌다.

    하지만 필요에 대한 공감과 당장 리소스를 투입할 수 있는 지는 별개의 문제이다.

     

    왜냐면 우리처럼 개발팀의 인원이 얼마되지 않은 소규모의 스타트업의 경우 개발팀의 작업이 곧 마일스톤과 밀접하게 연관이 있다.

    그렇기 때문에 개발팀의 모든 리소스를 투입하는 것에 조심스러울 수 밖에 없었다.

     

    게다가, 나를 포함해 프론트팀에 Next를 접해본 사람이 없었기 때문에  더 신중할 수 밖에 없었다. 

    이는 귀중한 리소스(인풋)를 투입했을 때 만에 하나, 아웃풋이 좋지 못했을 때 회사 입장에서 큰 타격이기 때문이다.

     

    3. 해결

    결국 문제는 모든 팀원이 투입하지 못하는 상황과 아웃풋에 대한 확신이 없는 상황이었다.

    그렇다면 일단 나 혼자 애자일하게 시작해보고 그 실현 가능성을 먼저 보여주면 해결될 문제라고 생각해, CTO님께 역제안을 했다.

     

    "나에게 2주만 주면 어떻게든 결과물을 만들어서 그 가능성을 보여주겠다" 말이다.

     

    회사 입장에서 모든 팀원을 투입하지도 않고, 너무 길지 않은 시간을 들여 해당 프로젝트의 실현 가능성을 알 수 있기 때문에 수락해주었다.

     

    그렇게 본격적으로 혼자 상용중인 서비스를 마이그레이션 하게 된다. 

     

    안돼.... 하지마!

     

    지금와서 돌이켜 보면 참... 이불 킥하는 무모했던 결정이었다.

    나 역시 기술 마이그레이션 작업을 처음하였기 때문에 할 수 있다는 의욕이 앞섰다.

    힘들었던 점

    1) 모든 것을 혼자 결정

    : 마이그레이션 한다는 것 = 단순이 기술을 도입하는 것과 달리 근간을 바꾸는 것 폴더 구조부터, 데이터 페칭, 레이아웃, 새로운 기술 도입까지 작은 것부터 큰 것까지 결정해야 하는데 혼자서 그런 중대한 고민들까지 같이 하다보니 업무에만 집중하기 힘들었다

     

    2) 생각보다 큰 작업 규모

    : 요건 나중에 세 명이서 달려 들었을 때도 공통적으로 했던 말인데, 혼자서 상용중인 큰 서비스를 전환하려고 했으니 턱없이 부족했다 (부족한 시간은 곧 낮은 퀄리티를 치환된다)

     

    3) 업무의 병목

    : 위 이유들과 같은 맥락으로 혼자 하다보니, 어렵거나 고민이 크게 되는 작업이 있을 때 병목이 생겼다. 그렇다고 고민을 나눌 수 있는 사람은 없기에 보틀넥이 더 크게 느껴졌다.

     

    4) On My Own

    : 하다보니 위의 이유들로 혼자는 힘들 것 같다는 생각으로 추가 팀원의 요청 드렸지만 당시에는 NEXT의 필요성보다 더 많은 우선순위 작업들로 reject 됐다. 뭐 내가 벌린 일이니 밤낮으로 매달렸었다..ㅎㅎㅎ

     

    내 눙물....

     

    4. 결과

    결국 약속한 기간의 막바지에 빌드하여 Next로 동작하는 페이지를 띄우는 데 성공하였다.

     

     

     

    밤 11시 31분 첫 빌드에 성공했을 때 너무 기쁜 나머지 CTO님께 늦은 밤에 카톡을 보내는 무례를 범하기도 했다.

    물론 빌드에 성공한 것이지 바로 배포할 정도의 퀄리티는 물론 아니었다. 하지만 이는 할 수 있다는 가능성을 의미했다. 

     

    다행히, Next.js로 마이그레이션 하는 것의 실현 가능성을 긍정적으로 보셔서인지,  

    아님 이런 나의 노력을 이쁘게 봐주셔서인지 모르겠지만 결국 허락해주셨다.

     

    그렇게 Next.js 마이그레이션은 공식적으로 개발팀의 마일스톤에 추가될 수 있었다.

    물론 나의 노력과 무관하게 이미 그렇게 계획하고 계셨을 지도 모른다. 

     

    하지만 당시 갓 2년차 개발자에 접어든 나에게는 한 기술의 필요성을 설명하고 할 수 있다고 행동으로 보여준 것은 특별한 경험이었다.

    그리고 자연스럽게 이후에 공식적인 마이그레이션 작업에서 난 PM으로서 프로젝트를 이끌 수 있었다. 

     

     

    댓글

Designed by Tistory.