[회고] 우아한테크코스 5, 6주차 회고
테코톡 발표, 학습법을 다시 설계해본 미션, 그리고 페어와 부딪히며 소프트 스킬을 키워간 2주간의 기록입니다.
로딩중...
오래 걸리지 않기를 바라요..!
테코톡 발표, 학습법을 다시 설계해본 미션, 그리고 페어와 부딪히며 소프트 스킬을 키워간 2주간의 기록입니다.
우아한테크코스를 시작한지 얼마나 됐다고 벌써 테코톡을 찍게 되었다.
사실 발표 준비를 하기까지 시간이 너무나도 부족했다. 지난 2주간 송곳 원정대에 집중하느라 너무나도 바빴었고, 끝나자마자 바로 발표를 진행해야만 했다. 발표 주제 또한 당시에 급하게 제출해야만 했어서 당연하게도 발표를 어떻게 해야겠다는 구상 또한 아예 안 되어 있는 상황이었다. 게다가 독감까지 걸려서 몸도 제대로 가누질 못하는 상황 속에서 촉박한 시간으로 발표 준비를 해야 한다니.. 세상이 너무 밉기도 했다.
발표 이틀 남기고 스크립트 짜고 있고, 발표 내용 구상하고 있고.. 사실 이런 경험이 처음은 아니긴 하다. 매번 Dev 행사를 준비할 때마다 겪던 상황과 느끼던 감정들이라서 어떻게든 되겠지란 생각으로 준비를 했었다.
일단 간단하게 스크립트를 짰다. 이후에는 이전에 만들어두었던 Claude Code 스킬을 사용해서 웹 기반 프레젠테이션을 만들었다. 이를 바탕으로 몇몇 크루들에게 임의로 발표해보면서 스크립트 컨펌을 받으며 수정해나갔다.
점차 발표 틀이 갖추어져 갔고, 발표 하루도 안 남은 상황에서 피그마를 통해 발표 자료를 만들기 시작했다. 발표 자료를 결국에는 다른 사람 발표 듣는 도중에 수정하기도 했다.
발표 자료가 다 만들어지지 않은 상황 속에서도 여러 프론트엔드 크루들이 내 발표 봐주겠다면서 리허설을 도와주었다. 다들 각자 미션하느라 정말 바쁠 텐데, 먼저 나서서 도와주려는 모습을 보고 정말 고마웠다. 발표를 보고 진심 어린 조언들을 해주었고, 덕분에 실제 발표를 하기 전까지 잘 다듬어 갈 수 있었다.
사실 발표 몇 시간 전까지도 아무런 생각이 없었다. 걱정이 되지도 않았고, 떨리지도 않았다. '망하면 발표 한번 더 하면 되지~'라는 생각으로 편하게 임했었는데, 앞 사람들이 발표하기 시작하니까 그때 되어서 떨리기 시작했다.

