7월 한 달이 벌써 지나갔다. 6월 회고글을 작성한 게 아직도 생생할 정도인데, 벌써 8월의 첫 주가 끝났다. 그렇지만, 7월은 6월에 비해 정말 특별한 성장의 달이었다. 이룬 것들과 놓친 것들을 솔직하게 돌아보며 KPT 방법을 통해 회고해보았다.
좋았던 것, 유지하면 좋을 것
이펙티브 타입스크립트 스터디
를 드디어 시작했다. 책을 이미 읽어본 팀원분의 '책이 불친절하다'라는 말이 쉽사리 이해가 되지 않았는데, 1장을 읽자마자 단번에 이해했다. 자바스크립트를 탄탄하게 공부했다면 이해가 쉬울 줄 알았다. 1장에서도 모든 자바스크립트는 타입스크립트라는 설명이 있다. 그 뒤에 모든 타입스크립트는 자바스크립트가 아니다라는 말이 그렇게 많은 뜻을 내포하고 있는 줄은 꿈에도 몰랐다.. 나에게는 타입스크립트가 정말 생소하고 어려웠다. 처음 C언어를 공부했을 때처럼 이 책에서 역시 똑같은 답답함을 느꼈다. 그래서 일단 1회독을 먼저 하고, 2회독 때는 노션에 정리했다. 이해가 안 되는 부분은 댓글 기능으로 질문을 달아놓았다. 또한 코어 자바스크립트의 저자인 정재남 님의 FE재남 채널에서 진행한 스터디 영상도 참고했다.
우리 스터디는 발표자와 서기 두 명을 실시간으로 뽑아서 진행했고, 발표 내용을 녹화해 유튜브에 업로드했다. 이해가 안 가면 바로 질문 폭탄을 날려서 함께 고민하는 시간을 가졌더니 어느덧 1장과 2장에 대해 조금 이해할 수 있게 되었다. 이 책을 읽으면서 느낀 건, 예제 코드를 해석하는 데 시간을 지나치게 쏟는 것보다는 책에서 전달하는 메시지를 이해하며 넘어가는 것이 효율적이겠다는 생각이 들었다. 예를 들어 책에서는 인덱스 시그니처에 대해 설명하고 있는데, 나는 예제 코드의 Vertor2D 식별자를 해석하느라 쩔쩔 매고 있는 경우가 그렇다. 만약 내가 이 책을 혼자 읽으면서 공부했다면 5회독을 해도 제대로 이해하지 못했을 것 같다. 스터디는 불친절한 책일수록 더 효율이 커지는 것 같다.
이 스터디에서 처음 팀장을 맡게 됐다. 사실 나는 팀원의 위치에서 이것저것 건의하고 도움 주는 역할을 좋아하는데, 팀장을 맡아 직접 내 손으로 반영하게 되니 막상 생각했던 것보다 더 잘 맞는 것 같다. 물론 특별히 하는 건 깃허브 레포와 노션 꾸미기 정도였다. 그래도 조금이라도 더 뭔가를 도와줘야겠다는 사명감(?)이 생겨서 유튜브 썸네일을 공유했다(내 블로그의 타입스크립트 글의 썸네일). 미미하지만 나름의 재롱이다.
자바스크립트 딥다이브 스터디
는 타입스크립트 스터디를 시작한 이후로부터 더 사랑하게 됐다. 갑자기 책이 술술 읽히더니 분명 읽는 시간을 3시간으로 정했는데 30분 만에 한 챕터를 다 읽는 경지에 이르렀다. 이렇게 자세하고 읽기 쉽게 책을 써주신 저자분한테 계속 감사함을 느꼈다.
이번 달에는 프로토타입, 실행 컨텍스트, 클로저 등 자바스크립트의 헬 난이도라고 할 수 있는 챕터들을 진행했다. 프로토타입은 생각보다 더 어려웠고 지금도 헷갈리는 부분들이 있다. 나머지 챕터들은 생각보다 더 쉽게 느껴졌다. 특히 실행 컨텍스트에 열정 가득 불태워서 시간을 쏟았더니 클로저 부분은 만화책 읽듯 바로바로 눈에 들어왔다. 어려운 챕터들을 무사히 끝내고 남은 챕터의 발표자들을 미리 뽑았다. 예상 대로 진행된다면 이 스터디는 10월 5일, 최종 프로젝트 직전에 끝나게 된다! 스터디원분들도 너무 유쾌하고 분위기가 좋아서 스터디 시간만 매주 기다리고 있다. 스터디 중 가장 순조롭다고 볼 수 있다.
노션 클로닝 링크
7월 초반은 노션으로 시간을 전부 보냈다. 이때 강의가 없던 거에 너무 감사했다. 코어타임 이후에도 아침 9~10시까지 밤을 새며 코드를 짜는 일이 빈번했다. 내가 무리를 하는 것 같기도 했지만, 사실 나는 그 과정이 너무 재미있었다. 강의에서 나온 디바운스나 스토리지를 직접 구현하며 적용한다는 게 즐거웠다. 그리고 막히는 부분이 있으면 '이걸 어떻게 풀어나가지?' 생각하며 시간 가는 줄도 모르고 진행했다. 내가 데브코스에 들어온 이유 중 하나가 노션 클로닝 프로젝트였기도 했고, 처음으로 내가 전체를 구현해야 하는 프로젝트이다 보니까 더 많은 시간을 쏟게 됐다. 그래서인지 커밋 수가 100개가 넘어갔다.
아쉽게 완벽하게 원하는 대로 구현하지는 못했다. 시간이 지날수록 자바스크립트에 더 잘 알게 되면서 '이거는 이렇게 구현했으면 동작했을 텐데', '이건 이랬으면 더 효율적이었을 텐데' 하는 발견들이 있었다. 무엇보다도 프로젝트 회고글은 적어도 내가 원래 구현하고 싶었던 것들을 다 구현하고 나서 작성하고 싶은 욕심이 있었다. 하지만 이 문제는 쉬웠다. 그냥 일단 회고글을 작성하고 이후에 리팩토링 회고글도 작성하면 그만인 것이다. 토글 기능 구현, 렌더링 최적화, 불필요한 네트워크 요청 줄이기. 이것들을 해결한 것만으로도 회고글은 충분히 작성할 수 있다. 그러므로 작성할 것이다!
항상 들쑥날쑥한 수면 시간이 지속되다가, 최근에야 시간이 고정되었다. 밤 9~10시에 자서 새벽 5~6시에 일어나는 것이다. 어쩌다 보니 미라클 모닝의 삶을 살게 됐다. 이외의 시간에는 제대로 된 잠을 자지 못했다. 중간에 깨면 다시 잠들지 못하고 코어타임 때 너무 힘들었다. 지금 맞춰진 수면 시간은 학습에도 건강에도 최고의 시간인 것 같다. 앞으로도 규칙적인 생활을 하면서 데브코스, 그리고 앞으로의 개발자 생활에도 영향을 미치지 않도록 노력해야겠다.
문제였거나 부족하거나 아쉬웠던 것
리액트는 조금이나마 사용해 본 경험이 있지만, Vue 자체는 처음 접해봤고 사실 어떤 프레임워크인지 전혀 알지 못했었다. 특히 한국에서 개발하려면 리액트를 공부하라는 말을 너무 많이 들었다. 그래서인지 Vue 강의가 왜 10일이나 껴있는지, 과제가 왜 있는지, 이해하기가 어려웠다. 하지만 강의를 들으면서, 이전에 머리를 부여잡으며 바닐라 자바스크립트로 개발했던 기능들을 Vue로는 한 줄로 간단하게 끝내버리니 대단한 프레임워크라는 생각이 들었다. 특히 코드의 가독성이 너무 좋았다. 강사님의 귀에 쏙쏙 박히는 강의력은 덤이었다.
Vue 강의를 들을 때, 타입스크립트 스터디가 시작됐고 알고리즘 스터디에서 선정된 유형도 핵난이도였기 때문에 강의를 따라가기 너무 힘들었다. 그래서 공식문서 위주로 빠르게 글을 읽고, 강의는 어려웠던 부분, 공식 문서 외의 꿀팁 부분들을 뽑아내 TIL에 정리했다.
너무 짧은 시간 안에 하나의 프레임워크를 후다닥 공부하다 보니 머리에 정리되지 않고 급하게 끝내는 느낌이 든다. 실제로 첫날 TIL을 보니 마치 이 글을 처음 읽는 듯한 느낌도 들었다. 이번에 진행하는 과제도 쌓은 지식을 기반으로 해결한다기 보다는, 네비게이션을 켜놓고 그대로 목적지까지 따라가는 방식으로 진행될 것 같다.
6월에는 TIL을 정말 세세하게 작성했었다. 강의에서 들은 것, 책에서 본 것들을 이미 아는 부분까지 합쳐 한꺼번에 다 작성했다. 하지만 그건 강의 대본을 받아쓰고(속기사 마냥), 책을 따라서 집필하는 수준과 동일했다. 그래서 7월에는 내가 몰랐던 부분들만 골라서 쓰는 식으로 효율성을 높이려 했다. 하지만 힘을 빼도 너무 뺀 것 같다. 이후에 참고하려고 다시 그 날의 TIL을 들여다보면, 너무 짧게 요약되어 있어서 이해가 전혀 안 되는 경우가 많았다. 6월과 7월에 극과 극의 방식으로 학습 기록이 진행된 것이다. 학습 효율을 높이려다 되려 떨어뜨리는 격이 됐다. 학습 효율을 높이기 위해 TIL 기록 방법에 대해 더 많은 고민을 해봐야겠다는 반성을 했다.
시도해볼 것
Vue도 그렇고, 앞으로 배울 리액트도 그렇고, 아직 자바스크립트에 대해 완전하게 학습하지도 않았는데 새로운 프레임워크 강의는 계속해서 나를 압박하고 있다. 그럼에도 기존의 것들을 놓치면 안된다. 내가 6, 7월에 학습했던 지식들을 다시 한 번 훑어보고 정리하는 과정이 필요하다고 생각한다. 노션 클로닝 프로젝트는 내가 구현한 방식에 대해 하나라도 더 까먹기 전에 빨리 회고글을 작성해야겠다. 그리고 지금까지 작성했던 TIL들을 다시 전체적으로 정독하고 추가적으로(3Depth) 더 탄탄하게 공부해야겠다.
6월 회고글에서 아는 게 많이 없으니 팀원들에게 도움을 줄 수 없다는 아쉬움을 표현했었다. 하지만 7월에는 과제와 관련된 정보들을 팀원들에게 공유하고, 감사의 인사도 받았다. 게다가 팀원이 아닌 분께서도 내가 작성한 코드에 대해 질문하고, 답변을 참고하여 블로그 글을 써도 되겠냐는 메시지를 받은 적도 있다. 이때 처음으로 새로운 뿌듯함을 느꼈다. 나는 그동안 내가 바닥에 있고, 남들 따라가려면 너무 멀었다는 생각만 했었는데, 몇 달 지나지 않아 내 도움을 받는 사람들이 점점 늘어나는 걸 보니 나도 성장이라는 것을 하는구나를 직접적으로 느낄 수 있었다. 나는 그저 훌륭한 데브코스 팀원들에게 자극을 받아 그들의 코드를 참고하고, 그렇게 참고하다 보니 공식문서를 읽는 게 좀 더 수월해지고, 추가적으로 학습한 정보들을 다시 다른 사람들에게 전달해준 것 뿐인데, 이 시너지는 엄청났다. 이게 팀으로서의 성장이구나를 실감할 수 있었다😊 그럼에도 아직은 얻어간 게 훨씬 많으니 앞으로는 내가 알려주는 상황을 더 많이 만들어야겠다는 생각이 든다.
2차 팀이 새롭게 형성되었으니, 1차 팀에서 얻은 것들을 전부 공유하며 리뷰를 남길 것이다. 1차 팀과는 또 다른 시너지가 만들어질 것을 생각하니, 벌써 기대가 된다!
7월은 팀원, 스터디원들과 더 가까워지면서 팀으로서의 발전이 개개인의 발전에도 좋은 영향을 줬던 한 달이었다고 생각한다. 동시에 더위를 먹고 해이해졌던 한 달이었기도 했다. 8월은 더 덥겠지만 팀이 새롭게 꾸려진 만큼 다시 마음 다잡고 파이팅해서 공부를 해야겠다🔥
거북이가 익숙하네요. 잘 읽었습니다.