Skip to content

Commit 54d22d2

Browse files
committed
acc 회고 내용 수정
1 parent 9a89ac9 commit 54d22d2

1 file changed

Lines changed: 11 additions & 19 deletions

File tree

src/content/blog/toss-acc-review.md

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ category: "blog"
1313
규모가 큰 조직에서 작은 조직으로 옮겨갔을 때 가장 크게 마주하는 문제는 바로 **의사결정**이다.
1414
코드 리뷰를 진행해도 서로의 제품에 대한 이해도가 낮았고, 리뷰에 쏟는 시간이 많아질수록 리뷰의 우선순위가 낮아졌다. 리뷰에 드는 비용이 늘어갈수록 LGTM(Looks Good To Me)으로 일을 하고 있었다.
1515

16-
결국, 복잡한 문제를 마주했을 때 내 해결책에 대한 판단 기준조차 찾기가 어려워졌다. 인원이 많은 팀에서 근무했을 때는 시니어나 여러 동료들의 리뷰를 통해 고민이 해결되었지만, 소규모 주니어 팀에서는 서로 검증해줄 수 있는 경험이 부족해 내 해결법이 맞는지 확신하기가 어려웠다. 오픈소스 코드를 들여다보기도 했으나, 라이브러리마다 설계 패턴이 달라 무엇을 기준으로 선택해야 할지 고민만 커졌다.
16+
결국, 복잡한 문제를 마주했을 때 내 해결책에 대한 판단 기준조차 찾기가 어려워졌다. 인원이 많은 팀에서 근무했을 때는 시니어나 여러 동료들의 리뷰를 통해 고민이 해결되었지만, 소규모 주니어 팀에서는 서로 검증해 줄 수 있는 경험이 부족해 내 해결법이 맞는지 확신하기가 어려웠다. 오픈소스 코드를 들여다보기도 했으나, 라이브러리마다 설계 패턴이 달라 무엇을 기준으로 선택해야 할지 고민만 커졌다.
1717

1818
그렇게 조직에 한계를 느낄 때쯤에 토스에서 프론트엔드 멘토링 프로그램 참여자를 모집한다는 공고를 만났다.
1919

@@ -32,21 +32,21 @@ category: "blog"
3232

3333
이런 내 모습과 달리 다른 참가자들은 디스코드에서 활발하게 고민을 나눴다. 내가 한참 생각하는 사이 누군가는 이미 답을 내리거나 새로운 질문을 던지고 있었다. 리팩토링 횟수도 다른 참여자들에 비해 적었다. 프리코스 내내 뒤처지는 느낌이 들었고, 이번엔 안 되겠다는 생각이 자연스럽게 따라왔다.
3434

35-
프리코스 기간이 끝나면 최종 인터뷰를 통해 본코스 합류 여부가 결정된다. 안될 거라는 생각에 마음을 내려놓아서 그랬는지, 막상 멘토(이하 종택님)와의 인터뷰는 카페에서 수다를 떠는 것처럼 편안했다. 인터뷰에서는 코드보다 **일상 속 인지행동과 패턴**대한 이야기가 주를 이뤘다. 프리코스가 어땠냐는 질문에 나는 뒤쳐졌던 느낌을 제일 먼저 말했고, 종택님은 내가 프리코스 동안 느낀 불편함이 '나를 드러내지 않는 행동 패턴'에 있다고 짚어줬다. 이를 극복하기 위해 어떤 액션을 취하면 좋을지도 함께 이야기했다.
35+
프리코스 기간이 끝나면 최종 인터뷰를 통해 본코스 합류 여부가 결정된다. 안될 거라는 생각에 마음을 내려놓아서 그랬는지, 막상 멘토(이하 종택님)와의 인터뷰는 카페에서 수다를 떠는 것처럼 편안했다. 인터뷰에서는 코드보다 **일상 속 인지행동과 패턴**관한 이야기가 주를 이뤘다. 프리코스가 어땠냐는 질문에 나는 뒤처졌던 느낌을 제일 먼저 말했고, 종택님은 내가 프리코스 동안 느낀 불편함이 '나를 드러내지 않는 행동 패턴'에 있다고 짚어줬다. 이를 극복하기 위해 어떤 액션을 취하면 좋을지도 함께 이야기했다.
3636

3737
인터뷰가 끝나자마자 나는 그 내용을 디스코드 채널에 공유했다. 무언가를 드러냈다는 것만으로도 한 발짝 나아간 느낌이 들었다.
3838

3939
## 본코스
4040

41-
불합격을 예상한 것과 다르게 감사히 합격을 하게되어 본코스를 듣게 되었다. 본코스라고 해서 프리코스에서 다룬 내용과 크게 다르지는 않았다. 두 코스 모두 **추상화 능력을 기르는 방법**에 대해 다루었다.
41+
불합격을 예상한 것과 다르게 감사히 합격을 하게 되어 본코스를 듣게 되었다. 본코스라고 해서 프리코스에서 다룬 내용과 크게 다르지는 않았다. 두 코스 모두 **추상화 능력을 기르는 방법**에 대해 다루었다.
4242

4343
### 추상화 — 사고
4444

