우아한테크코스에 입학한 지도 벌써 2달이 지났다. (글을 작성하는 지금은 레벨1 방학 마지막 날이다.)
좋았던 부분은 더 나은 방향으로 발전시킬 수 있도록, 부족했던 부분은 다음엔 더 잘할 수 있도록 기억하고자 한다.
기술적인 회고보다는 내가 우아한테크코스에서 활동하며 변화된 마음을 중점적으로 작성해보려고 한다.
우아한테크코스를 검색하면 어렵지 않게 연극을 한다.
라는 정보를 찾아볼 수 있다. 이번에는 다를 수 있지 않을까? 라는 기대가 있었지만, 정확히 첫날 OT에서 그 기대는 무너졌다.
내향적인 나는 감히 (해보지 않았지만) 모든 미션보다 연극이 가장 힘들 것으로 생각했다.
우리 조가 연극하기 바로 직전에 나의 빨대 상태이다. (많이 불안했다.)
연극을 떠올리면 분명 쉽지 않았던 경험이었다. 하지만 같은 문제(연극)를 함께 해결해야 하는 크루들이 있었기에 준비 과정은 오히려 즐겁게 느껴졌다. 더 재미있는 연극을 만들기 위해 각자의 부끄러움을 내려놓고, 대사와 동선을 수없이 바꾸며, 시간을 재고 맞춰가며 계속해서 연습했다. 그 과정에서 일종의 프로페셔널리즘을 느낄 수 있었다. (가콩, 모다, 하루, 슬링키 최고!)
연극을 준비하면서는 다른 조를 의식하지 않으려고 노력했다. 경쟁 구도가 아니라, 모든 크루가 함께 하나의 연극이라는 문제를 해결해 나가는 과정이라고 생각하려 했다. 이런 마음가짐 덕분에 연습도 훨씬 잘할 수 있었던 것 같다. (연극을 보면서는 다들 준비성이 철저하다고 느끼긴 했다.)
아울러 우아한테크코스는 같은 커리큘럼을 각자의 속도와 방식으로 풀어나가는 구조다. 자연스럽게 비교가 생기기 쉬운 환경
인 셈이다. 각자의 미션 결과물은 늘 다른 형태이다. 서로의 코드를 구경하며 감탄할 때도 많았다. 연극을 준비할 때처럼, 앞으로도 남을 지나치게 의식하기보단 나만의 템포를 지키며 꾸준히 나아가면
좋을 것 같다.
연극 도중에 부끄러움을 넘어선 반응인 웃음을 참지 못했다. 이 웃음이 관람하는 크루들에게 전해져서 좋게 넘어갈 수 있었으나, 같이 연극을 하는 크루에게도 전해졌다. 웃음을 참지 못해 무대가 잠시 멈췄던 점은 아쉬움으로 남았다. 개인적인 부끄러움이 팀의 결과물에 영향을 주었기에 더 신중할 필요
가 있었다.
연극이 끝난 후 단순히 이건 연극이니까 작업이나 미션과는 다르다고 회피하려는 생각도 했었다. 그러나 결국 함께 문제를 해결하는 과정이므로 일과 크게 다를 게 없다고 생각한다. 개인적인 부분을 더 내려두고 팀 결과물에 퀄리티를 위해 더욱 노력
해야겠다는 마음이 들었다.
미션의 반은 다른 크루와 페어 프로그래밍으로 진행된다. 더 정확히는 초기 설계 및 구현을 페어 프로그래밍으로 진행하고 리팩토링이나 추가되는 새로운 기능 구현을 혼자서 하게 된다.
페어 프로그래밍은 언제나 설레고 두려웠지만, 연극을 마친 후라 그런지 무엇이든 할 수 있을 것 같았다.
우아한테크코스에 오기 전부터 개발 경험이 있었고, 알고 있는 지식을 설명하는 걸 좋아했다.
그래서 페어 프로그래밍을 할 때는 내가 먼저 토론 주제를 꺼내는 경우가 많았다.
설명하는 과정에서 나 또한 더 나은 방식을 발견하곤 했다.
이런 태도는 페어에게도 긍정적으로 전달된 것 같다.
페어로 만났던 크루들의 피드백
- 서로의 의견을 존중하며 더 나은 결론에 도달하도록 이끌어준 것이 좋았습니다. 또한 자신이 어떠한 의견을 가졌는지, 이에 대해 어떻게 생각하는지 등등 고집없이 어떠한 피드백도 받아들이겠다는 마음가짐으로 페어프로그랭에 임해주셔서 좋았습니다.
- 자신이 생각한 의견에 대해서 설명하고 상대의 의견을 들은 후 그냥 넘어가지 않고 각각의 장단점을 비교하는 모습이 좋았습니다. 이 과정을 통해 선택이 좀 더 수월해질 수 있었던 것 같습니다. 자신이 사용하는 방식에 대해 구체적인 자신만의 기준과 이유가 있는 것이 강점인 것 같습니다.
- 협업 과정에서 페어가 적극적으로 고민되는 지점에 대해서 물어보며 생각의 흐름을 같이 맞춰나가려는 소통 방식이 기억에 남습니다. 현재 진행하고 있는 방향에 대한 가지고 있던 모호한 의문에 대한 근거를 되물으며 의문을 구체화했던 점이 인상 깊었습니다.
의견을 명확히 설명하면서도 상대방의 관점을 묻고, 장단점을 비교해보는 방식이 긍정적으로 작용한 것 같다. 이런 방식이 효과적이라고 느껴져서, 이후 미션에서도 의식적으로 같은 접근을 계속 시도하고 있다.
앞으로도 이 방향을 유지하며 더 나은 협업을 시도해보고 싶다.
주도적으로 대화를 이끌다 보니, 가끔 이야기의 길이가 길어지는 경우가 많았다. 너무 작은 부분까지 깊이 파고들어 전체 속도를 늦추는 순간이 생기기도 했다.
페어로 만났던 크루들의 피드백
- 몇 안되지만 한번씩 다른 길로 깊이 빠질 때가 있었습니다. 요구사항에 관한 부분이 아닌 다른 것에 대해 너무 깊이 생각하고 이러한 것들로 시간을 빼앗길때가 있었습니다.
- 개발할 때 먼 미래를 보고 설계하는 것도 좋지만, 아직 일어나지 않은 일을 너무 걱정하기보다 지금 당장 적절한 코드를 작성하는 것도 좋을 것 같습니다.
- 자신의 의견을 말할 때 상대가 이해할 수 있도록 요점을 정리해서 다시 말하거나, 상대방이 이해할 수 있도록 기다려 준다면 더 원활한 협업을 할 수 있을 것 같습니다.
전반적으로 지나치게 깊은 고민으로 인해 시간 관리가 어려울 수 있다
는 피드백이었다. 나 역시 공감했다.
예를 들어, 블랙잭 미션에서 ACE 카드의 점수를 1 또는 11로 처리하는 방식에 대해 꽤 오래 고민했다. 나는 코드에서 이 부분을 명확히 표현해야 한다고 생각했지만, 페어는 우선 조건문으로 간단히 구현하고 나중에 리팩터링하자고 제안했다. 지금 돌이켜보면, 마감기한을 고려했을 때 페어의 제안이 훨씬 현실적이었다.
토론에서 에너지를 소모한 후 구현 단계에서 집중력이 떨어진 경험도 있었다. 당장 구현에 영향을 주지 않는 고민은 우선순위를 낮추고, 노션에 정리해두었다가 리팩토링 단계에서 다시 다루는 방식이 더 효율적일 것 같다는 생각을 하게 되었다. 다음 레벨에서는 이 전략을 적극적으로 실험해보려 한다.
우아한테크코스에서 가장 기대했던 것 중 하나가 코드 리뷰였다.
현업자의 시선을 통해 내 코드를 평가받을 수 있다는 점이 엄청나게 귀하게 느껴졌다.
하지만 리뷰를 받는다
는 생각이 어느 순간 정답이 있고, 평가받는 것이다
라는 압박감으로 바뀌었다. 정답은 없다고 말하면서도, 내가 맞았는지 틀렸는지를 찾으려는 마음이 들었다. 그러다 보니 리뷰를 요청하는 글을 쓸 때도 매우 조심스러워졌다. 이게 맞을까?
, 이걸 질문해도 될까?
, 다른 것을 더 물어보는 게 낫지 않을까?
고민하며 코멘트를 남기는 데 너무 많은 시간이 들었다. 특히 내 질문 자체를 스스로 평가하는 데에 시간을 많이 썼다.
레벨1이 끝나고 우아한테크코스에서 제공해준 코드리뷰 가이드 중 문구 하나에 크게 공감했다.
리뷰어의 역할은, 코드 경찰이 아니랍니다
코드 리뷰어는 과제를 검사하고 채점하는 조교가 아니다. 채점하듯이 코드리뷰에서 잘못된 점, 아쉬운 부분을 모두 찾아내는 것이 코드리뷰의 목적이 아니다. 코드 리뷰어가 테스트를 담당하는 QA도 아니다. 코드리뷰를 요청하기 전에 전체적인 테스트를 실행해보는 것은 개발자가 기본적으로 해야 할 일이다. 리뷰어는 필수로 지켜져야 하는 사항이 지켜졌는지 크로스 체크하고, 좀 더 나은 코드가 될 수 있게 코드 작성자를 지원하는 역할이다. 코드 작성자가 내가 쓴 코드에 대해 1차적인 오너십을 가진다.
문구를 보며 마음이 조금은 놓였던 것 같다. 틀리지 않기 위한 글
이 아니라 이 방향이 왜 맞다고 생각했는지 설명하는 글
을 쓰기 위해 노력할 것이다.
리뷰어 피드백
- 본인의 주장을 근거와 같이 달아주는 점이 좋았습니다.
- 질문을 텍스트로 잘 정리해주셔서 이해하기 수월했습니다. 피드백에 대한 본인의 생각을 코멘트로 모두 남겨주어서 어떤 생각을 가졌는지 알 수 있어 좋았습니다.
- PR description 및 comment를 통해 스스로 느낀 아쉬운 점과 궁금증, 고민, 그리고 변경 사항 등을 잘 정리하여 공유해준 덕분에, 코드 리뷰 과정에 큰 도움이 되었습니다. 리뷰를 반영하는 과정에서 이뤄진 의식 흐름을 코멘트로 남겨준 덕분에, 리뷰가 의도대로 반영되었는지 확인하기 좋았으며 리뷰이에게 부족한 부분이 무엇인지 파악하여 학습을 유도하기 좋았습니다.
비록 생각을 정리하는 데 (정말!) 오랜 시간이 걸렸지만, 리뷰어 분들이 남겨준 피드백을 보며 보람을 느낄 수 있었다. 내가 고심 끝에 쓴 문장들이, 내 의도를 전달하는 데에 도움이 되었다는 것이 좋았다.
하지만 한편으로는 이런 생각도 들었다.
"실제로 현업에서는 이렇게까지 모든 과정을 기록하며 개발할 수 있을까?”
비슷한 고민을 코치에게도 드렸던 적이 있다.
코치는 오히려 지금처럼 의도를 잘 전달하기 위한 훈련
을 잘하고 있다고 말씀해주셨고, 숙련되면 자연스럽게 속도가 붙거나 적절한 타협점을 찾을 수 있을 테니 조급해하지 않아도 된다고 말씀해주셨다.
지금 돌이켜보면, 정답이 없다는 말에 수긍하면서도,
어딘가엔 정답처럼 느껴지는 그럴싸한 답
을 찾으려 했던 것 같다.
그래서 나의 근거가 있음에도 자신 있게 이야기하지 못했던 순간들이 아쉽게 남는다.
리뷰어의 질문에 그럴싸한 답을 찾아야만 답을 할 수 있었고,
그 과정에서 의도를 잘 파악하지 못했음에도 나만의 그럴싸한 답을 찾아 답변하던 순간이 있었다.
다양한 망설임이 때론 내 의도를 흐리게 만들기도 했고, 스스로도 부족한 답변이라는 걸 느끼며 더 아쉬움이 남았다. 의도를 잘 파악하지 못한 것 같다면, 직접 물어보는 것이 더 나은 자세인 것 같다.
유강스는 유연성 강화 스터디를 말한다. 따로 작성했던 유강스 회고가 있어서 남겨봤다.
방학은 약 열흘 정도였다.
공부하지 말라는 말에 끝내주게 놀았다.
여행을 두 번이나 다녀왔다.
후회는 전혀 없지만, 뭔가 군인 휴가 복귀하는 마음이 든다..
우아한테크코스에서의 두 달은 나의 태도와 생각을 변화시켰다.
앞으로의 시간도, 함께 성장하며 더 나은 나를 만들어가고 싶다.
실패하더라도 우아한테크코스의 학습 목표 이외의 공부
를 해보고 싶다. 지금은 우아한테크코스가 제시한 학습 과정에 거의 모든 시간을 쏟았다. 자율적으로 나만의 공부 시간도 가지며 살아보면 좋을 것 같다고 느꼈다.
백엔드 파이팅~