우아한테크코스 글쓰기 아카이브

 

[LV.1]우아한테크코스 한달 생활기

매일 만나는 데일리 미팅

우아한테크코스는 한 명의 코치와 13~14명 정도의 크루들이 함께 데일리 미팅을 진행한다. 내가 속한 데일리 조는 매일 마스터가 정해진다. 마스터들이 대화 할 주제를 마련해 온다. 코로나때문에 온라인으로 크루들을 만나야 했다. Gather라는 가상공간과 아바타를 이용한 화상 미팅 서비스를 알게 되었다. 그렇게 우리의 모임은 Gather안에서 진행 되었다. 그곳에서 크루들이 만들어 놓은 해변가도 같이 거닐고 OX게임도 진행하였다. 첫 시작 부터 크루들을 못만나는 것이 아쉬웠었다. 그러나 Gather 덕분에 매일 아침을 즐겁게 시작할 수 있었다. 나름 대로 코로나 시국을 잘 헤쳐나가고 있었다!

연극 대신 보라

우아한 테크코스 3기에서는 "연극" 대신 "보이는 라디오"를 하게 되었다. 누구나 한번 쯤 해보지 않을 일을 앞에 두고 겁을 먹은 적이 있을 것이다. 보이는 라디오 미션을 받은 내가 그랬다. 어떻게 해야 할지 모르는 요구사항도 주어졌다. 줌에서 한 사람당 배경을 4번씩 바꾸면서 라디오를 진행해야 한다. 난 줌을 우테코와서 거의 처음 써봤다. 그리고 만난지 일주일 정도 지난 크루들과 보이는 라디오를 준비해야 해야 했다. '잘 할 수 있을까?' 걱정이 앞섰다.

그러나 내 걱정과는 반대로 보이는 라디오는 꽤 성공적으로 끝이 났다. 일단 주제가 빨리 정해 졌다. 그리고 일정시간 상의 후 바로 실전 연습에 돌입했다. 머리를 싸매고 고민하는 시간이 길지 않게 했다. 직접 연습을 하며 대본을 그때그때 대본을 수정했다. 결과는 성공적이었다!

보이는 라디오를 통해 실행의 중요성에 대해 깨닫게 되었다. 무언가를 시작하기 위해 준비하는 기간이 길어질 수록 두려움은 커져간다. 불완전한 완벽주의가 발동하는 것이다. 누구든 완벽하기란 어렵다. 아무것도 하지 않으면 아무것도 일어나지 않는다. 완벽해야 한다는 두려움 그것을 버려야 한다. 그럴 때 빨리 실행을 하는 것은 중요하다. 생각의 미궁 속을 빨리 벗어 날 수 있도록 해주기 때문이다. 이번 보이는 라디오를 통해 행동 하는 것의 중요성을 다시 느끼게 되었다.

페어 프로그래밍

우테코는 짝 프로그래밍이라는 제도가 있다. 짝 프로그래밍은 네비게이터와 드라이버가 있다. 네비게이터는 프로그래밍을 하며 전체적으로 의견을 제시한다. 드라이버는 네비게이터의 안내를 받으며 코드를 작성한다. 드라이버라고 무조건 네비게이터의 말을 따를 필요는 없다. 드라이버 또한 자신의 의견을 말해야 한다. 의미있는 커뮤니케이션을 많이 할 수록 건강한 페어 프로그래밍이 된다!

페어 프로그래밍 전에 실력이 나보다 월등한 페어를 만날까봐 걱정했다. 잘하는 페어를 만나면 나는 많이 배울 수 있다. 그러나 내 페어는 과연 나와의 프로그래밍이 재미있을까 라는 의문이 들었다. 그러나 걱정을 해도 걱정은 없어지지 않는다. 할 수 있는 한 진지하게 미션에 임하기로 하였다. 어느 상황에서도 최선을 다하기로 결심했다!

처음에는 사실 장점이 무엇인지 잘 알지 못했다. 지금까지 총 4번의 페어 프로그래밍을 진행했다. 일단 페어 프로그래밍을 하면 평소보다 말을 5배정도 많이 하게 된다. 그 만큼 상대방과 의사소통을 많이 할 수 있다. 확률적으로(?) 영양가 있는 커뮤니케이션이 발생할 확률도 높다! 그래서 이전 보다 페어 프로그래밍에 대해 긍정적으로 생각하게 되었다.

