[우아한테크코스 6기] 테코톡 회고

DAN·2024년 6월 23일

우테코

목록 보기
6/9

끝났다-!!

드디어 테코톡을 털어냈 아니, 해냈다!

발표를 아주 아주 부담스러워하는 사람으로서 '모든 크루가 1회 이상의 테코톡 발표를 해야 한다'라는 수료 조건이 큰 마음의 짐이었던 건 사실이다.😂

그래서 테코톡 준비 과정과 결과가 악몽일 거라 지레 겁먹었는데, 막상 해내고 보니 깨달은 게 많은 행복한 경험이어서 기록해두려 한다.


👩🏻‍🎓 발표 준비하기

발표 신청

사실 우테코에 들어오기 전 테코톡의 존재를 알자마자 하고 싶었던 주제가 있었다.
바로 합성 컴포넌트 패턴이었다.

평소 코드의 가독성을 가장 중요한 가치로 꼽는 만큼 우테코에 들어오기 전 리액트를 독학할 때도 이 부분에서 성장을 할 수 있도록 노력해왔다.
그때 합성 컴포넌트 패턴에 관한 발표 세션이 성장의 마중물이 되어줬던 기억이 있다.
그래서 크루들에게도 그 경험을 나누고 싶었고, 계획한 대로 레벨2 테코톡 신청이 열리자마자 해당 주제로 테코톡을 신청했다.

(여담이지만 같은 프엔 크루인 ✨버건디✨와 주제가 일부 겹쳤는데 흔쾌히 발표를 양보해 주셨다. 정말 감사합니다..🥹)

발표 주제 다시 찾기💦

💭 왜 이렇게 답답하지?

처음엔 합성 컴포넌트 패턴의 장단점과 활용법을 중심으로 내용을 구성하려고 했다.
그런데 막상 해당 내용을 준비하다 보니 활용법을 제시함에도 발표가 표면적인 것 같다는 느낌을 떨칠 수 없었다.

그 원인에 대해 스스로에게 질문을 던지며 타고 들어간 결과, 나조차도 '왜 합성 컴포넌트 패턴을 사용해야 하나?'에 대한 답을 말하지 못하고 있다는 사실을 깨달았다.

그렇게 합성 컴포넌트 패턴이 어떤 문제를 해결하기 위해 등장한 것인지 알아보니 핵심 개념인 '컴포넌트 합성'이라는 키워드를 도출해냈고, 방향을 틀어 해당 내용을 중심으로 발표를 구성했다.

발표 자료 타이틀


🎙️ 발표

1️⃣ 오프닝

부끄러운 이야기지만 해당 주제로 테코톡을 준비하기 전까지는 '컴포넌트 합성'이 특정 패턴을 사용하는 행위를 지칭하는 것이 아닌 내가 이미 숨쉬듯 사용하는 방법이란 걸 깨닫지 못하고 있었다.

여러 자료를 보면서 prop과 children으로 컴포넌트를 전달하는 것도 넓게 보면 모두 '합성 컴포넌트'라는 깨달음을 얻었고, 이 메세지를 녹여 오프닝을 구성했다.

script: 컴포넌트 합성을 사용해본 크루 손 들어주세요. script: 손을 들지 않은 분들은 혹시 이런 컴포넌트를 생각했나요? script: 사실 우리는 이미 합성 컴포넌트를 사용하고 있습니다

2️⃣ 합성을 사용해야 하는 이유?

합성의 의의는 결국 유지보수성 향상에 있다고 생각했다.

수정의 이유와 시점이 다른 코드를 서로 분리하여 컴포넌트를 작성하면 추후 변경사항이 생겼을 때 수정의 범위를 최소화할 수 있다.

이를 크루들에게 잘 전달하기 위해 메세지를 먼저 제시하고, 2가지 예시를 통해 정말로 합성을 사용하면 유지보수성이 올라가는지 함께 살펴보도록 구성했다.

예시1, 수정의 이유가 다른 코드 분리하기 예시2, 복잡한 비즈니스 요구사항 분리하기

3️⃣ 합성 컴포넌트 패턴

앞서서 합성의 예시를 통해 유지보수성이 향상된 것을 확인했다. 다시 한번 유지보수성 향상을 3가지 키워드로 구체화하고, 합성의 장점으로 묶어 정리했다.

  • 재사용성하기 좋은 코드
  • 명시적인 코드
  • 결합도가 낮아 유연한 코드

그리고 이 장점들을 극대화한 방식으로 합성 컴포넌트 패턴을 간략하게 소개했다.

합성 컴포넌트 패턴

'컴포넌트 합성'을 설명한 것과 같은 방식으로 해당 패턴이 정말 유지보수성을 높이는지 예시를 통해 살펴보았다.

4️⃣ 클로징

합성은 유용하지만 컴포넌트를 무작정 작게 쪼개는 건 오히려 관리비용을 높일 수 있다고 생각했다.

