끄적끄적

생애 첫 웹 프론트엔드 개발자 컨퍼런스 발표를 준비하며... (feat. 테오콘)

DevOwen 2023. 11. 3. 12:30

귀여운 테오콘 이미지

지난 10월 28일 나는 테오콘(TEOConf)이라는 주니어 웹 프론트엔드 개발자 컨퍼런스에서 발표를 했었다. <복잡한 오브젝트를 우아하게 처리하기> 라는 주제로 내가 올 해 상반기에 회사에서 개발을 했었던 프로젝트 관련된 이야기를 가지고 테크 세션 발표를 진행했다. 프론트엔드 주제의 기술 발표는 처음이었어서 많이 긴장되고 떨렸는데, 다 끝나고 나서는 참 하길 잘했다는 생각이 들었다. 이번 글에서는 내가 첫 기술 주제의 발표를 어떻게 시작하게 되었고, 어떤 과정을 통해 준비했는지, 그리고 그 가운데서 느낀 점들을 솔직하게 풀어 가 보고자 한다.

기술 컨퍼런스 발표에 대한 갈망

내가 개발을 처음 공부하기 시작했던 2018년, 처음으로 개발 컨퍼런스란 곳을 가 보았다. 당시 코엑스에서 했었던 DEVIEW 라는 네이버 개발자 컨퍼런스였다. 솔직히 그 때는 무슨 말인지 거의 대부분 이해를 하기 어려웠던 것 같다. 그렇지만, 연사로 서신 분들이 참 멋있어 보였고 언젠가는 나도 저런 곳에서 발표를 해 보고 싶다는 처음으로 해 보게 되었다.

 

그 이후 코로나로 인해 한동안 오프라인 컨퍼런스를 못 가다가, 작년부터 다시 조금씩 오프라인 컨퍼런스를 갈 수 있게 되었다. 요즘에는 온라인으로도 대부분 영상을 다시 볼 수 있어서 참 편리하고 좋지만 오프라인으로 가는 것도 현장의 분위기를 느낄 수 있다는 점과 네트워킹을 할 수 있다는 점에서 매력적이었다. 작년에는 10월에 롯데월드 타워에서 열린 2022 FEConf를 오프라인으로 갔었고, 올해는 코엑스에서 열린 AWS Summit을 오프라인으로 갔었다. 그 외에 글또콘과 같은 작은 규모의 밋업도 여러 번 방문했었다. 이러한 발표를 들으면서 나는 과연 저런 곳에서 발표를 한다면 어떤 주제로 할 수 있을까에 대한 생각을 항상 했었던 것 같다. 딱히 나는 저렇게 멋있게 이야기를 할 만한 주제가 떠오르지 않았다. 그 생각이 들면서 동시에 내가 회사에서 3년을 넘게 다니면서 컴포트 존(Comfort Zone)에 빠져 있는 건 아닌가 스스로를 돌아보게 되었다.

 

나는 무언가 내 능력을 뛰어넘는 일을 해야 할 때, 그 일을 할 수 밖에 없는 환경으로 나를 밀어넣고 버티는 전략을 선택하고는 한다. 이번에도 비슷했다. 컴포트 존을 벗어나기 위해서는 내가 남들에게 공유를 할 수 있을 만한 일들을 회사에서 하면서 도전해야 하고, 내가 이런 발표를 해야 하는 상황에 놓여 진다면, 그 일들을 회사에서 더 열정적으로 해볼 수 있지 않을까? 하는 기대로 발표를 한 번 해 봐야 겠다는 생각을 하고 있었다. 

 

사실 올해 7월에 AWS의 Builders Online 이라는 온라인 컨퍼런스에서 한 번 발표를 하면서 우리 회사의 CTO 분과 AWS의 SA 분과 준비를 한 번 한 적이 있었다. 그런데 그건 내가 한 일이라기보다는 우리 회사가 한 일을 그냥 내가 대표해서 발표를 하는 자리여서 (물론 이것도 충분히 나에게는 의미가 있었지만) 이번에는 내가 직접 한 일에 대해서 발표를 해보고 싶었다. 그러던 와중에 오픈카톡방에서 테오콘 발표자 모집 글을 보게 되었고, 일단 지원을 해 보았다.(설마 내가 되겠어? 라는 마음으로...)