혼자가 아니라 둘이 미션을 진행하다 보니 의견이 부딪힐 때가 있다. 그 때마다 내 생각을 페어에게 잘 전달해야 한다. 페어 프로그래밍을 하면서 의사소통의 중요성을 정말 많이 깨닫게 되었다. 페어와 대화하면서 논리정연하지 못한 나에게 답답함을 느꼈다. 앞으로 더욱 더 커뮤니케이션을 잘하고 싶다는 생각이 들었다.

제가.. 책을 읽어요

이전에 "개발관련 책을 한권 다 읽은 적이 있는가?"에 대한 질문에 자신있게 답을 못했을 것이다. 시험공부를 위해 급하게 읽었다. 시험을 위해서 빨리 머리속에 지식을 넣어야 했다. 또한 눈앞의 이슈를 해결하기 위해서 슬쩍 찾아본 것이 다였다. 내 것으로 만들기 보다는 휘발성이 짙은 공부를 많이 했었다. 나중에 가면 내가 뭘 공부했는지 설명을 못했다.

"의식적인 연습" 나는 그것을 하지 못하고 있었다. 그냥 흐르는 대로 공부했다고 개발실력이 느는 것이 아니었다. 나 스스로 부족한 것이 무엇인지 찾아야 한다. 그런 다음 그것에 대해 직접 찾아보고 부딪히며 지식을 습득해야 한다.

우테코에서 떠먹여 주는 것 보다 공부에 집중 할 수 있는 환경을 제공해 주겠다고 했다. 이러한 환경조성을 위해 크루들에게 많은 경험을 하게 해주었다. 나는 특히 학습로그와 필독서를 정해 준 것이 많은 도움이 되었다. 우테코를 통해 내 학습 방식이 건강하지 못했음을 깨달았다. 내 학습방식에 많은 변화를 줄 수 있어서 기쁘다.

 

[LV.2] 우테코에서 찾은 나만의 효과적인 공부법

제가 2021년에 우테코에 있었을 때...

우리는 무언가를 끝냈을 때, "어땠어?" 라는 질문을 받는다. 과거의 나는 갑자기 머리속이 뒤엉키면서 "음.. 재미있었어"와 같은 형식적인 대답을 하곤 했다. 우테코를 시작하고나서 "우테코 어때?"라는 질문을 많이 받았다 . 그때도 "좋아", "많이 배우고 있어"와 같이 짤막한 대답을 했었다.

레벨 1 두번째 미션 부터 학습로그를 작성해야 한다. 학습로그 작성 가이드에서 "메타인지"라는 단어가 자주 나온다. 메타인지란 자신의 생각에 대해 판단하는 능력을 말한다. 나는 학습로그를 어떤 개념에 대해 공부를 했고, 이번 미션에서 어떻게 적용했는지 작성하고 있다. 학습로그를 작성 할 때마다 스스로를 되돌아 봐야 한다. 돌아보는 과정에서 과거의 나에 대한 정리가 되는 동시에 미래의 내가 어떠한 방향으로 나아가야 하는지 생각하게 된다.

학습로그 작성에서 더 나아가 3명의 크루들이 뭉쳐 학습로그 토론을 해야 한다. 토론 시작 전에는 늘 무엇을 말해야 하나 걱정이 앞선다. 앞에서 언급한 것처럼 당황해서 아무 말도 못할 것 같다. 그러나 걱정과 달리 나는 학습로그 토론에서 생각보다 말을 잘했다! 스스로 한번 정리해 본 것에 대해서는 말이 술술 잘 나온다. 여기서 "되돌아 본다"라는 것의 중요성을 다시 한번 깨닫는다.

우테코를 진행하면서 "회고"에 대한 얘기를 많이 듣는다. 어떤 크루는 미션이 끝날 때마다 페어와 회고를 한다고 한다. 어떤 크루는 매일 자기가 배운 것을 정리하는 TIL을 작성한다고 한다. 이제 나도 "회고"라는 것을 자주 하고 있다. 여기에는 꼭 내가 무엇을 느꼈는지가 들어가야 한다. 흘러가는 것들을 그냥 두지 않고 의미있게 붙잡아 두는 연습을 하고 있다.

