리액트로 처음으로 협업해본 실전 프로젝트.

Keun·2022년 6월 6일
0

🐝 쉼없이 달린 그동안의 나의 생활들.

🐛전과 후의 차이.

연구하는 사람에서 개발하는 사람으로.
다른점이 무엇일까? 힘든점이 무엇일까? 내가 개발자 커리어로 전환하려는 이유는: (1) 학부때 개발(?) 비슷하게 자바를 사용해서 팀을이루어 수업시간에 프로젝트를 했던 경험이 정말 기억에 남았다. (2) 내가 알고있는 지식을 빠르게 적용 가능하다. 연구할때는 그게 부족했다. 분야 자체가 오랜 기다림을 필요로하고, 연구 이외의 다른 것들도 신경쓸게 많기때문이다. 알고리즘 공부주간 이후 주특기 PBL과 실전프로젝트 기간, 내가 느낀 것은 하나. 모든 분야는 다 똑같다. 어떤 직업을 갖든간에 인내와 기다림은 필수이며, 늘 겸손한 마음가짐으로 팀원들과 결과물을 만들어내야한다. 여기서 내가했던 연구와 앞으로 내가 할 개발의 차이. 개발은 결과와 성취감이 훨씬 빠르게 나오며, 사람들에게 빠르게 도움을 줄 수 있다. 하지만, 그정도 레벨에 오르기위해서, 많은 배움과 연습이 당연히 필요하다는것. 처음부터 끝까지 항상느꼈다.

🐌한달 반동안.

알고리즘주간 2022-03-01 -> 2022-04-07
주특기PBL주간 2022-04-08 -> 2022-04-28
실전프로젝트주간 2022-04-29 -> 2022-06-03

많은 일들이 일어나고, 나의 실력에 당연히 변화가 있었다. 사람은 극한 상황에 처하면 어떻게든 살아남기위해 온갖 수단과 방법을 가리지 않는다. 사실, 주특기와 실전프로젝트 기간 내내 긴장되고 너무바빴다. 배우고 알아야할것들이 정말 많았다.

<주특기PBL주간>
알고리즘 공부하면서 얼른 주특기 공부를 하고싶다는 생각에 하루하루 버티었다. 나는 프론트엔드 개발자가 나에게 적성에 맞다는 생각이 들었기 때문에 선택했다. 그런데 3주안으로 리액트와 함께 파이어베이스와 비동기통신을 동시에 다 다루면서 해보니까...장난아니였다. 장난아니였다. 바로바로 모르는 것이 있으면 구글링하고, 로직도 생각해야했고, 강의도 보고, 팀원에게 물어보고, 매니저에게 물어보고. 어떻게든 하나라도 만들어 보고 싶다는 생각에, 해냈다고 생각한다. 비록 내가 만든 것은 이상한 형태(?)의 웹이였지만...그래도 나는 스스로에게 만족한다. 어떻게 만드는지, 어떤원리인지 파악하기에 충분했다. 오히려 자신감이 생기는 기간이기도 했다. 태어나서 처음으로 사용해본 언어 + 라이브러리 + 데이터베이스 + 통신 임에도 불구하고 따라갔다는 내 자신이 자랑스러웠기 때문이다. 하지만, 나는 전에 경험을 살려서 이러한 상태에 대한 내 자신에 대해 진단했다. "아직 아는게 없으니까 대단해보이는거야. 정신차려."

<실전프로젝트>
실전프로젝트주간 2022-04-29 -> 2022-06-03
-팀 구성
프론트 개발자: 나, 슈퍼팀원 (현직자), 하루슈퍼팀원 (이직준비자)
백엔드 개발자: 팀원1, 팀원2, 팀원3
디자이너: 디자이너1, 디자이너2

