회고

개발자 회고, 프로젝트 회고 | 2023년 3-4월 회고

개발자R 2023. 9. 7. 17:54
반응형

에티오피아에서 받은 호텔 바우처

 

2023년 3-4월 - 대○항공 ST○○ 프로젝트

    아프리카 여행 후 아주 잠시라도 휴식이 있을 줄 알았는데, 입국 바로 다음 날 새로운 프로젝트에 출근을 하게 되었다. 하필이면 내가 타고 온 비행기에 내 짐이 실리지 않아 받지 못했고, 한국 USIM이 캐리어에 있어서 전화, 문자, 데이터를 사용하지 못했다. 내가 얼마나 휴대폰에 의지하며 살았는가. 일상생활이 어려울 정도였지만 출근은 해야 했다. 다행히 며칠 후 짐은 집으로 배달이 되었다.

    여행하는 동안 에티오피아 항공을 타고 in/out을 했는데 파리에서 인천으로 올 때 에티오피아 아디스아바바 공항에서 16시간 layover를 해야 했다. 이번 여행에서 처음 알게 되었는데 환승 대기 시간이 8시간 이상이면 항공사에서 호텔을 제공한다. 당일 환승(연결)이 가능하지 않는 등 항공편 연결환경의 불리함을 극복해 항공권을 판매하는데 판촉용으로 제공되는 것으로 도중 체류하는 기간 동안 주로 숙박 호텔, 시티투어 등의 서비스가 제공된다. (출처 : https://airtravelinfo.kr/wiki/index.php/STPC ) 나도 아디스아바바에서 호텔과 식사를 제공받아서 편하게 쉬고 돌아왔다.

    그런데 웬걸. 새로 투입된 프로젝트가 바로 그 서비스를 운영하고 제공하는데 쓰이는 시스템이었다. 바로 전날 내가 이용한건데! 첫 시작부터 꽤니 흥미롭게 프로젝트를 시작할 수 있었다. 짧으면 2개월, 길면 6개월 정도 하는 여러 개의 프로젝트가 개발자들을 기다리고 있었고, 그중에서 처음으로 FE/BE/Batch를 전환하는 ST○○프로젝트에 투입이 된 것이다. 첫 프로젝트의 첫 스프린트에서 내가 처음으로 FE 화면 개발을 맡게 되었다. 뼈대가 제대로 갖춰지지 않은 상태였기 때문에 나의 코드가 기반이 될 예정이었고, 기본적인 개발 방식과 틀을 같이 잡아나가야했다. 
 
    지금까지는 이미 틀이 잘 잡혀있는 코드를 기반으로 ctrl + c, ctrl + v 도 많이 했었고, 참고할 코드들이 많아 0부터 10을 개발한 적은 없었다. 0부터 개발하는 것을 해보니 0 -> 1로 가는 것이 1 -> 10으로 가는 것보다 힘들다는 것을 느꼈다. 우리는 Mui를 기본으로 사용하고, 해당 항공사의 자체 디자인 시스템을 활용해야했다. 그런데 각 컴포넌트에 스타일을 적용하는 것을 styled-component로 해야 할지, scss파일을 따로 만들어서 스타일적용을 할지, mui기반이니 sx 속성으로 하나하나 적용해야 할지 선택하는 것부터 난관이었다. 10년 이상 유지될 이 시스템의 방향성, 첫 단추를 내가 끼우는 것이니 어떤 선택이든 "근거"가 필요했다. 
 
    좋은 코드는 무엇일까. 최신 트렌드를 반영한 코드, 가독성이 좋은 코드, 최대한 공통화가 많이 된 코드, 간결한 코드 수 많은 기준들이 있을 것이다. 6년 차 중니어인 나의 생각은 "유지보수가 쉬운 코드"라고 중간 결론을 내렸다. 고인건비 시대에 코드 유지보수에 필요한 노력이 너무 많이 들어간다면 그게 아무리 간결하고 최신 트렌드를 반영한 코드일지라도 지금 당장 필요한 코드가 아닌 것이다. 심지어 이 코드를 유지보수해야 하는 인력들은 리액트에 능통하지 않은 사람들이었다. 그런 의미에서 redux가 상태관리 라이브러리로 채택된 것은 개인적으로 아쉬웠다. 사용하기에 너무 어렵고, 직전 프로젝트에서 redux가 얼마나 엉망진창이 될 수 있는지 몸소 체험을 했기 때문이다. 
 
    너무 길지 않은 코드들은 굳이 나누지 않고 합쳐 컴포넌트 간 데이터 이동이 쉽도록 했고, 스타일은 공통으로 자주 쓰일 것들만 styled-component로 했고 각기 다르게 적용되어야 할 컴포넌트는 sx 속성으로 관리했다. 나의 코드가 머지되고 이후에 프론트엔드 개발 티켓을 가져간 사람들이 그 코드를 복사/붙여넣기 하면서 나의 코드는 일파만파 확산되었다. 그러면서 계속해서 리뷰에서도 걷어내지 못한 필요 없는 코드들이 발견되었고 부끄러웠지만 감내하고 틈틈이 수습했다.
 
    같이 일하는 프로젝트원들이 다 성실하고 적극적이고 일도 잘 해서 서로 도움받고, 알려주며 순탄하게 프로젝트를 진행했다. 중간중간 영수증프린터기 개발하거나, ag-grid의 제멋대로 css적용되는 부분 등 쉽지 않은 점들도 있었지만 결국 어떻게든 돌파구를 찾아내어 해결했다. 
 
    겔럽의 강점검사를 통해서도 알게 되었지만, 스쳐 지나가도 알 수 있는 나의 강점은 바로 빠른 실행력이다. 주저않고 실행하는 점이 큰 강점이지만 동시에 고민을 깊게 하지 않는 점이 약점이다. 일단 부딪히고 해 보면서 나아가기 때문에 한 명의 개발자로서 빠르게 업무를 수행할 수 있다. 하지만 큰 고민 없이 일을 하니 이렇게 하다간 시니어로 나아가기에 턱없이 부족한 사람이 될법하다. 이번 프로젝트에서 0부터 1로 쌓아 올릴 때마다 내가 선택한 블록들에 대한 타당성과 근거를 생각하며 일을 하려 노력했다. 일을 빠르게 하지는 못했지만 프로젝트가 끝난 후 성장했다는 기분은 확실히 들었다.  
 
    여전히 손이 빠른 나는 휘몰아치며 일을 하고 있지만 이 두 달간의 프로젝트 경험을 늘 곱씹으며 고민하는 습관을 들여야겠다.

반응형