우테코 레벨 1, 레벨2를 거치면서 많은 미션들을 수행했고, 수행하고 있다. 코드리뷰를 받는다. 그리고 많은 수업들이 진행되었고 수업마다 영양가 있는 질문들이 많이 나온다. 그리고 스터디를 진행한다. 테코톡를 듣는다.... 이렇게 우테코 과정 속에서 나는 많은 지식들을 얻는다. 내가 생각하는 공부 방법은 이렇게 지나쳐 가는 것들을 순간에 기록하는 것이다. 그리고 한 번 다시 되돌아 보는 것이다. 그리고 여기서 내가 몰랐던 게 무엇인지, 앞으로 어떤 것을 공부하는지 추려낸다. 매일 양질의 지식을 얻을 수 있는 우테코는 이러한 공부 방법을 진행하기에 최적의 환경이다. 나는 이러한 것들을 놓치지 않고 기록 하고, 다시 되돌아 보고 내 것으로 만들고 있다.

이번 모의 면접에서 받은 인상깊은 피드백이 있다.

"잘 알고 있는 것을 설명할 때와 잘 모르는 것을 설명 할 때 확연히 티가 난다."

다른 사람은 어떨지 몰라도 나는 정리되지 않은 것에 대해 말하는 게 어렵다. 보완할 방법은 계속해서 스스로를 회고하는 것이라는 걸 깨달았다. 앞으로 누군가 나에게 "우테코 어땠어?" 라는 질문을 한다면, 예전과 같이 당황하며 짤막한 대답을 하지 않을 것이다. "제가 2021년에 우테코에 있었을 때..." 로 시작하는 투머치 토커가 될 수 있을 정도로 회고를 해야 겠다!

의식적인 연습 근데 이제 페어를 곁들인

우테코를 시작하기 전에는 피드백을 줄 사람도, 기술에 대해 토론을 할 사람도 주변에 없었다. 무엇이 부족한지, 무엇을 배워야 하는지 혼자 결정했다. 혼자 하니 포기도 쉬워졌다. 눈앞에 문제점을 해결하느라 컴포트 존을 벗어나지 못했다. 조금만 어려우면 다른 방법을 찾거나 그냥 놓아버렸다. 의식적인 연습이 아니라 흘러가는 대로 학습하고 있었다. 그러나 우테코 과정에서 페어 프로그래밍을 하게 되면서 의식적인 연습의 중요성을 느꼈다.

페어 프로그래밍을 진행하면서 "단축키 쓰기"에 대한 의식적인 연습을 강제로 하게 되었다. 예전에 단축키를 잘 사용하지 않았던 터라 처음에는 불편했다. 점차 익숙해지면서 이것만큼 편한게 없구나 라는 걸 알게 되었다. 이제는 단축키를 사용하지 않으면 바로 "아 맞다"를 시전한다. 이제는 단축키를 사용하는 걸 의식하게 되었다! 앞으로는 좀 더 현란하게 단축키를 사용하는 개발자가 되어야 겠다고 다짐 했다.

TDD로 개발하기 또한 페어 프로그래밍을 통해 확실하게 연습할 수 있었다. TDD는 계속 해서 연습해 왔던 부분이긴 하지만, 가끔 나도 모르게 구현부터 시작 할 때가 있다. 그럼 옆에서 페어가 말해준다. "안돼 테스트 코드 먼저 짜야지." 만약 혼자 했었다면 구현을 먼저 하고 있었을 지도 모른다. 페어와 함께해서 기분 좋은 제약이 생기고, 이를 통해 의식적인 연습을 할 수 있었다. 이러한 연습을 마치고 나면 더 나아가고 싶다는 생각이 든다. 그래서 이번 지하철 노선도 미션에서는 "테스트 코드가 다 통과 될 때까지 웹으로 확인하지 않기" 라는 셀프 퀘스트를 만들었다. 이를 통해 이전보다 기능목록 작성을 꼼꼼히 할 수 있었다.