스타트랙 무대에 서니까 빽빽이 사람들이 앉아있는 게 보였고, 긴장으로 인해 얼굴 근육이 마비되어서 엄청 창백한 얼굴로 발표를 진행했었다.
발표 준비 시간이 없었다 보니 대본 준비를 아예 하지 못했다. 정말 프리스타일로 머릿속에 드는 생각을 논리정연하게 자연어로서 딜레이 없이 뱉어야만 했는데, 원래 잘하던 이런 프로세스도 긴장이 심해지니까 마치 고장이라도 난 듯 발표를 했다. 사실 어떤 말을 했는지도 기억이 안 난다. 말도 안 되는 문장들을 뱉었다는 사실만 기억이 난다.
개인적으로는 대차게 망했다는 생각이 들었다. 몸이 안 좋아서 목을 가다듬으면서 중간에 3초 정도 쉬었던 것, 마무리 멘트 뭐라 말하고 끝내지? 고민하면서 이상한 말을 뱉기도 했고.. 원래 발표할 때 그렇게 떠는 편이 아닌데, 이번에는 유독 긴장이 심했다. 몸 상태 때문이었는지, 준비 부족 때문이었는지는 모르겠지만 둘 다 영향이 있었던 것 같다.
이번 발표에 너무 아쉬움이 남아서 한번 더 완벽한 발표를 해보고 싶다는 욕심도 생기기도 했다. (물론 정말로 할지 말지는 그때의 내가 그때의 상황을 고려해서 정하는 것으로..!)
이번에 테코톡 발표를 준비하면서 프론트엔드 크루들에게 정말 고마웠다. 테코톡을 듣는 건 자율 참여인데, 프론트 크루들이 전부 보러 와줬다. 바쁜 와중에도 시간을 내서 와주고, 호응도 정말 잘 해줬다. 그 순간만큼은 긴장 속에서도 큰 힘이 됐다. 진심으로 감사했다.
준비하는 기간 동안에도 내가 도움을 요청하기도 전에 먼저 다가와주고, 바쁜 와중에도 시간을 내서 내 발표를 함께 고민해줬다. 덕분에 끝까지 포기하지 않고 준비를 이어갈 수 있었다. 그래서 더더욱, 내가 받은 만큼은 꼭 다시 돌려줘야겠다는 생각이 들었다.
아, 이런 게 소프트 스킬이구나..!!
정말 업무적으로 바쁘고 힘든 상황에서도 내색하지 않고, 먼저 손을 내밀어 도와주는 모습. 단순히 일을 잘하는 것을 넘어서, 함께 일하고 싶은 사람이 된다는 게 어떤 의미인지 조금은 알 것 같았다. 그 누가 이런 사람들과 함께하고 싶지 않을 수 있을까.
이번 테코톡을 진행하면서 단순히 발표 하나를 끝낸 것이 아니라, 앞으로 내가 어떤 사람이 되어야 하는지에 대한 방향을 다시 생각해볼 수 있었던 것 같다.
이번 미션은 타입스크립트를 공부하면서 학습법까지 수정하는, 개인적으로 정말 마음에 드는 미션이었다.
타입스크립트 문제를 풀면서 필요한 정보들을 전투 학습을 통해 사용 가능한 모든 수단을 동원해서 공부해 나간다. 이때 학습 로그를 작성하면서 주기적으로 회고를 하고, 학습법을 의식적으로 개선해 나가는 방식으로 진행되었다. 나는 이런 소프트 스킬적인 부분을 정말 중요하게 생각하고 있고, 내가 우아한테크코스에 온 이유기도 했다. 그래서 이번 미션이 정말 좋았다.
하지만 테코톡과 겹쳐서 제대로 몰입을 할 수가 없는 상황이었다. 물론 정해진 기한 내에 정량적인 미션 요구사항을 작성하고 만들 수는 있겠지만, 온전히 몰입하지 않고 결과물만 내는 것으로는 얻어가는 것이 없을 것이라는 생각이 들었다. 그래서 리뷰어분께 양해를 구하고 하루 정도 더 추가적으로 미션을 수행해도 괜찮은지 여쭤보았고, 리뷰어분께서 정말 너그럽게 봐주신 덕분에 조금 더 시간을 투자해서 미션을 수행할 수 있었다.
이번 미션에서 나는 정말 빠르게 성장하는 사람들은 어떻게 사고하고 공부하는지를 알고 싶었다. 내 주변 우아한테크코스 크루들을 보면 정말 빠른 속도로 성장하는 게 눈에 보인다. 당장 하루 이틀 전만 해도 타입스크립트에 대해서 전혀 모르던 사람들이 마음대로 제네릭을 사용하고 함수 시그니처를 정의하고, 자바스크립트 문법도 잘 모르던 사람들이 함수형 사고를 일주일 만에 설명하고 적용하는 모습을 보면서 정말 성장이 빠르구나를 느낄 수 있었다. 이런 사람들은 어떤 학습법을 가지고 있고, 머릿속에서 개념을 어떤 프로세스로 정리하는지를 알고 그대로 흡수해보고 싶었다.
일단 틈틈이 크루 한 명씩 개인 인터뷰를 진행했었다. 총 6명을 인터뷰 진행했고, 물어본 질문은 크게 아래의 3가지였다.
간단하게 인터뷰를 하면서 끄적인 내용들은 아래와 같다.
이처럼 가설 세우고 찾아보는 프로세스를 진행하다 보면 공부가 된다. 결국에는 의문을 가진 사람이 벽을 넘는다. 책 읽는 정도는 정말 당연한 거다.
인터뷰를 하면서 많은 인사이트를 얻을 수 있었고, 이를 바탕으로 다음에 내가 시도해볼 몇 가지의 액션 아이템을 한번 만들어 보았다.
우선적으로 5번을 적용해보고자 한다. 앞으로 공부해 나가는 모든 것에 질문을 달아보면서 학습의 깊이를 늘려가 보고 싶다.
6주 차부터는 영화 리뷰 미션이 시작됐다. 나는 엄청 개발을 잘하는 장고 웹 프레임워크 기여자와 페어 미션을 진행하게 됐다.
개인적으로 페어 프로그래밍에서는 많은 하드 스킬을 배울 수는 없다고 생각한다. 특히나 둘 사이의 하드 스킬적으로 차이가 많이 나지 않는 경우일수록 더더욱 그렇다고 생각한다. 내가 생각하는 페어 프로그래밍은 지금 가지고 있는 하드 스킬을 소프트하게 풀어볼 수 있는 기회이다. 내 지식과 경험을 바탕으로 상대를 설득하고 지휘하기도 하고, 결국 우리 팀(페어)의 목표를 이룰 수 있게 하는 것이라고 생각한다. 그리고 이번 페어 미션에서 정말 많은 소프트 스킬적인 성장이 있었던 것 같다.
이번 미션을 진행하면서 페어와 엄청 싸웠다. 내가 이번 레벨 1 동안 키우고 싶은 소프트 스킬 목표는 내 주장을 정확하게 하는 것, 회의에서 1인분 이상 할 수 있도록 내 영향력을 키우는 것이었다. 지금처럼 작은 규모의 팀(2인), 게다가 꽤나 친분이 있는 인원과 어색함 없이 이야기할 수 있는 기회이다 보니, 의식적으로 더 많이 말하고 적극적으로 내 주장을 어필하려고 했고, 그만큼 많이 싸울 점들이 생겼던 것 같다.
처음에는 우리 둘 다 욕심이 과해서 23시까지 캠퍼스에서 프로그래밍 하고, 이후에 스터디 카페에 가서 스터디룸을 예약하고 새벽까지 진행했다. 미션 이외에도 할 게 너무 많다 보니까 미션을 빨리 끝내고 우리 할 거 하자는 마인드였는데, 생각보다 딜레이 된 점들이 많았다.