주제 선정

운이 좋게 발표자로 선정이 되었고, 발표 주제를 정해서 이 컨퍼런스의 리더인 테오와 미팅을 해야 하는 상황에 놓여졌다. 일은 저질렀고, 이제 준비를 시작해야 하는데... 주제를 구체적으로 어떻게 가져가야 할지에 대해서 진짜 고민이 많았다.

 

원래 처음에 방향은 프론트엔드 개발자들이 객체 지향 프로그래밍(OOP) 관점에서 코드를 작성하기가 어렵다는 주변 프론트엔드 개발자 분들의 이야기가 떠올라서, S.O.L.I.D 원칙으로 잘 알려진 OOP 방법에 따라 프론트엔드 코드를 짜는 가이드를 발표 주제로 하려 했었다. 회사에서 이러한 고민을 나도 했었고, 이번 기회에 해당 부분에 대해서 깊게 파보는 공부도 해보고 싶었던 마음이 있었다. 

 

다만 한 가지 문제는, 내가 이런 방식으로 짠 코드가 많이 없었기 때문에 내용을 채우는 부분이 좀 힘들었다. 이 때 들었던 생각은 "그 때 회사에서 좀 더 고민한 방법대로 코드를 많이 짜 볼걸, 그리고 그걸 기록으로 많이 남겨둘 걸"이라는 아쉬움이 있었다. 

피드백

8월 중순 즈음 테오와 첫 피드백 미팅을 했다. 결과부터 말하자면, 기존의 주제를 완전히 다 갈아 엎었다.

 

여러가지 나한테 필요한 피드백을 많이 주셨는데, 가장 기억에 남는 점은 "오웬만이 할 수 있는 이야기를 했으면 좋겠다"는 말이었다. 나는 이전에 강의를 준비한 경험이 있었는데, 컨퍼런스 발표를 나도 모르게 약간 강의 느낌으로 준비한 건 아닌가? 하는 생각이 그 순간 들었다. 이런 피드백을 듣지 않고 그냥 혼자서 준비했다면, 엉뚱한 방향으로 엄청 막 준비하고 그러다가 나중에 혹평을 들었을 수도 있었을 텐데 초반에 이렇게 방향을 바꿀 수 있어서 참 다행이었다. 물론 피드백을 바탕으로 발표 자료를 다시 준비하는 과정은 솔직히 좀 힘들었다.

 

내가 지금까지 회사에서 했었던 것들을 참 많이 찾아보았다. 1년 이내에 했던 작업은 문서와 코드를 보면 어렴풋이 뭘 했는지 기억이 나긴 했지만, 그 이전에 했던 작업들은 정말 기억에서 가물가물 했다. 내가 했던 일들을 반기(6개월), 분기(3개월) 별로 정리하는게 참 중요하다는 걸 깨달았다. 

 

결과적으로 나는 올해 상반기에 내가 팀에서 했던 문진 작업을 가지고 발표 주제로 삼기로 했다. 그 당시 내가 정말 힘들게 작업했고, 고민을 많이 했었던... 작업이었기에 아무래도 할 이야기가 많을 것이라고 생각했다. 두 번째 테오와의 피드백에서 주제는 이걸로 확정을 하고 어떻게 발표 구성을 가져갈 것이고, 청중들이 이 상황을 같이 공감하며 들을 것인지 등에 대한 이야기를 하기 시작했다. 발표 준비는 참 산넘어 산이었다. 피드백을 2~3번 거쳐도 고쳐야 할 부분이 참 많이 보였다. 힘든 작업이었지만, 그 과정들을 통해서 내가 보기에도 발표의 퀄리티가 점점 더 좋아지는 것이 느껴졌다.

발표 자료 준비

발표 장표를 만드는 일도 나한테는 익숙하지가 않아서 어려웠다. 텍스트를 얼마나 적어야 하는지? 이미지는 어떤 걸 넣어야 하는지? 애니메이션을 넣어야 하는지? 등등 고민만 많이 하다가 시간은 가는데 몇 장 만들지 못한 적도 많이 있었다. 스스로에게 완벽한 발표 자료를 만들어야 한다는 강박이 무의식에 있지 않았나 싶었다.

 

