예전에 인턴했던 회사에서, 사수가 나중에 회사에서 데드라인을 물어볼 때 무조건 일주일 더 붙여서 얘기하라고 한 적이 있다. 월급루팡을 하는게 아니라, 그 기간에 어떤 일이 일어날지 모르기 때문이라고 했다.
하루 단위의 미션에서 2주단위의 미션을 하니, 스스로 미션을 분석하고 계획을 세워 볼 수 있었다. 오전 스크럼과 수업도 있다보니 생각보다 코딩할 시간이 많지는 않았다. 첫 주는 분량 관리에 실패해 주말 코딩을 할 수 밖에 없었고.. 덕분에 둘째 주는 여유롭게 진행할 수 있었다.
주어진 태스크를 쪼개는 것도 중요하지만 Git 관리도 매우 중요하다는 것을 느겼다. 일단, 올바른 커밋 메시지와 pr, 브랜치 전략들에 대해 고민해볼 수 있었다. issues, milestones 사용해보지는 못했는데 이 둘을 사용해 쪼갠 목표와 커밋들을 효과적으로 관리할 수 있을 것 같다. 다음주에는 꼭 사용하리다!
나는 이번 미션을 db 데이터 구조와 api 정도만 분석하고 후다닥 코딩을 시작하였는데, 덕분에 뒤늦게 빠트린 부분을 깨닫고 계획을 수정해야했다. 물론 처음부터 완벽한 설게를 할 수는 없겠지만, 아예 첫째날을 설계에 쓰시며 설계가 철저했던 분들이 개발 속도가 빠르다는 것을 느꼈다.
또한, 시간을 내서 리팩토링까지 하신 분들이 코드 퀄리티가 비약적으로 높았다. 남는 시간에 리팩토링하는 것이 아니라 리팩토링까지가 계획에 들어가 있어야겠다. 또한 처음에는 구조가 간단하기 때문에 방심하기 쉽지만 처음부터 파일 구조를 잘 잡아야(MVC 패턴이라던지) 뒤로 갈 수록 관리하기 편해진다는 것을 느꼈다.
같은 미션을 2주동안 수행하다보니, 같은 문제도 사람마다 접근하는 법들이 달랐다. 각자 잘했던 부분들을 스크럼이나 피어세션 시간에 쉐어하고 흡수할 수 있었다. 예를 들면, 어떤 분이 root에 css 변수를 두고 활용하는 것을 보고 바로 2주차에 적용했다. 그 외에도 다음 미션에서는 적용해야겠다고 생각한게 한 두개가 아니다...
이렇게 자극을 주고 받으며 다음 날 적용시켜 볼 수 있는게 챌린지와 다른 멤버십에 묘미라고 할 수 있겠다...!