첫날의 경우에는 유틸을 분리해야 한다와 분리하지 않아야 한다, 이 둘 사이에서 많은 싸움이 있었다. fetch에 대해서 에러/로딩/성공 상태를 다루기 위해서 이 일만 진행하는 fetcher라는 유틸을 만들자고 이야기를 했었다. 하지만 페어는 이걸 굳이? 만든다면 왜 지금? 이라는 생각으로 내 주장을 반박했다. 내 입장에서는 아무리 봐도 훨씬 개발이 편해지고, 코드가 깔끔해지는 게 보였는데, 페어에게는 그렇지 않았던 것 같다.
효용성을 설명하기 위해서 내가 간단히 해당 유틸을 만들어서 적용한 코드를 보여주면서 설명하는데, 급하게 개발하다 보니 기존에 잘 되던 기능에 버그가 생겼었다. 페어는 이에 따라서 오히려 더 복잡해졌고 에러도 생기지 않았느냐, 도입하지 않았다면 에러를 수정하기 쉬웠을 텐데 오히려 복잡도가 높아져서 에러를 찾는 데 더 많은 시간을 쓰게 됐다고 말했다. 사실 지금 복잡해지더라도 시간을 투자하면 훨씬 깔끔하고 좋은 코드를 작성할 수 있고, 앞으로가 훨씬 편해지고 작업 속도도 빨라질 텐데 하면서 처음에는 이해를 하지 못했다.
이후에도 작업을 하면서 함수의 역할이 하나가 아닌 경우를 보고 이를 다른 함수로 분리하자는 말을 했었는데, 왜 해야 하는지, 해야 한다면 왜 지금 해야 하는지에 대해서 또 싸웠다. 분리한다면 3줄 정도 더 쓰게 될 텐데 몇 초가 걸린다고.. 당시에는 속도적인 측면에서도 그렇고 시점 측면에서도 그렇고 내 입장에서는 너무나도 비효율적이고 재사용도, 수정도 쉽지 않은 코드가 작성되는 게 너무 마음이 아팠었다.
페어와 집이 같은 방향이라서 걸어가면서 관련해서 많은 이야기를 했었다. 페어는 많은 오픈 소스 경험이 있고, 장고 코리아에서 여러 기여자들을 리뷰하는 사람이었다. 정말 개발을 잘하는 사람들과 함께 코딩하는 사람이었다. 그러면서 깨달은 점은 꼭 좋은 코드에 대한 강박이 없어야 한다는 거였다고 말해줬다. 정말 코드를 잘 짜는 사람들도 매번 좋은 코드만을 추구하지는 않는다고. 반복되는 코드도 있고, 리팩토링할 거리가 정말 많다고. 오히려 정말 코드를 잘 짜는 사람일수록 내려놓을 줄 안다고 말해주었다. 반면에 나는 너무 좋은 코드만을 추구하는 것 같다고, 내가 성장하려면 오히려 이를 내려놓아야 한다고 말해줬다.
당시의 나는 잘 이해하지 못했었다. 나도 사실 여러 크루들과 비교했을 때 프로젝트 경험 자체는 정말 많이, 오래 했다. 실사용자도 받아보고, 관리하는 도메인 기준 MAU 3k도 찍어봤고, 정말 잘하는 사람들과 협업도 해보고 싸우기도 하고, npm 라이브러리도 내보고. 내가 이런 코딩 자세를 가진 것도 치열하게 살아오면서 쌓은 내 자산들이었다. 그런데 이를 내려놓으라니, 내가 열심히 살아왔던 과거를 부정당하는 느낌도 받았던 것 같다.
많이 혼란스러운 한 주였다. 코치와도 이와 관련해서 이야기를 해보고, 여러 크루들, 현업 개발자 지인들, 리뷰어와도 이야기를 해봤다. 그러면서 조금씩 생각을 정리해 나갔다.
현업 개발자 모두들 리팩토링의 시점과 정도에 대한 고민은 현업에서도 어려운 주제라고 했다. 그러다 보니 이를 완벽하게 해결하는 정답을 찾기보다는, 그때그때 상황에 따라서 유연하게 적절한 방법을 찾는 것이 중요하겠다는 생각이 들었다.
개인적으로는 리팩토링을 그때그때 하는 것이 결국에는 멀리 봤을 때 더 낮은 비용으로 코드를 작성할 수 있을 것이라 여전히 생각한다. 다만, 결국에 더 중요한 문제는 우리 팀이 목표를 이루느냐인 것 같다. 리팩토링 시점이나 그 정도를 논의하는 것 또한 비용이라는 생각이 들면서, 더 논리적으로 내 의견을 말하고, 수치적으로 우리가 얻을 수 있는 이점을 설명하면서 팀을 설득하는 능력이 중요하다는 생각이 들었다.
부가적으로, 혼자 작성하는 코드가 아니므로 나 또한 나만의 기준만을 고집하지 않는 것이 중요하고, 내려놓을 줄도 알아야 한다는 것도 알게 됐다. 중간 지점을 찾아보려고 하지 않았던 내 태도가 문제였던 것 같다. 이번 페어와 자주, 그리고 많이 싸웠던 건 어쩌면 내가 너무 나만의 기준을 부족한 설득력으로 주장한 것이 크지 않았나 싶기도 하면서, 페어에게 많이 미안해지기도 했다. 🙏
이번 경험을 통해서 정말 많이 성장할 수 있었던 것 같다.
미션을 한창 진행 중이던 6주 차 수요일에 7기 선배님들이 오셔서 수다 타임을 가지게 되었다. 발표도 진행되고, 직접 이야기도 해볼 수 있는 시간이었다. 나와 페어는 미션에서 가야 할 길이 멀어 아쉽게도 프론트엔드 선배님의 발표만 들었지만, 그 발표 하나가 나에게 엄청난 인사이트를 주었던 것 같다.
"우리는 서로 다른 우아한테크코스를 다니고 있다."
당장 작년과 올해를 비교해도 진행하는 커리큘럼이 다르고, 프리코스 미션도, 코치와 크루들도 다르다. 올해만 보더라도 크루들의 실력이 다르고, 살아온 경험들이 다르고, 그러다 보니 미션을 진행하면서 느끼는 난이도나 감정도, 얻어갈 수 있는 것도 모두 다르다.
그렇기에 남과 비교하지 말고, 본인만의 속도로 얻어갈 점을 정해서 얻어가라. 정말 많은 활동을 했지만, 결국 남는 것은 무언가를 정말 깊이 있게 파본 경험이었다. 결론적으로 우아한테크코스에서 본인만의 페이스로 한 가지를 깊게 파보는 경험을 해라!
이 이야기가 너무나도 인상 깊었다.
돌이켜보니 나는 미션마다, 매 수업마다, 페어 프로그래밍이나 다른 사람들과 이야기를 나눌 수 있는 기회마다 얻어갈 목표점을 매번 명확히 설정하지 않았던 것 같다. 큰 틀에서 이번 레벨 1에서는 내 소프트 스킬을 괜찮은 수준으로 올릴 거야!라는 큰 목표만 잡았을 뿐, 이에 대한 세세한 목표는 잡지 않았다.
앞으로 얼마 남지 않은 기간 동안 빠르게 목표를 정하고 의식적으로 노력해보는 것이 중요할 것 같다.