그래서 나는 일단 떠오르는 대로 쭉 만들었다. 내가 실제 발표에서 말하는 것처럼 이야기를 하면서 여기에 필요한 설명, 이미지, 데모 영상 등을 떠오르는 대로 넣었다. 그렇게 쭉 진도를 빼고, 그리고 처음부터 여러 차례 돌려보면서 설명이 충분하지 않은 부분, 이미지가 적절하지 않은 부분, 중복해서 불필요하게 말하는 부분들을 다듬었다.

 

나를 한 문장으로 소개하는 부분에 고민이 많았는데 "레버리지로 성장하는 개발자" 라고 붙여 보았다. 아무래도 주니어 웹 프론트엔드 개발자들이 주 청중이기도 하고, 내 힘으로 할 수 있는 것들이 많지 않다고 생각하시는 분들이 많을 것 같아 주식 등에서 사용하는 용어인 레버리지라는 키워드를 가지고 왔다. 주변에서 받을 수 있는 도움을 적극적으로 받고, 이를 통해 성장하자. 그리고 나누자 라는 메시지를 전하고 싶었다.

리허설

발표 D-7 에 테오와 발표자들이 모여서 리허설을 진행했다. 발표자들 중에서는 이전에 다른 커뮤니티에서 뵈었었던 분도 있어서 반가웠다. 간단하게 서로 소개를 하고 왜 발표를 신청했는지에 대해 이야기를 한 후 리허설을 시작했다. 한 사람당 30분씩의 발표 분량이었고 발표자가 5명이었기에 발표를 하는 것만 해도 2시간 반, 그리고 각각의 발표마다 돌아가면서 피드백을 전달했는데 이것도 때로는 발표 시간만큼 이어진 경우도 있어서 전체 일정은 4시간이 넘게 걸렸던 것으로 기억한다.

 

다른 분들이 준비한 발표를 처음 들어보는 자리여서 그런지 내용이 재밌었고, 배울 점이 많아 좋았다. 다섯 명이 다 다른 주제로 발표를 준비했다. 오픈소스를 만들었던 경험, 회사에서 팀빌딩을 한 경험, 패턴 매칭 라이브러리를 도입한 경험, 사내에 디자인 도구 플러그인을 만들어서 오픈소스로 공유한 경험까지. 더 놀랐던 점은 발표자료 참여하신 대부분이 0~3년차의 주니어 분들이신 점이었다. 프론트엔드는 정말 빠르게 바뀌고 있고, 저연차에도 아웃풋을 잘 내시는 분들이 많다는 것을 다시 한 번 느끼면서 나도 더 이것저것 도전을 해 보아야 겠다는 생각을 했다.

 

내가 리허설 때 들었던 주요 피드백은 다음 내용과 같았다.

  1. 예시 코드가 좀 더 명시적인 이름을 가지면 이해가 잘 될 것 같다.
  2. 왜 그 도구를 선택하였는지에 대한 설명이 추가되면 좋을 것 같다.
  3. 코드 사진을 더 키우고, 강조할 부분을 확실하게 표시해 주면 좋을 것 같다.
  4. 폼, control, 불변성, 유효성 검사 등 테크 관련 용어는 쉬운 것들이라도 한 번씩 설명을 해주고 가면 좋을 것 같다.
  5. 문제 해결 과정을 설명할 때 어떤 상황에서 어떤 문제를 마주했고, 관련된 요구사항이 무엇이었으며, 그래서 어떻게 해결했는지를 맥락을 이어서 빌드업을 통해 설명하면 좋을 것 같다.

발표 D-Day

발표 당일 조금 일찍 발표 장으로 향했다. 구로디지털단지역 근처에 있는 사람인 본사에서 진행했다.

운영진 분들이 정말 많았는데, 정말 많은 분들이 이 컨퍼런스를 위해 오랫동안 준비하셨다는 걸 알게 되었다. 그래서 그런지 발표를 더 잘 해야 겠다는 생각이 들면서 긴장이 조금씩 되었던 것 같다.

이렇게 조별로 앉아서 네트워킹을 할 수 있게 자리 배치를 해 주셨다.