중요한 건 컴포넌트를 나누는 행위 그 자체보단, '무엇을 위해 컴포넌트를 분리하려 하는가'에 대해 의식적인 연습을 하는 것이라고 생각해 해당 메세지를 넣어 발표를 마무리했다.

5️⃣ Q&A

Q: Intersection Observer 로직을 꼭 컴포넌트로 만들어야 하나요?

A: 아니다. 해당 로직을 훅으로 만들어 유틸 함수처럼 사용할 수 있는데, 이 또한 유용하며 자주 사용되는 방법으로 알고 있다. 하지만 제시된 예시와 같이 컴포넌트로 만들어 합성하면 계층 구조 상에서 Intersection Observer의 동작을 표현할 수 있다는 점에서 장점이 있다.



✨ 이 모든 과정을 돌아보며

피드백의 중요성

한 가지 고백하자면 테코톡이 유튜브까지 올라가는 나름 큰 발표임에도 일정 관리 실패로 나흘동안 몰아쳐 준비할 수 밖에 없었다.🥲

그 와중에 이미 발표를 끝낸 크루들이 다른 사람에게 피드백은 꼭 받아 보라고 했던 것이 기억났다. 그래서 발표 내용 정리는 물론 PPT도 미완성인 채로 꾸역꾸역 크루들에게 피드백을 받았다.😂

그런데 정말로 피드백을 받으니 문제가 되는 부분을 빠르게 발견할 수 있었고, 혼란스러운 마음에 이리저리 꼬였던 발표 구성도 더 깔끔하게 다듬을 수 있었다.
혼자 고민할 시간에 피드백을 받은 덕분에 발표 퀄리티를 단기간에 올릴 수 있었던 것이다.

발표가 됐든 요구사항을 구현하는 것이든 나에게 피드백은 항상 모든 걸 온전하게 끝낸 후 받는 것이었는데, 일이 진행될 때 받는 피드백이 얼마나 효과적인지 깨닫게 되는 계기였다.

발표 불안 극복 경험(샤라웃 투 크루들)

사실 나는 발표 불안이 매우‼‼ 심하다. 나를 쳐다보는 눈이 5쌍만 있어도 몸이 굳고 얼굴 근육이 마음대로 움직인다.

그런데 이번엔 꽤 큰 발표였는데도 불구하고 발표하는 순간엔 떨림을 전혀 느끼지 못했다. 가장 큰 컴플렉스였던 목소리 떨림도 거의 없었고 안정적이었다.

그 이유가 뭐였을까 곰곰히 고민했는데, 크게 두 가지가 도움이 됐다고 생각한다.

1. 스크립트는 만들었지만 이를 외우진 않았다.

이 방법은 왼손에게 영감을 받았다. 발표에서였던가, '완벽주의를 완화하기 위한 노력'으로 맞춤법 검사기를 일부러 돌리지 않은 경험을 공유해 주셨다. 이것이 떠올라 나도 어떤 걸 안할 수 있을까 생각했고, 대본 외우기를 스킵했다.

나는 보통 혹시 내가 대본을 틀리면 어떡하지?라는 불안감이 삐죽 튀어나올 때 목소리가 떨리기 시작하는데, 애초에 외운 대본이 없으니 그런 부정적인 생각이 끼어들 틈이 없었다.

2. 내가 우테코를 '실패해도 괜찮은' 환경으로 인식하고 있다.

이 부분은 크루들에게 무한 감사를 하고 싶은 부분이기도 하다. 코치분들이 늘 말씀하시듯 우테코 안에서는 실패해도 괜찮다. 이 때문인지 몰라도 크루들도 타인의 실수도 관대하게 감싸주는 분위기가 있다.

테코톡 피드백을 받을 때도 이를 느꼈다. 다들 미션으로 바쁠 때 혼란스러운 발표로 시간을 뺏어 기분이 안 좋을 법 한데도 차분하게 성의있는 피드백을 남겨 주었다. 혼날 각오 하고 들어갔는데 말이다..🥹

비슷한 경험을 우테코에서 반복적으로 경험하다 보니 발표자로서 크루들 앞에서 섰을 때도 실수에 대한 불안감 보단 준비한 내용을 최선을 다해 전달하겠다는 책임감이 커졌다.


발표 불안은 내 오랜 컴플렉스였고, 고치는 게 거의 불가능하다고 생각했는데 이를 극복한 첫 사례를 만들어 기쁘고 행복하다. :)



🌱 마무리

이처럼 테코톡은 예상과 180도 다르게 좋은 기억으로 남았다. 크루들의 따뜻함을 실컷 느낀 시간이 되었다.

카톡으로 응원을 보내준 바다 간식 챙겨준 소하, 건디, 러기

카톡으로 응원 보내준 바다, 간식 챙겨준 소하, 건디, 러기, 그리고 사진은 없지만 응원해 주신 크루들 모두 감사합니다.💙


발표가 궁금하신 분이 있다면, 여기로!

profile
블로그 옮겼습니다 | dan.io.kr

0개의 댓글