익숙하지 않은 부분을 연습하면 불편할 수 있다. 그러나 무엇이든 익숙해지기 마련이다. 의식적인 연습을 포기 하지만 않으면 된다. 페어 프로그래밍은 이러한 과정에서 내가 포기하지 않도록 도와주었다.

우테코 이전, 혼자서 아무런 목적도 없이 코딩했었던 내가 페어 프로그래밍을 통해 의식적인 연습의 중요성을 깨달았다. 이제는 스스로 아무 생각없이 머물러 있지 않고 의식적인 연습을 통해 컴포트 존을 벗어나는 법을 연마해 나가야 겠다.

 

[LV.3]팀 프로젝트가 나에게 남긴 것

어떠한 마음가짐으로 팀프로젝트에 임했는가

레벨 3이 시작되고 나서 "함께자라기"라는 책을 읽었다. 전문가일수록 사회적 기술과 사회적 인프라를 중요하게 생각한다는 것이다. 그 중 굉장히 인상깊은 부분이 있었다. 조직 내에서 새로운 기술을 도입하고자 노력하였는데, 조직원들이 수동적이고 보수적이어서 실패하였다는 청중이 있었다. 저자는 그 청중에게 "그 조직원들이 선생님을 좋아하나요?"라는 질문을 했다고 한다. 이 단락을 읽고 머리를 한 대 맞은 듯 멍해졌다. (왜 상처는 나도 받는가..🥺 ) 많은 심리학 책에서 나를 싫어하는 사람은 어디에나 있고 신경쓰지 말라고 한다. 그러나 조직관계에서는 다른 사람들이 나를 좋아하게 하기 위해서 노력해야 하는 것도 현실이다.

팀 프로젝트를 시작 하기 전에는 내가 아직 부족하다는 생각이 많이 들었다. 그래서 "어떻게든 팀에 도움이 되는 사람이 되자"라는 마음가짐이 컸다. 그 중 가장 기본적인 것이 적극적으로 참여하는 것이라고 생각했다. 적극적이려면 지식이 있어야 했다. 그래서 Oauth2, S3등 새로운 기술을 도입하려고 했을 때 미리 한번 연습삼아 구현을 해보고 참여하였다. 또한 서비스 적으로도 의견을 활발하게 내려고 하였다. '이번에 낸 배너 문구를 각자 생각해 보는 건 어때' 라는 의견이 받아 들여져서 기분이 좋았다!

그러나 이번 스프린트에 '약관'작성을 팀끼리 같이 해야하는 일이 있었다. 처음에 나는 약관을 한번도 작성해 보지 않아서 부담스러웠었다. 막상 참여하고 보니 약관을 작성하면서 도메인에 대한 이해도 명확해지고 결제, 환불에 대한 플로우를 명확하게 잡을 수 있었다. 어디에서나 배울 것이 있었다.

집단이 팀은 아니다.

이번 3번째 데모데이를 하기 전날 거의 새벽 3시까지 팀프로젝트를 하였다. 줌으로 진행되어 목소리가 끊길 때도 많고, 밤이라 피곤하고, 게다가 열대야 까지 있었다. 짜증날 법한 상황이다. 그러나 이상하게도 화가 나지 않았다. 왜 그런걸까? 이 모든 건 우테코에서 받은 회식 쿠폰으로 부터 비롯된 것 같다. 아니면 팀문화로 정한 반말모드의 힘인가? 혹은 우리 팀 모두 즐기게된 게임인 브롤스타즈 덕분 일지도 모르겠다.

우리가 처음 딱 모였을 때는 집단이 었을지도 모른다. 그러나 같이 팀 문화를 고민하고, 서비스에 대해 토론한다. 소소하게는 데일리에서 오늘 먹을 점심을 공유하고 서로가 어떤 MBTI인지 말한다. 이렇게 점차 우리는 팀이 되어가고 있었다. 처음 시작때보다 단톡방이 훨씬 활발해졌다. 메시지로 대화하다가 잘 안풀리면 바로 줌 ㄱㄱ를 외친다. 이러한 것들만 봐도 팀이 되어가고 있는 증거인 것 같다.

 