참가자 분들이 한 분씩 오시기 시작했다. 이번 컨퍼런스 티켓 경쟁률이 엄청 높았다고 들었는데, 그만큼 많은 분들이 기대감을 가지고 오신 것 같아 보였다. 같은 테이블에 앉은 분들하고는 가볍게 아이스브레이킹을 하고 그러다 보니 어느덧 컨퍼런스가 시작되었다.

내 발표 순서

사실 컨퍼런스 시작하고 나서는 어떻게 시간이 갔는지 잘 기억이 안 날 만큼 순식간에 일들이 지나갔다. 눈 깜빡하니 내 발표 차례가 되었고, 또 눈 깜빡하니 내 발표가 끝나 있었다. 그 이후 세션은 나도 긴장이 풀려서 재밌게 들으면서 동시에 살짝 몸이 피곤했던 것 같다. ㅋㅋ 전반적으로 유익하고 즐거웠던 컨퍼런스였다.

마지막 다 같이 찍은 단체사진

이번 컨퍼런스를 통해 느낀 점

이번 컨퍼런스를 처음에 발표자로 지원한건 7월 경이었고, 테오와의 첫 미팅이 8월이었으니 본격적으로 준비한 기간은 대략 2~3달 정도 되었다. 내 생애 첫 프론트엔드 주제의 테크 주제 오프라인 발표였다는 점에서 무척이나 의미가 있고 뜻깊은 시간이었다. 컨퍼런스를 준비하면서, 그리고 발표를 준비하면서 느낀점, 배운점이 참 많은데 이 부분에 대해서 몇 가지 공유하면서 이번 글을 마무리 하려고 한다.

 

컨퍼런스 발표는 강의와 다르다.

나는 이전에 강의는 해 본 경험이 있었고, 그래서 처음에 준비를 할 때 약간 강의스럽게 준비를 했던 감이 있었다. 그리고 받았던 피드백이 "요즘 구글, 유튜브 등 조금만 찾아보면 개념을 알려주는 영상, 글 쏟아져 나오는데 그걸 다 제쳐두고 당신의 발표를 들어야 하는 이유가 무엇인지"를 고민해 보라고 하셨던 기억이 난다. 이 말을 바꿔 말하면 누구나 할 수 있는 이야기가 저마다 있을 것이고, 그렇기 때문에 누구나 컨퍼런스 발표의 자리를 설 자격이 된다는 말이기도 하다.

 

이번 컨퍼런스를 통해 앞으로 컨퍼런스 발표를 기회가 된다면 더 해보고 싶다는 욕심이 생겼다. 그리고 그런 발표를 하기 위해서, 나만의 이야기, 나만의 결과물, 내가 만들어낸 성과를 많이 만들어야 겠다는 생각도 들었다. 이러한 동기부여가 앞으로 커리어에서, 회사 업무에서도 긍정적으로 작용하지 않을까 하는 기대를 해본다.

 

내가 아는 내용을 남들이 안다고 단언하지 마라.

  • 내가 발표하는 이 주제는 진짜 기본적인 내용이니 남들이 다 알겠지?
  • 이렇게 쉬운 내용을 가지고 발표를 해도 되나?

발표를 준비하면서 나는 이렇게 생각을 나도 모르게 했던 적이 많았다. 너무 쉬운 내용을 길게 설명하면 루즈해지고, 청중들의 눈높이를 맞추지 못할 것 같다는 생각이 들었기 때문이다. 그런데 리허설을 하고 나서 내가 들었던 피드백이 "control을 사용하는 부분에서 맥락을 놓쳤다. 설명이 이해가 잘 안 된다." 라는 의견을 여러 사람에게 들었다. 곰곰이 생각해 보니, 내가 회사에서 사용하고 있는 도구인데 이걸 남들도 다 안다고 생각하고 이 도구에 대한 설명을 많이 생략하니, 한 번도 안 써본 사람 입장에서는 당연히 무슨 말을 하는지 감을 잡기 어렵고 집중도 안 될 수 밖에 없었던 것이었다.

 

당일날 어떤 변수가 있을지 모르니 당일은 최대한 청중과 호흡하며 모든 변화를 받아들이자.

