일상 회고

코드스테이츠 백엔드 부트캠프를 마치며 [Main 프로젝트 끝!]

min민 2023. 5. 30.

 

메인 프로젝트를 처음 맞이한 순간!

메인프로젝트를 처음 마주친 순간에 느낀 감정은 정말 다이나믹 했다.

원하는 주제는 있었지만, 프리프로젝트를 완벽하게 끝내지 못했었고, 결과적으로도 개인적인 만족도가 괸장히 떨어졌을 무렵에 메인 프로젝트가 시작됐다.

그래도 원하는 주제는 있으니 도전해보자는 마음에 ZEP의 해당 주제 공간에서 뜀박질을 여러번 하면서 "나 여기있어요~!" 를 어필했다. 그 결과 이번 프로젝트를 함께한 프론트엔드(FE)분들을 만났다.  

 

FE분들과 이런저런 얘기를 나누다보니 함께 만들고싶은 여러 주제들이 떠오르기 시작했고, 정신을 차리고 보니 주변에 백엔드(BE)분들도 하나 둘 모이기 시작했다. 솔직히 프리프로젝트에서 만족하는 결과를 얻지 못했던 나는 기술스택에대한 걱정이 가장 컸는데 걱정반, 도전반으로 메인 프로젝트가 시작됐다.

 

 

 

 

 

메인 프로젝트 과정중

메인프로젝트를 마주친 순간 아차 싶었다.

나는 많은 아이디어를 가지고 있지만, 기본적인 CRUD조차 제대로 작성하지 못하는 상태로 시작했던 것이다. 생각에 잠겨 있던 찰나, 우리 프로젝트 백엔드(BE) 팀원 중 한분이신 하빈(팀원)님께서 모르는 부분을 차근차근 알려주시고 이해를 시켜주셨다. 하빈님과 기본적인 코드리뷰를 하던 중에 머리속에 맴도는 문장이 있다. "민이님은 왜 이렇게 작성하셨나요?", "이렇게 작성하신 이유가 있는지 궁급합니다."라는 대답이다. 당연하다 싶이 쓰고 있었던 간단한 문장, 혹은 흔히 쓰는 어노테이션에도 하빈님은 항상 질문을 던져주셨고 결과적으로 스스로도 "내가 왜이렇게 작성했지?"하는 질문을 하는 내 모습이 보이기 시작했다. 일주일, 이주일이 지나던 찰나 이러한 과정의 반복이 점차적으로 결과를 보이기 시작했다.

스스로 코드 한줄 못쓰던 나는 자신감을 갖게 되었고, 스스로 생각하는 과정, 예를들어 "나는 왜 이렇게 작성했지?"를 반복한 결과로 나는 틀리더라도 당당하게 저는 이러한 생각에서 해당 코드를 작성하게 되었습니다. 라고 말 할 수 있는 자신감을 얻었다. 

 

많은 개발자들 블로그를 보다보면 이런말이 있다. "프로젝트의 성공을 위해서는 개개인의 기술적 역량이 가장 중요한것은 맞지만, 효과적인 팀워크와 협업을 통해서 한걸음 더 나아간 프로젝트를 완성시킬 수 있다." 이 글을 몸소 체험한 순간이었다. 평소 나는 지식공유, PR문화, 소통은 "내가 좋아서, 대화하는것을 즐겨하니 필요하다." 라고 생각했었지만, 이제는 조금 다르게 느낀다. 정말로 조금 더 나은 커뮤니케이션을 진행할 수 있다면, "서로가 성장하는 발판이 되기도 하고, 결과적으로 더 나은 프로젝트를 만들 수 있겠다." 라는 경험을 했다. 협업 능력의 중요성에 대해서 몸소 느낀 시간이었다.

 

 

 

 

 

 

다른 팀 프로젝트 탐방 하면서 보고 배운점

우리 팀원들의 프로젝트를 마치고 다른팀 구경을 다녔다. 신박한 프로젝트들이 많이 나왔고, 나는 주제보다는 코드를 집중적으로 구경했다. 일단 우리 팀원들과의 차이는 디렉토리의 구성이었다. 우리는 각각의 객체에 맞춰서 디렉토리를 구성했는데 다른 팀원들은 크게 디렉토리 구분없이 진행한 곳도 있었고, 디렉토리를 합친곳도 있었고, 우리보다 더 세분화해서 깊게 들어간 팀원도 있었다.