우리팀의 구성은 이렇게 되었고, 험난한 여정이 시작되었다.
우선 거의 4주만, 아니 3주만에 결과물을 만들어 내어야만했다. 그리고 프론트 2명.... 그것도 첫 프로젝트에... 이번 항해 기수에서는 프론트엔드 개발자가 압도적으로 적었기 때문에 8개의 팀중 3개의 팀은 한명의 현직자와 함께 두명이 프론트를 이루어 진행하였다. 시간과의 싸움이었다. 절대적으로 시간이 부족했다. 특히, 나는 현직자와 함께 하기때문에, 현직자는 오로지 퇴근한 늦은 밤에만 시간이 가능했다. 특히 기획단계와 초반 디자인 단계에서는 속도를 낼수가 없었다. 우리팀은 문제가 정말 많은 팀으로 유명했다. 나는 컴퓨터 화면이 고장나기도 했으며, 백엔드에서도 마찬가지로 있었고, 심지어 중간에 팀원3이 하차를 하기도했다. 나머지 조들이 중간점검때 얼추 다 만든 결과물을 갖고 기술적 멘토링을 받을때 우리는 그런것 하나 없었다. 아무것도 내놓지 못했다. 절망이였다. 하지만, 어떻게든 극복했다.

🐜난관.
짧은 시간인 1주일 안에 기획 + 디자인구상을 함께 해야했다. 디자이너들도 대학생 또는 이제 막 취업한 사람이기때문에 시간이 부족했다. 항해자들인 우리 개발자들은 낮에 기술적으로 필요한 부분들에 대해 이야기하고, 밤에 본격적으로 팀전체가 회의하였다. 처음에는 색깔을가지고 취향을 고려한 인스타그램같은 것을 만들 기획을 진행하여 제출했다. 리더로써 각기 다른 팀원들의 의견을 취합하기란 굉장히 어려웠다. 디자이너는 디자이너의 눈으로, 개발자들은 각자 개발의 눈으로. 거기다가 현직자는 가능 불가능의 문제애 대해 말하고. 이것을 합의하고 맞추는 것이 난관이었다. 결국에 처음에 제출한 기획을 갈아엎기에 이르렀다. 저것은 색깔 취향을 고려하는 특정한 매니아층(?) 사람들에게만 선호될뿐 좋은 아이디어가 아니라는 생각이 들었기 때문이다. 그래서 우리는 사회적거리두기에서 일상으로 돌아가는 요즘, 밖에서 그룹 스터디를 원하는 사람들을 타겟으로, 사람들이 회원가입을 하고, 위치를 등록하면, 위치간의 중간거리를 계산하여 스터디 카페를 추천해주는 서비스를 만들기로 결정이 났다. 이 기획은 거의 개발 2주 반정도 남은 상태에서 결정났다. 디자이너들은 디자인을 하느라 바빴고, 개발자인 우리는 바뀐 기획에 맞춰서 다시 개발을 수정하고 바꾸고...나의 문제는 우리 슈퍼팀원이 일이 바빴기때문에, 혼자 있는 시간이 초반에 길었다. 그래서 다른조에 비해 많이 뒤쳐졌지만, 혼자 꾸역꾸역 낮에 열심히 천천히 코드를 짜보고, 밤에 슈퍼팀원에서 피드백을 받고 코드리뷰를 받으면서 우리의 페이스대로 갔다. 태어나서 처음 만지는 리액트인데, 어떻게 카카오 서버에서 데이터를 가져와야하고, 리덕스 툴킷을 어떻게 사용하여야 하는지, 툴킷쿼리는 뭔지...? 타입스크립트는 또 무슨 언어인지...이 모든것을 고려해서 2주반동안 오로지 완성에만 초점을 두었다. 지금 글쓰면서 생각을 해보는데...참..어이가없다. 이걸 해낸 내가 참 신기하다. 백엔드는 프론트가 고군분투하는동안, 나름대로 구조적으로 프론트와 통신을 할 준비를 철저히 하고, 보안에 대해서 신경을 썼으며, 테스트 코드를 작성하고 있었다. 특히 고마운점은, 우리가 필요로 할때 항상 괜찮다면서 통신이 되는지 안되는지 도와주었다.
마지막까지 디자이너들은 디자인의 방향에 대해 우리에게 물어봐주면서 수정하고 추가하고 삭제하고를 반복하였다. 나는 우리 슈퍼팀원과 거의 1주일은 3~4시에 자고 일어나고, 주말에는 쉬지도 않고 달렸다. 그리고 중간에 우리가 너무 힘든게 보였는지, 하루 슈퍼팀원이 들어와서 우리에게 힘을 주고 나갔다. 주로 CSS적인 컴포넌트를 많이 만져주시고 나갔다. 하루인데 단비같은 존재였다. 너무 감사하다. 그분 만들어놓은 컴포넌트를 남은기간 효율적으로 잘 썼다. 비록 중간에 백엔드 팀원이 한명 하차하긴했지만, 흔들리지 않았다. 흔들리지 않았다기보다는, 흔들릴 시간이 없었다 ㅋㅋㅋㅋㅋㅋ 그냥 누가 나가든 뭘 하든 그냥 일단 우리 모두에게 첫 프로젝트이기에 미친듯이 완성에만 집중했다. 나는 늘 팀원에게 말했다. "그냥 하면돼. 어떻게 되겠지. 일단 하자 할수있다 다왔다!" 이말 하고나서 에러창 보이면 열받긴 했다.

