본문 바로가기

글/회고

[주간회고] 우아한테크코스 7주차 - 확장성 좋은 패턴을 쓰기보다, 확장성에 직접 대응하기

이번 자판기 미션 페어 프로그래밍 유의미하고 재밌었다. 새로운 시도를 많이 했다.

1. 패턴 없이 코딩하기
2. scss
3. TS 모델링 -> TDD
4. 챌린징한 기능에 도전하기
5. 페어 일일 회고

Plus

1. 패턴 없이 코딩하기

지금까지 나는 MVC나 누군가 짜놓은 컴포넌트 구조 처럼 이미 확장성이 있는 구조들을 써왔다.(React도 포함) 그래서 코드를 짜면서 내가 직접 확장성에 대응해야할 일이 별로 없었다. 그냥 패턴에 정해진 대로 짜면 그것이 확장성에 대응하는 것. 이번에는 패턴 없이 ui/domain 분리만을 주안점으로 두고 짜다보니, 계속하여 확장성에 대응해야했다. view가 2개가 되면, view의 depth가 생기면, view의 의존이 생기면, view/domain의 의존이 생기면 등 다양한 상황에 대한 해결책을 페어와 회의하여 결정했다. 나의 생각과 의도를 담아본 좋은 경험이었다.

2. scss

scss 쓰다보면 css 못 쓴다. 갓 scss 쓰자.

3. TypeScript 모델링

포코의 갓 수업 너무 좋았다. 타입스크립트 그냥 에러 잡는 용으로만 썼는데, 모델링이라는 것을 알려주시다니. JSDoc을 직접 써보면서 필요성을 느끼게한 것이 너무 좋았다.

class에 어떤 변수와 메소드가 들어가고 어떤 타입이 들어가서 나올지 구상해보았다. 구조를 잡고 시작하니 완결성 높은 코드를 짜게 되었다. 겸으로 TDD도 쉽게 할 수 있었다.

우테코 하면서 나만의 강점을 만들고 싶었다. 타입스크립트나 회고 같은 것에 자신이 있기 때문에 이것들을 파고 크루들에게 공유하고 싶었다. 이번주는 TypeScript를 크루들에게 조금 공유해주었는데, 내가 도움이 될 수 있어서 좋았다.

타입스크립트 엑설사이즈를 풀고, 공부하면서 실력이 많이 늘었다. generic, mapped type, keyof, unility type 등 실전에서 어느정도 적용할 수 있겠다.

4. 챌린징한 기능에 도전하기

요구 사항을 마무리한 후에 무엇을 더 할까 고민했다. 페어와 리스트를 정리해보았다. 뭔가 어려운 것에 도전해보고 싶어서 해결책이 바로 떠오르지 않는 것들을 위주로 구현해보았다. 구현에 성공한 것과 더불어 너무 좋은 코드를 짠 것 같아서 날아갈 것 같았다.

뭐든 짤 수 있으니 두려워 하지말자

5. 페어 일일 회고

주간회고 스터디도 운영하고, 페어 일일 회고도 진행하면서 과분하게도 사람들이 나를 회고왕이라고 불러주었다. 너무 좋은 칭호다.

하리와 일일 회고를 했는데, Fact/좋았던점/아쉬웠던점/내일개선해볼것/내일계획 등을 이야기했다. 나만의 회고 방식을 정립해가고 있는데, 이번 회고 시도는 좋았던 것같다. 특히, 아쉬웠던 점에 대한 이야기를 많이 듣고 싶어 나를 객관화하고, “혹시 이런 점이 불편했느냐" 라고 많이 물어보고 답을 얻을 수 있었다.

또, 주체적인 회고가 되려면 매번 같은 사람이 진행하면 안된다는 것을 깨달았다. 하리와 하루씩 회고를 진행했다. 함께 능동적으로 할 수 있어서 좋았다.

6. 코드리뷰 스터디 활동
8명의 코드와 리뷰를 보는데, 내가 궁금한 것을 중심적으로 보니까 좋았다. 테스트/class 구성 방법/try-catch 방법/view간의 의존 끊는 방법 등을 위주로 보았다. 확실히 목적을 가지고 코드를 보니까 좋은 퀄리티의 문서가 나온 것같다. 스터디원들에게도 너무 좋았다고 칭찬받았다.

Minus

1. 페어 기다려주기

페어 프로그래밍을 하다보면 페어와 속도 차이가 날 수 있다. 생각하는 속도 차이거나, 코드 짜는 속도 차이거나, 에러를 발견하는 속도 차이거나. 이것은 언제나 일방적이지만은 않으며, 상황마다 다를 수 있다. 그리고 네비게이터가 드라이버보다 이런 것들을 빠르게 할 수밖에 없다. 이럴 때, 페어가 스스로 에러를 잡고, 스스로 생각하고, 스스로 코드를 짤 수 있도록 기다릴 수 있어야 한다. 특히 네이버게이터가 될 때, 전체적인 코드 구조를 봐주어야지, 에러, 함수명, 컨벤션 등 세세한 것에 대해서 보이는 대로 말하게 되면 압박감을 느끼게 되는 것같다. 최대한 지양하고, 스스로 찾아가고, console에서 에러를 직면하기까지 지켜봐주는 페어가 되자.

우디가 말한 인내심 많은 고무오리가 생각났다.

하리와 서로 다음 페어와의 미션을 주고받았다. 내가 받은 미션은
- 페어 기다려주기
- 별로인 것이 있으면 별로라고 말하기, 바로 말하기 힘들면 회고 때 말하기

2. 페어 프로그래밍 하다보면 좀 쉽게 지치는 것같다. 지치면 인내심도 떨어지고, 소통도 단순하게 하게 된다. 그게 느껴져서 싫었다. 어떻게 해야할까