* 코드들을 읽다보니, 가독성 측면에서는 하위 디렉토리는 2~3개 까지면 충분하는것을 느꼈다.

또한, 일부 프로젝트에서는 코드 중 서비스계층에 있을만한 로직이 매퍼에 살짝 녹여져 있는것도 보았다. 예를들어 매퍼에 .size()메소드가 들어있거나, 실질적인 비즈니스 로직을 처리하는 부분이 들어가있는 프로젝트도 발견했다.

* 클린코드의 중요성도 배우게 됐당.

 

이번 프로젝드들의 url을 들어가서 직접 경험하는것도 좋은 부분이었지만, 각각의 백엔드 코드들을 구경하다보니 코드가 전반적으로 다 비슷하다는 느낌이 들었다.

* 나만의 스타일도 필요하고, 어떻게 더 쉽고 간단하게 처리할지도 고민해 봐야 할것 같다.

 

 

 

결론: 그냥 모든게 공부의 과정인것 같다.

 

 

다른 팀원들의 프로젝트를 파면 팔수록 너무 깊어지고, 새로운 사실들은 끊임없이 나오고 있었다.

(프로젝트 코드를 보면서 배워할 부분과, 이건 이런식으로 바꿔도 좋겠다 라는 부분을 정리하는것도 좋을것 같은 느낌..?) 내가 너무 얕은곳에서 헤엄치고 있지 않았나 라는 생각도 든다.

 

 

 

 

이제 나의 에너지는 어디로?

프로젝트를 하기전 스스로 생각하던 부분이 있다.

1. 나는 창의력이 풍부하다.

2. 하고싶어하는것이 많다.

3. 다양한 아이디어를 정리하고 표현하는데 능숙하다.

4. 처음보는 사람과 쉽게 대화할 줄 안다.

 

위의 4가지 정도는 항상 담아가고 살고있었다. 하지만 프로젝트 이후 내 장점을 조금 활용하기로 했는데, 창의력을 다양하고 넓은 분야로 쓰는것이 아니라, 작은 부위를 세세하게 쪼개보자 라는 경험을 했다.

기본적인 CRUD를 어떻게 작성하면 좋을까? 보안은 어떻게 추가하면 좋을까? 데이터관리는 어떻게? 어떻게 해야 시간복잡도를 줄일 수 있지? 라는 등의 질문으로 내 창의력을 뿜어내고싶다. 막 주저리주저리 적긴 했는데 결론은 한 분야에 전문가가 되고 싶다. 그러한 생각을 바탕으로 요즘 읽고있는 향로님(배달의민족)의 책이 있는데 다음 포스팅에서 이어나가도록 하겠다.

 

 

 

 

코드스테이츠?

나한테 코드스테이츠에 대해서 묻는다면 코드를 작성하게 만들어준 여러 사람들을 연결시켜준 연결고리라고 생각한다.

솔직히 코드스테이츠 프로그램들은 실무 바탕의 내용으로 수업이 진행된다. 그래서 추가적인 깊은 공부가 되지 않으면 코드를 스스로 작성하기가 많이 어려울것이다. 하지만 주위에 도움을주는 많은 분들이 있고, 잘만 활용할 수 있는 능력이 있다면 누구보다 빠르게 성장할 수 있는 커리큘럼이 있다는것은 인정한다. 결국 정말 개발환경에 관심이 많고, 내가 스스로 노력하는 사람인지의 여부가 가장 중요할것 같다. 

* 나는 결과적으로 많은 부분을 얻어갔고, 이제 구체적으로 어떤방식으로 취업을할지, 내가 어떤분야를 좋아하는지, 어떤분야를 더 공부하고 싶은지 구체적으로 알아갈 수 있는 시간이었다. 누구에게는 6개월이 짧은 시간이고 무엇을 배우겠냐 싶겠지만, 나는 운이 좋았던건지 좋은 사람들을 많이 만나서 많은것을 배울 수 있었다.

 

 

 

나의 미래

프로젝트를 마치고 나는 이제 친구와 자바공부도 깊게 진행하고, 코틀린도 배워보려고한다. (코+프링 딱 기다려 ^^)

스스로 뭔가를 해나갈 수 있다는게 너무 행복하다.

하나, 둘 배우고 경험하다보면, 내가 상상하는 프로젝트를 스스로 만들 수 있는 날이 오겠지? ㅎ

댓글