🐞완성했지만, 아직은 고칠게많아.
한달반동안 나는 잠을 4시간 이상 자본적도 없고, 제때에 밥을 가족과 먹어본 시간도 없다. 엄마얼굴, 아빠얼굴을 본 시간은 우리 팀원들 얼굴 본 시간보다 적었으며, 검은색 바탕의 코드창은 내가 하늘을 본시간보다 많았다. 기획의 방향성, 그냥 지나칠수없는 디자인의 중요성, 프론트 엔드 개발자의 시각에서 바라본 타임라인과 기술의 사용성. 이 글에서는 오로지 내가 느끼고 극복하고 그동안 어떤일이 나에게 일어났는지에대해 자세하게 기록해 놓았다. 왜냐하면, 개발자가 되는 길 위에 일어났던 엄청난 일을 적어놓고 싶었기 때문이다 ㅋㅋㅋ 3주만에 웹하나완성 ㅋㅋㅋㅋ
사실 완성도를 보자면 70점을 주고싶다. 나머지 30점은 치명적이다. 코드 리팩토링도 부족하고, 기능이 불완전하다. 렌더링이 늦다거나, 리덕스의 동작이 불완전 하다거나, 디자인을 수정/추가를 안했다거나.. 다른 조에비해 우리는 굉장히 늦게 제출했다. 꼴등으로 아마 제출했을걸(?) 기간에 상관없이 완성도를 높여서 제출하고 싶었으나, 우리팀은 그것도 중요하지만, 스케줄대로 진행해보면서 어떻게 개발자가 기한을 미친듯이 맞추고, 코드를 다시 보완하는 작업을 하는지 느끼고 싶다에 합의를 했기때문에, 일단 달렸다. 앞으로 다가올 시간들은 우리가 주변 지인들에게 서비스를 제공해보고 부족한점 피드백 받고 고치고, 기술적으로 문제있는 것들을 모두 보완할 예정이다. 이 과정이 없다면 무의미 할 것 같다.

다 써놓고 나니까 다를게 없다. 힘든척하는 내 개발자 친구. 그래 너 힘든거 알겠는데, 내가 했던 연구나 너가 하고있는 개발이나 다를게없단다. 그냥 본인이 하는게 제일 힘든거야. 그리고 인내는 무엇을 하든 필수라는 것을 다시한번 느꼈고, 제일 좋았던 점은: 개발도 어차피 사람이 하는 일이다. 무슨 거대한 그런 것이 없다. 모르는 것에대한 불안감과 걱정으로 코딩을 하기보다 대범하게 문제해결에 중점적으로 신경쓰면서 코딩을 하면 된다. 이런 말을 할 수 있다는 것은, 그래도 내가 어느정도 익숙해 졌다는 것이다.

우리 팀원들 다 고맙고, 우리가 해냈지만, 보완해야할점 당연히 있다는 것 알아줘다들!!

다른 포스트에 쓰긴 할거지만, 호오옥시나 궁금할까봐:

https://chip-monarch-04f.notion.site/CAPIN-4434d09828c645cfba03a3acacde3bcf

그리고 그동안 못했던 노션정리좀하고....깃허브도 좀 정리하고....너무 급속도로 완성하느라...참 보여줄게 안되서 그나마 저거일단 자랑할만하다...딴건 보지말고..

0개의 댓글