4545
코스에서 말하는 추상화는 아래와 같다.
4646

4747
> 번잡한 세부사항(How)에 가려진 본질(What)을 드러내는 행위
4848
49-
코스를 듣기 전, 추상화라고 하면 무작정 복잡해보이는 부분을 함수나 컴포넌트로 분리하는 방식을 생각했었다. 코드가 안 보이면 일단 정리된 것처럼 느껴졌기 때문이다. 하지만 그건 추상화가 아니라 은닉이었다. 나중에 그 파일을 열면 여전히 복잡했다.
49+
코스를 듣기 전, 추상화라고 하면 무작정 복잡해 보이는 부분을 함수나 컴포넌트로 분리하는 방식을 생각했었다. 코드가 안 보이면 일단 정리된 것처럼 느껴졌기 때문이다. 하지만 그건 추상화가 아니라 은닉이었다. 나중에 그 파일을 열면 여전히 복잡했다.
5050

5151
이 습관이 드러난 건 페이지 컴포넌트를 작성할 때였다. 최상위에서 데이터를 한꺼번에 페칭하고 하위 컴포넌트로 내려보내는 식으로 코드를 작성했다. 데이터 선언은 파일 상단에 몰려 있고, 실제 사용은 한참 아래에 있었다. 정리된 것처럼 보였지만, 읽는 사람 입장에서는 선언과 사용 사이를 오가며 머릿속에서 연결해야 하는 코드였다.
5252

@@ -56,26 +56,18 @@ category: "blog"
5656

5757
- 함수나 변수의 이름이 약속을 지키는가?
5858
- 파일이나 함수로 나뉜 경계 바깥에서 안쪽을 몰라도 되는가?
59-
- 같은 레벨의 코드들이 비슷한 수준으로 말하고 있는가? (어느 한 쪽만 수다스럽지는 않은가?)
59+
- 같은 레벨의 코드들이 비슷한 수준으로 말하고 있는가? (한 쪽만 수다스럽지는 않은가?)
6060

61-
아직은 모든 상황마다 최적의 추상화를 한다고 할 수는 없지만, 적어도 어떤 부분에서 왜 이렇게 추상화를 했는지는 설명할 수 있게 되었다.
61+
아직은 모든 상황마다 최적의 추상화를 한다고 할 수는 없지만, 적어도 어떤 부분에서 왜 이렇게 추상화했는지는 설명할 수 있게 되었다.
6262

63-
**그렇다면 언제 추상화를 해야 할까?**
64-
65-
코드를 보면 고치고 싶은 곳이 눈에 띄기 시작했다. 그런데 무작정 손을 대다 보면 기능 구현은 늦어지고 리팩토링은 끝이 없었다. 코스에서는 이 질문에 대한 답으로 FoM(Fundamentals of Modularization)을 제시한다.
66-
67-
- **명확한 신호로부터 출발하는가?** 패턴이 발견되기 전에 섣불리 추상화부터 하려는 건 아닌가?
68-
- **결과에 기여하고 있는가?** "이 분리를 통해 무엇이 더 쉬워지는가"를 한 문장으로 설명할 수 없다면, 아직은 아니다.
69-
70-
요리를 잘하는 사람은 중간중간 설거지를 하지만, 초보는 나중에 몰아서 하느라 주방이 복잡해지는 것과 같은 원리였다. 마찬가지로 리팩토링도 작은 단위로, 신호가 왔을 때, 결과에 기여하는 방향으로 진행해야 한다.
7163

7264
### 페어 프로그래밍 — 관찰
7365

7466
코드를 잘 작성하는 것만큼 중요한 게 있었다. 내 코드에서 **무엇이 문제인지를 스스로 발견하는 것**.
7567

7668
코스 동안 2인이 짝을 지어 페어 프로그래밍을 진행했다. 다만, 일반적인 페어 프로그래밍과는 달랐다. 구현자와 관찰자로 역할을 나눠, 구현자는 평소대로 코딩을 하고 관찰자는 코드가 아닌 사람을 본다. 어디서 막히는지, 어떤 패턴으로 문제에 접근하는지를 관찰하면서 병목을 발견하고 함께 해결 방법을 찾아가는 방식이다.
7769

78-
나의 병목은 '말이 없어짐'이었다. 복잡한 문제를 마주하면 해석하는 시간이 길어졌고, 그 사이 방법만 고민하다 시간을 흘려보내는 패턴이었다. 나를 관찰하던 파트너는 "지금 어떤 문제를 겪고 계세요?", "이 문제를 어떻게 쪼갤 수 있을까요?" 같은 질문을 던졌다. **질문에 답하는 과정이 곧 정적을 부수는 과정이었다**. "지금 ~를 해야 하는데 ~때문에 막혔어요." "가장 단순한 방법부터 해보고 이후에 리팩토링할까요?"와 같이 내 문제를 말로 꺼내면서 병목을 해소할 수 있었다.
70+
나의 병목은 '말이 없어짐'이었다. 복잡한 문제를 마주하면 해석하는 시간이 길어졌고, 그 사이 방법만 고민하다 시간을 흘려보내는 패턴이었다. 나를 관찰하던 파트너는 "지금 어떤 문제를 겪고 계세요?", "이 문제를 어떻게 쪼갤 수 있을까요?" 같은 질문을 던졌다. **질문에 답하는 과정이 곧 정적을 부수는 과정이었다**. "지금 ~를 해야 하는데 ~때문에 막혔어요." "가장 단순한 방법부터 해보고 이후에 리팩토링할까요?"와 같이 내 문제를 말로 좁히면서 병목을 해소할 수 있었다. 말이 없어진다면 일단 생각을 멈추고, 가설을 세워 문제를 좁히고, 가장 작은 가설부터 세우고 검증해 나가는 방법을, 관찰을 통해 알게 되었다.
7971