[LV.4]내가 꿈꾸는 프로그래머로서의 삶

나는 왜 프로그래머로 일하고 싶을까.

내가 다녔던 학과에서는 2학년 때부터 수업이 영어로 진행된다. 안타깝게도 운영체제, 네트워크, 데이터베이스같이 이해가 중요한 CS 수업들도 영어로 진행되었다. 나는 영어를 잘 못했기 때문에 지식을 어떻게 영어로 잘 서술할 것인지 암기하는 식으로 공부했다. 그때는 따라가기 바빠 공부에 재미를 느끼지 못했다.

그러던 도중 PHP와 데이터베이스를 사용해서 웹페이지를 만드는 수업을 듣게 되었다. 동아리 모집을 하는 웹페이지를 만들었다. 프로젝트를 하는 동안은 시간이 정말 순식간에 사라졌다. 생각대로 잘 안 될 때는 스트레스도 받았지만, 해결되었을 때는 그런 스트레스도 다 날아가 버렸다. 그리고 그때 문득 하루 8시간 정도 일을 하는데 내 삶을 투자해야 한다면 프로그래밍을 직업으로 삼아야겠다는 생각이 들었다.

프로그래머로서 내 목표

프로그래머로서 내 궁극적 목표는 나만의 서비스를 운영해보는 것이다. 우아한테크코스 자기소개서에서는 워홀이나 이민을 한 분들을 위한 커뮤니티 사이트를 만들고 싶다고 적었다. 현재는 생각이 좀 바뀌고 아직 고민중이긴 하지만, 커뮤니티 비슷한 서비스를 먼저 만들어 볼 것 같다.

우아한테크코스 이전에 나는 안드로이드 개발을 했었다. 그리고 안드로이드 공부에서 배운 내용을 적용하기 위해 앱을 만들어서 출시해보았다. 내가 좋아하는 게임인 리그 오브 레전드 관련 앱이었다. 두 앱 모두 활성 기기가 800대 정도로 생각보다 많이 사용주셔서 놀랐다. 그리고 누군가 내가 만든 것을 사용해주는 데에서 오는 기쁨이 매우 컸다. 이 이후에 서버까지 연동해서 서비스를 만들어보고 싶은 욕심이 생겼다. 그러나 서버 구현은 둘째치고, 배포를 어떻게 해야 하는지 방법만 찾아보다가 그렇게 시간이 흘러갔었다.

그러던 도중 우아한테크코스에서 공부를 시작하였다. 우테코 3기 막바지에 온 지금 나는 서버 배포를 할 수 있게 되었다! 예전에 막막했던 것들을 여기서 차근차근 배울 수 있었다. 앞으로 늘 생각만 하고 있던 나만의 서비스 개발을 시작 할 일만 남은건가!

앞으로

우아한테크코스 이전에 나는 무언가를 만드는 데에만 집중했었다. 결과물의 질보다 결과물을 만드는 것에 더 관심이 있었던 것 같다. 우아한테크코스에서 보낸 10개월 동안 '잘' 만든 서비스란 무엇인가에 대해 많은 공부를 하였다. 그런 지식이 이번 팀 프로젝트에 드러나 있고, 앞으로 내가 개발자로서 성장하는 데 많은 도움이 될 것 같다.

그리고 앞으로 나는 회사에 들어가 개발자로서 일을 하게 될 텐데 여기서 내가 어떤 사람이 되고 싶은지 조금 적어보겠다. 팀 프로젝트를 하면서 느낀 것은 결과물에 내 생각, 노력이 많이 반영될수록 적극성이 높아진다는 것이었다. 회사의 서비스에 주인의식을 가지고 적극 의견을 내는 개발자가 되고 싶다. 영양가 있는 의견을 내기 위해서 공부를 꾸준히 해야지..

'우아한테크코스' 카테고리의 다른 글

[테코톡]TCP/IP  (6) 2021.11.09
테스트 실행 시간 줄이기  (3) 2021.09.29
[팀프로젝트] 5,6주차  (0) 2021.08.12
배포인프라 수업 다시보기  (0) 2021.08.04
[팀프로젝트]4주차  (0) 2021.07.27

댓글



Designed by JB FACTORY