당일에는 정말 많은 변수가 있다. 이 부분에 대해서 아직 컨퍼런스 경험이 부족한 나는 많이 미숙했다. 리허설 시간이 짧기도 했지만 그 때 이러한 부분들을 신속하게 점검을 해 봤어야 하는데 그러지 못했다. 일단 나는 PPT로 발표 장표를 만들었고, 현장에서는 키노트로 실행되었다. 그러다 보니 폰트가 조금 깨지는 이슈가 있다는 걸 발표 하는 중간에 살짝 눈치 챘다. 최대한 태연하게 발표를 하려고 했지만... 준비를 많이 한 내용인데 이걸 온전하게 다 보여주지 못했다는 점이 아쉬웠다.

 

이번 테오콘은 다섯 개의 발표 세션이었고, 그 중 두 개는 경험 주제, 세 개는 테크 주제였다. 나는 세 번째 순서였는데 그 전에 쉬는 시간이 있어서 참가자들이 집중력을 다시 끌어올릴 수 있다는 점에서 참 다행이었다. 뒤로 갈 수록 참가자들의 얼굴에서 피곤함이 보였고, 이런 부분은 발표를 준비할 때 전혀 예상을 못 했던 부분이었기에, 이럴 때 사용할 수 있는 재밌는 이야기나 슬라이드를 준비할 필요가 있겠다는 생각도 들었다.

 

다른 발표자들의 발표를 보면서 배울 수 있었던 점

나머지 네 분의 발표를 들으면서 내 다음 발표에 적용해 볼 수 있을 것 같은 부분을 정리해 보았다.

  • 달리
    • 청중들의 눈높이에 맞춘 친근한 설명, 이로 인해 청중들이 더 열린 마음으로 발표를 들을 수 있게 되었고 중간 중간 웃으면서 들었다는 점이 좋았다. 청중들과 같이 호흡하며 심적 거리를 가깝게 할 수 있는 요소들을 앞으로 많이 넣어보고 싶다.
  • 보성
    • 본인의 경험 중에 사실 퍼블릭하게 이야기 하기 좀 부끄럽고 아쉬운 내용들도 분명 있었을 텐데, 오히려 그런 이야기를 솔직하게 그리고 유쾌하게 풀어주니 더 인간미가 느껴졌고 여기서만 들을 수 있는 이야기로 느껴져서 몰입감이 느껴졌다.
  • 허브
    • 중간중간 타입을 설명하는 장난감 이미지, 그리고 명령형/선언형의 차이를 설명하며 할아버지, 드라큘라, 개를 예시로 든 점이 인상적이었다. 개발 주제다보니 어쩔 수 없이 딱딱해지고 건조해 질 수 있는 내용인데 이렇게 중간에 재밌는 그러면서 기억에 남는 예시를 들면서 설명하니 집중력이 환기가 되고 이해도 잘 되었던 것 같다.
    • 발표 중간중간 애니메이션을 적절하게 잘 쓰셨는데, 몰입감이 달랐다. 키노트의 애니메이션을 다음 발표 때는 공부해서 적용해 보고 싶다는 생각이 들었다.
    • 마지막 마무리가 인상적이었는데, 팀에 계신 디자이너 한 분의 문제를 해결해 주고 싶어서 이 프로젝트를 시작했다는 점 + 프론트엔드 개발자 생태계의 수준이 높아지고 여러분의 발표를 앞으로 들어보고 싶다는 점에서 청중들이 감동을 하며 발표를 들었을 것 같다는 생각이 들었다. 너무 내용에만 신경을 쓰다 보니 이렇게 처음과 끝을 소홀히 했던 감이 없잖아 있는데 다음부터는 더 다듬어야겠다.

발표준비하면서 중간중간 힘들고, 포기하고 싶고, 또 개인적인 일들도 겹쳐서 고민이 많았지만... 돌이켜 보면 올 해 가장 잘 한 일 중 하나가 되어버린 테오콘 발표. 앞으로도 더 큰 무대에서 더 많은 청중들을 대상으로 인사이트를 줄 수 있는 발표를 많이많이 해 보고 싶다! ㅎㅎ

 

3개월동안 발표 준비한 준, 허브, 오웬, 보성, 달리 모두 고생 많으셨어요!