[회고] 2021년을 돌아보며
2021년을 돌아보면 인생 최고의 한 해라고 확신을 가지고 말할 수 있다.
개발자로서, 사람으로서 많이 성장했다. 또 소중한 인연을 많이 만들었다.
물론 많이 성장했다 해도 이제 진짜 개발자로 시작하는 주니어다.
우연히 최고의 교육을 받을 수 있게 됐고, 좋은 사람들과 인연을 맺었다.
좋은 코드가 무엇인지 배우고, 멋진 팀원들과 팀 프로젝트로 서비스를 만들었다.
상심이 큰 일도 있었지만 주변에 따뜻하고 멋진 사람들이 있음을 다시 한 번 확인하게 됐다.
운과 노력이 모두 최고치를 찍었던 한 해 라고 할 수 있다.
우아한테크코스 시작 전
우아한테크코스를 시작하기 전 상태는 그래프의 저 위치쯤에 있었던것 같다.
자신감은 하향곡선을 그리고 무언가를 학습하고 있지만 제대로 하고 있는지에 대한 확신도 없던 때였다.
(필요에 의해서 보다는 학습을 해야한다는 의무감에 했다.)
별로 와닿지 않는 CS 지식을 억지로 머리속에 집어넣고 어떤 웹 개발 지식을 쌓아야하는지도 막막했다.
이쯤에서 취업을 해야하지 않을까? 라고 막연하게 생각하고 여러 회사에 이력서를 넣었다.
이 때 우아한테크코스(줄여서 우테코)에도 지원했다.
2020년 말에 긍정적인 대답을 준 회사가 한 곳 있었는데 우테코의 합격 소식과 겹쳤다.
원래는 취업을 할 생각이었으나 친형이 이를 적극적으로 말리면서 우테코에 가라고 했다.
(지금은 형한테는 100만번 절 해야한다. 무시하고 취업을 선택했다면 영화 인터스텔라의 장면을 재현했을 것이다.)
우아한테크코를 알아가며
우테코는 정말 신기했다. 교육을 해주는 곳이지만 수업은 1주일에 1~2회 이마저도 1~2시간이 전부다.
그럼 무엇을 배우는가? 철저한 자기 주도 학습과 미션 기반 과정이다. 그 과정에 협업을 배우는 것도 정말 좋다.
예전에는 이렇게 풀어놓고 교육을 시켜도 되는건가 의문이 들었는데, 우테코에서는 정말 너 나 할것없이 노력한다.
그렇게 반짝반짝 빛나는 사람들을 보기 힘들것이다. 좋은 사람들과 함께 했기에 더 많이 배우고 동기부여도 됐다고 생각한다.
또 다른사람들과 경쟁하는 방식이 아닌 나 자신과의 경쟁이다.
어제의 내가 경쟁상대이고 나를 뛰어넘는 방법은 자신에게 부족한 부분이 뭔지 메타인지를 통해 깨닫고 하는 자기주도 학습이다.
왜? 를 계속해서 묻게된다. 원래 그렇게 해야하는것은 없다. 모든 것에는 이유가 있어야한다.
페어프로그래밍에서는 대부분의 시간을 왜? 로 토론하는데 보낸다.
그럼에도 그 시간이 즐거운 이유는 다들 개발에 진심이라서라고 생각한다.
페어프로그래밍이 끝나면 함께했던 크루를 평가하는데 솔직하게 평가해달라고 한다.
함께 페어를 진행했던 사람 중 '같이 일하고 싶은 동료인가?'는 별 10개를 안주고 싶은 사람이 없었다.
페어 프로그래밍을 진행함에 있어 자신에게 아쉬움이 있었다.
- 일부 개념만을 공부해서 설명하려다 '왜 그런건가요?' 혹은 '내부에는 어떻게 동작해요?' 같은 질문이 나오면 침몰했다.
- 도전적인 과제를 적극적으로 해볼걸 하는 아쉬움
- 당시에는 최선이었다고 생각하지만, 배운것 외에 한 스탭 더 나아갔으면 어땠을까 생각한다.
- 예를들어 체스 게임에 웹 소켓 서버를 구축해본다 같은!
- 페어에게 내 의견을 너무 강하게 말했다.
- 의견을 강하게 말하고 나서 페어의 의견을 물어보는 부분이 부족했다고 생각한다.
위의 아쉬움들은 남은 우테코 기간동안 보완하기 위해 노력했다.
사실 우테코 초기에는 페어 프로그래밍보다 혼자 코딩하는게 편하다고 생각했다. 그래서 페어 프로그래밍은 빠르게 끝내려고 노력했다.
지금은 페어 프로그래밍에 어느정도 익숙해졌다.
나 혼자의 생각이 아닌 둘의 생각을 나누면서 더 멋진 결과물이 나온다고 생각한다.
옆의 크루는 항상 내가 생각하지 못했던 부분을 찔러보는데 예전이면 방어적인 태도였지만, 지금은 많이 찔러주면 더 감사하다.
팀 프로젝트에서 배운 것
레벨3 부터는 팀 프로젝트를 진행했다.
'부담없이 공유하는 작고 소중한 내 토이프로젝트' 모델로 시작한 놀토(놀러오세요 토이프로젝트)라는 프로젝트다.
놀토팀은 유쾌한 분위기에 팀원 밸런스도 정말 잘맞았다.
우직하고 정적인 크루 3명과 활동적이고 동적인 크루 3명이 함께 황금밸런스를 이뤘다. (유쾌함은 6명 모두 디폴트)
덕분에 즐겁게 진행하고 내일이 기대되는 팀프로젝트였다.
커뮤니케이션
이 때쯤 우아한형제들 CEO 김범준님 유튜브 영상과 백기선님이 공유해주신 개발자 문화 주요 원칙을 봤다.
여기서 느낀것은
- 직면한 문제를 무조건 기술로 해결하려는것 보다 다양한 관점에서 문제를 바라보자.
- 실수를 용납해줘야 팀원이 용기를 가지고 다양한 의견을 낼 수 있다.(반복된 실수는 지양하고 재발하지 않도록 해야한다.)
이번 팀 프로젝트에서는 이를 반영하려고 노력했다. 특히 다른 크루의 의견을 경청하고 사소한 의견이라도 놓치지 않으려고 했다.
고맙게도 이런 부분에 팀원들도 동의해줬고 누군가 의견을 망설이면 이런말을 자주 했다.(나도 팀원들에게 여러번 들었다.)
"빨리 말해줘요. 오늘 잠 못잘거 같아요"
생각보다 이런 의견에서 캐치할 수 있는 부분들이 많았고 좋은 문화였다고 생각한다.
감정 회고
팀 프로젝트 첫 2개월은 눈뜨고 눈감을 때까지 개발만 했다. 보통 아침 10시에 회의를 시작하고 밤 11~12시까지 함께 모여 의견을 나누는 일이 많았다. 이 때는 이렇게 개발하는걸 당연하게 생각했는데, 회식 때 크루 한명이 매우 힘들었다고 솔직하게 말해줬다.
밤 10시에는 끝내고 휴식을 취하고 싶다는 의견이었다.
(해당 크루는 실력도 뛰어나고 열정도 엄청나다, 약간의 휴식이 있어야 일의 효율이 오른다는 뜻이다.)
이때는 이미 2개월이라는 시간이 흘렀을 때인데 빨리 챙겨주지 못해서 미안한 마음이 들었다.
이후에는 매주 금요일마다 솔직하게 감정을 털어놓는 감정회고를 진행했다. (이 시기에 취업에 대한 걱정으로 다들 마음도 힘들었다.)
도전과 결과에 대한 책임
놀토는 토이프로젝트를 공유하는 서비스다. 토이프로젝트 공유 글에는 대표 이미지를 올릴 수 있는데 동적인 이미지를 원하는 사용자가 있을 수 있으므로 gif 이미지도 지원하기로 했다. 하지만 gif 파일의 용량이 그렇게 큰 줄 몰랐다.
프론트엔드 크루가 gif 파일의 용량때문에 화면 응답 성능이 낮아서 mp4 파일로 변환을 필요로 했다.
냅다 받아서 하기로 했는데. 우당탕탕 하면서 밤을 새서 빠르게 구현을 했다. (gif -> mp4 변환하기 - 1)
구현은 했는데 이때부터 실행을 위한 사전작업이 생겼다.
(ffmpeg는 멀티미디어를 다룰 수 있게 해주는 프레임워크다.)
- ffmpeg 프로그램 설치
- ffmpeg 경로를 애플리케이션에게 알려주기
두 가지 작업 중 하나라도 깜빡하면 테스트 코드 실행도 안되고 애플리케이션 실행도 당연히 안됐다.
이 정도 추가작업은 괜찮지 않을까? 생각했는데 절대 아니었다. (팀원의 불편제보도 여럿 받았다)
애초에 테스트 코드를 돌리는데 있어서 로컬의 환경 세팅이 강제되고 매번 달라질 수 있다는게 있어선 안되는 일이었다.
코드를 pull 받았을때 추가작업없이 개발자가 실행만 누르는 것으로 문제가 없어야한다고 생각한다.
내가 만든 결과에 책임을 지기위해 또 한번 밤을 새웠다. (gif -> mp4 변환하기 - 2)
이외에도 팀프로젝트에서 기술적으로 배운것이 많다.
특히 인프라 구조에 대해서 치열하게 고민하고 더 많은 요청을 받는 서버와 장애 요소를 최소화 하는것에 대한 고민을 많이 했다.
최종 데모데이에서는 사용자입장에서 서비스의 피드백을 많이 받을 수 있었는데
그 동안 기능을 구현할 생각만했지, 사용자를 위한 기능이나 배려가 부족하다는 느낌이 들었다.
이를 통해 기술적 도전도 좋지만 사용자의 입장에서 서비스를 바라보고 사용자의 불편을 해소하는 개발자가 되고싶다고 느꼈다.
더 크게는 사회적 이슈를 해결하는 개발자가 되고싶다.
우아한테크코스를 마치며
우테코가 막바지에 들어 진짜 취업을 준비할 시즌이 됐다.
감사하게도 우테코의 리쿠르팅 데이에 많은 기업들이 참여해줬다.
그 중 인상이 깊었던 기업의 공통점은 서비스와 팀 문화에 대해 적극적으로 말씀해주시고, 질문도 친절하게 답변해준다 라는 느낌을 주는 분들이 있는 기업이었다. 개발자의 시작을 이분들과 함께 한다면 더 없이 좋은 출발이라 생각했다.
아쉽게도 우아한형제들의 채용에는 불합격을 받았다. 최종 면접까지 갔지만 자신을 충분히 되돌아보지 못한 모습이 보였던것 같다.
물론 기술적인 질문에도 만족할만한 대답을 못했다. 많은 분들이 나의 불합격 소식에 놀라고 '분명 좋은 회사에 들어갈 수 있을거라 믿는다'라고 해줘서 많이 힘이됐다. 우테코에서 남은것 중 최고는 크루들과 코치님들이라 생각한다. 30분이라는 짧은 시간에 10개월의 노력을 평가받는게 아쉬웠지만 부족했던것도 사실이라 생각한다. 이를 통해 하루를 회고하기로 마음먹고, 기술에 대한 공부도 더 열심히하게 됐다.
2022년 목표
건강 챙기기
팀 프로젝트 당시에는 수면 시간이 평균 3시간 ~ 4시간이었다. 눈뜨고 눈감을때 까지 코딩을 한다는게 뭔지 알았다.
이것 때문에 팀 피드백에서 건강을 걱정하는 피드백을 많이 받았다.
지식과 함께 붙은 지방도 있다. 2022년에는 공부시간을 효율적으로 사용하는걸 연습하고 거기서 얻은 시간으로 운동을 하기로 마음먹었다.
주기적인 회고
2021년 계속해서 앞으로 나아가며 성장하는건 좋은 일이었다. 하지만 지난 일에서 부족했던 점을 돌아보는 과정이 빠졌다.
'함께 자라기 - 애자일로 가는 길' 책을 읽으며 회고의 중요성을 깨달았다. (면접에서도 이 부분에 대한 질문을 받았다.)
앞으로 나아가는것도 좋지만 부족한 점을 계속해서 보완하며 나아가는것도 성장의 일부분이라 생각한다. (반복된 실수를 안하게 만들어주는건 보너스!)
2022년에는 회고를 계획적으로 도입하고 꾸준히 진행해보겠다.
마무리
2021년을 쭉 돌아보면 개발자로 폭발적인 성장을 했고, 취업때문에 힘든 시기도 있었다.
지금은 취업도 중요하지만 개발자로 살아가는 것도 중요하다고 생각한다.
안정적인 서비스 운영을 위한 다양한 경험을 쌓고 도전적인 과제를 통해 회사를 성장시키는 뿌듯함을 위해 백엔드 개발자를 선택한 것이지
취업을 위해 개발자를 선택한것은 아니다.
개발자의 첫 시작은 회사와 구성원이 함께 성장을 하는 선순환을 이루는 곳에서 시작하고 싶다.
2022년의 목표와 함께 건강과 지식 둘 다 챙겨보겠다!