티스토리 뷰

 우아한 테크 코스에는 크루들이 하나의 주제를 선정해 다른 크루들에게 내용을 전달하는 '테코톡'을 매주 진행한다.

학창시절부터 꽤 많은 발표를 해봤지만 나보다 더 실력있고 잘 아는 사람들 앞에서 발표를 진행해야한다는 점은 부담스럽게 느껴졌다. 특히, 테코톡 발표가 녹화되어 유튜브에 업로드 된다는 사실도 하나의 부담으로 다가왔다.

 

 테코톡 한 주 전부터 주제와 관련된 책을 읽고 검색을 했다. 또 나보다 더 잘 아는 분들이 계시기에 신빙성이 있는 자료를 찾기 위해 노력했다. 프론트엔드의 첫 발표를 맡게 된 필자의 테코톡 주제는 DOM과 BOM 이었다. 처음에는 DOM과 BOM이라는 주제가 백엔드 크루들에게는 다소 흥미가 떨어지는 주제라고 생각했다. 그래서 발표 자료의 많은 부분에 사용자가 보는 화면을 웹 브라우저가 출력하는 렌더링 과정에 대한 설명을 집어넣었다. 사실 발표자료를 준비하면서도 렌더링 역시 DOM과 밀접한 관련이 있지만 주제에서 다소 벗어났다는 사실을 알고는 있었다. 그러나, 당시에는 DOM으로 10분 이상의 내용을 흥미있게 구성하기는 어려울 것이라고 판단했다.

 

 발표 하루 전날, 포코에게 발표 자료에 대한 피드백을 부탁드렸다. 포코는 흔쾌히 승낙했고 솔직한 피드백을 해주었다. DOM과 BOM이라는 주제에 조금 더 집중하면 좋을 것 같다는 점과 얕고 많은 지식을 전달하는 것보다 좀 더 고민을 한 흔적이 있는 지식을 전달해주는 편이 좋을 것 같다고 얘기해주었다. 그러면서 포코가 가지고 있는 'DOM을 깨우치다'의 목차를 같이 살펴보면서 DOM api에서도 설명할 내용이 많다는 사실을 상기시켜주었다. 발표가 하루 남은 시점, 정확히는 12시간 정도 남은 시점에서 발표자료를 바꿔야했다. 물론, 기존의 발표자료로도 발표를 할 수는 있겠지만 포코의 피드백을 들은 시점부터 공 들였던 발표자료가 누더기로 보였다. 우테코에서 배운 가장 좋은 습관. 리팩토링을 적용해야했다. 시간이 촉박하지만 이대로 발표를 할 수는 없었다. 다소 완벽주의자인 내 성향상 잘 못 된걸 방치해둘 수는 없다. 밤을 샌다는 각오를 다지고 발표자료 리팩토링을 시작했다. (여담이지만 이래서 피드백은 빠를수록 좋은 것 같다. 애자일 방법론의 필요성을 절실히 느낀 순간이었다.)

 

 자바스크립트 서적에서 DOM 파트를 다시 정독하고 현재의 발표자료에서 삭제해도 되는 부분과 추가해야 하는 부분을 정리했다. 가장 고려했던 것은 DOM과 BOM이라는 주제와 적합한지와 크루들에게 도움이 되고 흥미를 끌 수 있을만한 내용인지였다. 기존 렌더링에 대한 설명 부분을 절반 정도로 줄이고 대신 HTML 노드가 가지는 상속구조,  HTMLCollection과 NodeList의 차이, innerHTML, insertAdjacentHTML, appendChild 비교 분석 부분을 추가했다.

 

 발표 자료와 대본은 발표 직전에 겨우 완성됐다. 사실상 대본은 거의 숙지하지 못했다. 그래도 발표 자료를 정리하면서 계속해서 바왔던 내용들이라 실제 발표에서도 나름 버벅이지 않고 잘 해냈던 것 같다. 시간에 쫓기며 발표자료를 수정한 탓에 약간의 혼란을 줄 수 있는 내용들이 들어있다는 사실을 늦게나마 크루들의 질문을 통해 알게 됐다. 자료준비를 하며 주제에 익숙해지다보니 처음 보는 사람들에게 내용이 어떤 식으로 비춰질지 충분히 고민하지 못 했던 것 같다. 여러 질문 중 하나의 질문에 대해 갑자기 생각나지 않아 답변을 차후에 드리겠다고 했다. 그리고 발표 이후에 그 질문에 대한 답변을 작성하고 이해를 도울 수 있는 코드까지 짜서 보내드렸다.

 

 이번 테코톡을 하면서 사실 많이 힘들었다. 첫 주자라는 점과 이전까지 이런 기술관련 발표를 해본적이 없다는 것, 그리고 발표 직전 날 새벽에 발표 자료를 대거 수정해야했었다는 점들이 부담스러웠다. 그래도 끝나고 나니 많은 것들이 남아있었다. 발표 주제였던 DOM과 BOM에 대해 몰랐던 부분들을 알게 되면서 흥미를 가지게 됐다. DOM과 연관된 렌더링 과정도 깊게 찾아보면서 브라우저의 렌더링 방식도 이해할 수 있게 되었다. "설명하지 못하면 아는 것이 아니다"라는 말이 있다. 남들에게 설명하기 위해서는 대충 알면 안된다. 더 깊숙하게 자세히 알아야 설명할 수 있다. 앞으로의 개발 공부도 대충 이해했다에서 그치는 것이 아닌 남들에게 설명할 수 있을 정도의 수준까지 이해할 수 있도록 기준을 설정해야겠다. 이번 발표는 유튜브에 남아 본인의 흑역사가 될 것 이다. 그렇지만 오히려 초심을 잃고 나태해질 때, 다시 보며 초심을 다잡는 치료제로 사용할 수 있을 것 같다. 과거의 나를 반면교사 삼아 하루하루 더 발전하는 그런 개발자가 되자.