8072
### 일일 점검 — 발견
8173

@@ -93,14 +85,14 @@ category: "blog"
9385

9486
결국 하루 안에 **계획 → 실행 → 관찰 → 조정 → 패턴 추출**을 의식적으로 반복하는 구조였다.
9587

96-
추상화와 같은 원리였다. 코드에서 신호를 보고, 본질을 찾고, 작은 단위로 행동하는 것. 이를 일상 속으로 들여와 병목을 먼저 예측하고, 간극이 생기면 즉시 감지하고, 그 경험을 다음에 연결하는 행동 패턴이었다.
88+
코드에서 신호를 찾고, 작은 단위로 행동하여 리팩토링을 하는 것과 같은 맥락이었다. 일상의 병목을 먼저 예측하고, 간극이 생기면 즉시 감지하고, 그 경험을 다음에 연결하여 나아지는 것이다.
9789

9890
## 코드만큼 중요한 사고 과정
9991

10092
코스 이전의 나는 문제를 마주하면 해결책부터 찾았다. '왜 막히는지'보다 '어떻게 풀지'를 먼저 생각했다. 그러다 보니 같은 자리에서 맴도는 일이 많았다. 병목을 해결한 게 아니라 병목을 피해 간 것이었다. 내 해결책이 맞는지 확신할 수 없었던 이유도 거기 있었다.
10193

102-
코스는 그 순서를 바꿨다. 먼저 멈추고, 지금 어디서 막혀있는지를 정의하는 것. 그게 추상화와 같은 원리였다. 복잡한 세부사항 뒤에 숨은 본질을 찾는 것. 코드에서는 세부 구현(How) 뒤에 숨은 본질(What)을 찾는 일이었고, 일상에서는 막히는 순간들 뒤에 숨은 패턴을 찾는 일이었다. 찾고 나면 가장 작은 단위로 쪼개서 움직일 수 있었다.
94+
코스는 그 순서를 바꿔주었다. 먼저 멈추고, 지금 어디서 막혀있는지를 정의하는 것. 추상화를 수행하는 단계와 같은 원리였다. 코드에서는 세부 구현(How) 뒤에 숨은 본질(What)을 찾는 일이었고, 일상에서는 막히는 순간들 뒤에 숨은 패턴을 찾는 일이었다. 찾고 나면 가장 작은 단위로 쪼개서 움직일 수 있었다.
10395

104-
병목을 찾고 제거하는 일이 몸에 붙으면서 일상을 대하는 방식도 달라졌다. 집안일이 쌓이면 '왜 손이 안 가는지'를 먼저 봤다. 피곤해서라면 부족한 잠부터 자야했고, 막막해서라면 설거지, 청소, 빨래로 쪼개면 됐다. 다른 사람들이 코스를 통해 인생까지 배운다는 말을 비로소 이해할 수 있게 되었다.
96+
병목을 찾고 제거하는 일이 몸에 붙으면서 일상을 대하는 방식도 달라졌다. 집안일이 쌓이면 '왜 손이 안 가는지'를 먼저 봤다. 피곤해서라면 부족한 잠부터 자야 했고, 막막해서라면 설거지, 청소, 빨래로 쪼개면 됐다. 다른 사람들이 코스를 통해 인생까지 배운다는 말을 비로소 이해할 수 있게 되었다.
10597

106-
무엇보다 이 변화는 함께 배우는 과정 덕분에 생길 수 있었다. 혼자였다면 책을 읽고 끄덕이는 데서 멈췄을 것이다. 이 모든 내용을 이끌어준 종택 코치님, 그리고 6주 동안 서로를 관찰해주고, 같은 고민을 나누고, 응원을 보내준 5명의 동료들 덕분에 지식이 행동으로 이어질 수 있었다. 코드 안팎으로 함께 성장한 우리 모두의 앞날이 기대가 된다.
98+
무엇보다 이 변화는 함께 배우는 과정 덕분에 생길 수 있었다. 혼자였다면 책을 읽고 끄덕이는 데서 멈췄을 것이다. 이 모든 내용을 이끌어준 종택 코치님, 그리고 6주 동안 서로를 관찰해 주고, 같은 고민을 나누고, 응원을 보내준 5명의 동료들 덕분에 지식이 행동으로 이어질 수 있었다. 코드 안팎으로 함께 성장한 우리 모두의 앞날이 기대가 된다.

0 commit comments

Comments
 (0)