기업 협업 기간 : 2021.05.10 ~ 2021.06.04 (1개월)
개발 인원: 프론트 2명, 백엔드 3명
Skills
Communication
기업협업은 빅스텝에듀에서 진행하였습니다.
기존 사이트에서 1)커머스 기능과 2)마이페이지 기능을 추가하기 위한 프로젝트를 진행하였습니다.
기업협업 팀과 회사는 우리가 2차 프로젝트를 진행중이던 시기에 발표가 되었다.
기업협업이 시작하기도 전에 팀에 피해를 끼치면 안된다는 생각과 내가 2개월간 배운것을 가지고 정말 기업협업을 나가서 잘 할 수 있을까??에 대한 생각으로 가득 차 있었기 때문에 기업과 팀 발표전까지 굉장히 걱정을 많이 하고 있었다.
정말 운이 좋게 이미 프로젝트를 하면서 한번씩 호흡을 맞춰본 사람들이 대부분이었고, 같이 호흡을 맞춰보지 않은 분도 이미 친했던 분이었다. 더불어 원하던 기업에 갈 수 있게 되었어서 걱정이 조금 줄어들었다.
기업협업 나가기 하루전에는 실제 기업에서는 어떤식으로 일이 이루어질지 궁금했기 때문에 걱정을 잠시 미뤄두고 설레는 마음으로 잠들었던 기억이 난다.
걱정반 설렘반 첫 출근날.. 팀원들과 미리 밖에서 만나 사무실로 들어갔다.
대표님이 간단히 회사가 어떤 서비스를 제공중이신지 설명을 해주셨고 그 뒤에 PM님이 본격적으로 우리가 하게될 프로젝트에 대해서 설명해주셨다.
프로젝트에 대한 구체적인 이야기를 듣는데, 설명해주시는 저 기능을 내가 구현 할 수 있는지에 대한 확답을 드리기 어려운 상태였기 때문에 질문이 있으시냐는 pm님 말씀에 아무 대답도 할 수 없었던 기억이 난다..
프로젝트에 대해서 100% 이해는 못했지만, 그래도 우리는 모델링 부터 시작해야 했다..
회사에 위코드 선배기수인 정식님이 계셨기때문에 모델링을 하거나, 초기세팅을 하는 모든 과정에서 정식님의 도움을 많이 받았다.
모델링을 하기전까지만해도, '아.. 나 이거 프로젝트 제대로 이해 못한것 같은데.. 모델링 할 수 있을까?' 싶었는데.. 역시 사람은 하면 된다!!
처음에 초기세팅을 하는것도 위코드에서 하던 방식과 달랐기 때문에 애먹었던 기억이 난다.
왜 setting 나누어야 하는지.. model과 view는 왜 따로 따로 작성을 해야하는지 등등 의문을 가지고 시작했었다. 그런데 시간이 지날수록 이렇게 하는게 방법이 더 편하구나.. 하는 생각이 들었다.
초기세팅과 모델링을 조금씩 마무리하면서 본격적으로 팀원들이 각각 본인들이 맡은 부분들을 시작하게 되었다.
특히,DRF를 처음 사용하다보니, DRF부터 공부하기 시작했다. 처음 장고를 시작했을때 그랬던것처럼 공식문서를 보고 천천히 따라하기 시작했다.
무엇인가 처음 접하는 기술이 생겼을때, 공식문서가 있다는게 얼마나 행운이지 아느냐는 멘토님의 말이 생각나는 한주기도 했다.
우리팀원들 그리고 다른 기업에서 DRF를 사용하는 동기들과 함께 서로서로 알게 된 부분들을 공유하면서 하나씩 따라했었는데, 처음 serializer를 사용하고, 포스트맨으로 쏴보고 정말 깜짝 놀라면서 "아니!! 정말 이게 된다고??" 이러면서 와.. serializer를 이래서 사용하는구나.. 했던 기억이 난다.
이렇게 공식문서를 참고하면서 serializer에 대해서 공부를 하고, 본격적으로 본인들이 맡은 부분을 구현하기 시작했다.
내가 맡은 부분은 user부분과 대시보드 부분이었는데, 둘째주는 회원가입, 로그인 기능을 구현하기 위해 애썼다. 위코드에서 하던 방식과는 전혀 다르게, user model을 직접 커스텀해야 했다.
하나하나 구글링 해가면서 구현하고 있었는데 처음 하는거다보니 정식님의 도움을 많이 받았었다.
더불어서 우리가 실제 서비스에 사용될 부분을 직접 만든다고 생각하니 부담감도 느끼고 알게 모르게 스트레스도 받았었다. 한창 abstractbase 때문에 고통을 받고 있었을때, 꿈에서 까지 코딩을 하는 악몽 아닌 악몽을 꾸었다. 일어나면서도 내가 이런 꿈을 꿨다는 사실에 황당해 하면서 깼었던 기억이 난다.
이렇게 스트레스를 받았었는데, 정식님의 리뷰 한줄에 모든 스트레스가 풀렸었다..!ㅋㅋㅋ
이 리뷰를 받고 너무 좋았어서 캡쳐까지 해두고 보관해두었다..!
첫째주에는 정말로 indention, setting의 순서 하나하나가 코드 전반에 큰 영향을 끼친다는 사실을 배웠었다.
힘겹게 회원가입과 로그인 기능을 끝내고 대시보드로 넘어왔다.
지금까지 프로젝트를 진행하면서 내가 구현해봤던 기능들은 대부분 데이터 베이스에 있는 데이터들을 뿌려주거나 데이터 베이스에 데이터를 쌓거나 변경하는 등 데이터를 다루는 일들이 대부분이었다. 그런데 대시보드는 지금까지 내가 해왔던것과는 전혀 다르게 user가 선택하는 값에 따라 데이터 베이스에 있는 데이터를 뿌려주는것이 아니고 들어오는 값에 따라서 하나하나 계산해서 데이터를 보내주어야하는 작업이었다.
사실 이 대시보드에 대해서 이해를 하는것도 조금 오래걸렸다. 이때 특히 소통하는 방법에 대해서 많이 배웠었다. PM님이 대시보드에 대해서 이미 많은 설명을 해주셨음에도 불구하고 완벽하게 이해를 못했었다. 이미 세번 정도를 설명 해주셨는데 다시 여쭤보는것도 너무 죄송했기 때문에
한번 여쭤볼때 깔끔하게 정리를 해서 내가 모르거나 헷갈리는 부분들에 대해서 제대로 물어보자!
하는 생각이 들어서 주말동안 대시보드를 어떤 식으로 구현을 하면 좋을지 하나하나 글로 써가면서 전반적으로 이해하고, 내가 모르는 부분들과 정확히 알고 있는 부분들에 대해서 정리하기 위해서 노력했었다.
팀원들이 작가님이라고 불렀을만큼 세번째 주에는 코드를 치는 시간보다 어떻게 로직을 짜야할지에 대해서 고민하면서 로직들을 글로 정리하는 시간이 더 길었던것같다. 너무 혼자 고민하는 시간만 길었던것같아서 이 부분은 아직도 많이 아쉽다. 그렇지만, 이때 현재 내 상황에 대해서 개발자가 아닌 사람들도 이해할 수 있도록 어떤식으로 설명하면 좋을지등등 소통의 하는 방법에 대해 많이 배운 시간이었다.
프로젝트의 마지막 주!
프로젝트를 진행하는 동안 마음속에 계속 걸리던 부분이 마감기간이었다. 처음에 정해진 마감기간이 있었는데, 이미 그 마감기간과 나의 진행상태는 몇일씩 늦춰졌었다. 그리고 또 언제까지 이일을 다 끝낼 수 있을지 감을 잡는게 제일 힘들었다. 우선, 경험도 없고 처음하는 일이다보니 a라는 일이 주어졌을때 자신있게 이거 언제까지 가능합니다! 라고 답을 하고싶은데 경험이 없다보니 언제까지 가능하다고 확답을 못드리니 내 자신이 너무 답답했다.
마지막 주는 QA와 배포를 동시에 진행했기때문에 프론트와 맞춰가면서 예상치 못한 오류들을 발견하고 조금씩 수정하는 시간들을 가졌었다. 이때도 전혀 내가 생각지도 못한 부분들에서 오류가 발생했었기 때문에 QA기간이 왜 필요한지에 대해서 깊이 깨달았었다.
이번 기업 협업을 통해 내가 얻은 것은 크게 이 두 가지인 것 같다.
1) 새로운 기술에 대한 두려움이 조금은 사라졌다.
누군가 해냈으니 나도 어떻게든 할 수있을것이라는 생각이 생겨서 새로운 기술을 만나게 됐을때 지레 겁만 먹고 있을 것같진 않다. 한달동안 그랬던것처럼 능동적으로 해결책을 찾아 나서면 된다는 자신감이 생겼다.
2) 효율적으로 소통하는 방법
소통하는 방법에 대해서 조금 더 배웠다. 질문을 할때는 어떤식으로 하면 좋을지등등..
어떻게 하는것이 더 효율적인 소통 방식인지에 대해서 생각해보는 시간을 가질 수 있었다.
나는 정말 미래에 다른 사람들이 "아~ 걔랑 일하면 좋아~ 걔랑 또 다시 프로젝트 하고싶다." 는 말을 들을 수 있는 개발자가 되고싶다.
프로젝트를 진행하는 동안 내가 문제를 겪고 있으면 적극적으로 팀원들이 도와주었다. 심지어 본인이 몰라서 못 도와줘서 미안하다는 말을 하기도 했다. 기업 협업을 진행하는 내내 팀원들의 그런 마음들이 느껴져서 특히 고마움을 많이 느꼈었다. 그래서 우리 팀원들을 보면서 아.. 나도 다른 팀원들이 어려울때 도와주고 싶다.. 하는 생각을 많이 하게 되면서 이런 생각을 더 강하게 갖게 된것같다. 끝까지 나에게 좋은 영향력을 준 우리 팀원들에게 너무 고맙다!
너무 좋은 팀원들과 좋은 회사에서 프로젝트를 진행할 수 있었음에 감사하다.
너무 너무 고생한 소중한 우리팀! 앞으로도 아자아자 화이팅!