[TIL 2021.06.07] 마지막 프로젝트를 시작하기 전 목표 설정 그리고 고민과 그 흔적 ⭐️

Kyu·2021년 6월 7일
0

TIL

목록 보기
148/322

1줄 요약
마지막 프로젝트인 만큼 목표를 정하고 집중해서 성과를 낼 수 있도록 노력하자


1월 4일부터 시작했던 코드스쿼드 마스터즈 과정이 이제 막바지로 다달았습니다. 지난 프로젝트 까지 열심히 안한 것은 아니지만 혼자서 하다보니 조금 늘어지는 경향이 없지 않아 있어서 다음 프로젝트는 동료가 있으면 좋겠다고 생각했습니다. 사실 이번 프로젝트도 혼자 배정됐는데 다행히도 MJ가 같이 하자고 물어보셔서 기쁜 마음으로 같이 하게 됐습니다!

서로 이번 프로젝트에서 어떤 것을 달성하고 싶은지 목표부터 공유했습니다. 사실 처음에는 마지막이니까 열심히 하자 이외에 특별한 목표는 없었는데 코드스쿼드 슬랙에서 선배님이 해주신 조언을 보고 마음이 바뀌었었습니다. 그 선배님이 해주신 이야기를 요약하자면 다음과 같습니다.

첫번째, CRUD를 반복하지마세요. 검색, 조회, 업데이트 같은 단순 기능을 빼면 내 프로젝트에서 어떤 특색이 남아있는지 보십시오.

두번째, 성능 이슈를 생각하세요. 내 프로젝트가 대용량의 트래픽을 처리하는 진짜 서비스처럼 생각하면서 성능 이슈를 고민해보세요. 회사에서 흔히 물어보는 "개발할때 어려운 문제를 해결해본 경험이 있나요?" 같은 질문의 대답은 이런 고민에서 할말이 생기는 경우가 많아요.

세번째, 협업 할 때는 주도적으로! 이 기능 저 기능 요청하는 대로 다 만들어주기보다 항상 스펙을 고려해보세요. 클라이언트에 API를 제공할때도 중복될 만한 데이터를 가진 필드는 없는지, 최적의 플로우인지 등을 항상 고민하면 좋을 거예요.

이 조언을 바탕으로 저도 목표를 제대로 세우게 됐습니다. 제가 세우고 싶었던 목표는 CRUD를 걷어냈을 때 특별히 말할 수 있는 무언가가 있으면 좋겠다고 생각했습니다. 그 와중에 MJ가 테스트 코드 작성을 하고 싶다는 이야기를 했었고, 저도 이전부터 계속 작성하고 싶었던 테스트 코드를 이번에 중점적으로 해보고 싶다는 생각이 들어서 똑같은 목표를 공유하게 됐습니다.

또, 면접을 보면서 그리고 선배님들의 조언에으로 깃헙 레포지토리를 처음 보는 면접관이 내 깃헙 레포지토리를 들어왔을 때, 이게 무슨 레포지토리인지, 협업이었다면 내 역할은 여기서 무엇이었고, 어떤 어려움 등이 있었는 지를 정리해서 보여주는 문서를 잘 작성해야겠다고 생각했습니다. 그래서 이번 프로젝트에서는 꼭 이런 목표를 가지고 리드미, 위키 등을 잘 활용하겠다고 다짐했습니다.

목표를 공유하고나서 역할분담에 대한 이야기를 나누었습니다. 지난 협업 경험을 바탕과 비슷하게 제 경험을 가졌던 MJ의 의견을 종합해보면 어떤 가이드라인이 필요하다고 생각했습니다. 협업을 하면 잘하는 사람과 잘하는 사람을 팔로우하는 사람으로 나뉘어지는데 잘하는 사람의 의도대로 코드가 계속 진행되는 경향이 많습니다. 팔로우하는 사람이 그 코드를 다 이해하면서 머릿속에 프로젝트가 자기 프로젝트하듯이 그려지면 괜찮지만 대게는 그렇지 않은거 같습니다.

그래서 이런 코드 이해에 대한 불일치를 해결하기 위해서 어떻게 해야할까 생각해보았습니다. 먼저 MJ가 제안해준 것은 역할분담의 기준을 각 각의 API로 나누고 상대방이 작성한 API에 대해서 테스트 코드를 작성하자는 거였습니다. 확실히 그렇게 하면 테스트 코드를 작성할 땐 그 프로덕트 코드에 대한 이해가 수반되기 때문에 서로 코드에 대한 이해 선상이 비슷해질거라고 생각했습니다.

그런데 이렇게 말하고 나니까 들었던 의문점이 TDD에 관한 것이었습니다. TDD는 말그대로 테스트 주도 개발법으로 먼저 테스트를 작성하고 프로덕트 코드를 작성하는 것이기 때문입니다. 제가 생각하기에 꼭 그러한 TDD를 따를 필요없이 상황과 자기 현재 역량에 맞게 테스트 코드를 작성하면 된다고 생각하긴 하지만 확실히 생각은 해봐야 할 문제입니다.

다음으로는 설계하는 작업방식에 대해서 논의했습니다. 각자 어떻게 설계해왔는지 공유하고 의견을 맞췄습니다. 말이 나온김에 개념적 설계에 바로 들어갔었습니다.

이렇게 많은 이야기를 나누었습니다. 오늘 코딩은 안했지만 프로젝트 시작 전에 밀도있게 의미있는 시간을 보냈다고 생각합니다. 이렇게 나눈 대화를 바탕으로 마지막 남은 3주라는 시간을 최대한 잘 활용해서 프로젝트를 목표에 따라서 잘 마무리하고 싶습니다. 좋은 동료가 있으니 충분히 잘 마무리할 수 있을거라고 생각합니다!

profile
TIL 남기는 공간입니다

0개의 댓글