2023 두번째 TEOConf 후기

teo.v·2023년 11월 6일
34

테오의 프론트엔드

목록 보기
42/48
post-thumbnail

프롤로그

길다면 길었던 3개월간의 준비기간. 그리고 즐거운 행사와 뒷풀이! 모두 함께해줘서 고맙습니다.

스프린트 참가자 중에 뒷풀이 중에서 '컨퍼런스를 해보고 싶어요' 는 말에 내가 해줄 수 있는 것은 무엇일까 고민하다가 무작정 시작해보게 된 TEOConf. 그리고 그때 함께 했던 경험들이 너무나 즐거웠기에 두번째 컨퍼런스 행사를 또 시작하게 되었습니다.

처음 컨퍼런스 행사는 2월에 했었는데 이렇게 10월에 또 새로운 시작을 하고 시작을 해서 또 이렇게 새로운 사람들을 만나고 또 새로운 컨셉의 컨퍼런스를 만들고 함께 진행해보고 또 멋지게 잘 마무리를 해서 너무나 기분이 좋습니다.

새로운 컨퍼런스를 준비하게 되면서 새로운 스피커분들과 함께 준비해나가던 과정과 기존의 스태프와 함께 새로운 도전을 함께 해보려고 했던 이야기 그리고 당일날 있었던 이야기들을 한번 이야기해보려고 합니다.


<준비>편

스피커들과 함께 준비했던 이야기

시니어가 아닌 누구나 스피커가 될 수 있다는 것을 취지로 하였기에 이번에는 보다 많은 사람들에게 기회를 만들어주고 싶었습니다.

그렇게 모집이 진행되고 이번에는 스피커 신청자가 무려 12명이나 되었습니다. 스피커 신청자 분들이 올려주신 주제들을 볼때마다 흥미롭고 어떤 이야기를 들려주게 될지 너무나 궁금해졌습니다.

가급적 12명 모두에게 스피커를 할 수 있는 기회를 만들어주고자 이번에는 내가 연사가 되기 보다는 그들을 도울 수 있기를 바랬습니다.

이번에는 스피커를 도와주고 싶다. 모두를 멋진 연사로 만들어 줘야지!

그렇지만 저 역시 제 이름을 걸고 많은 사람들이 본인들의 시간을 사용해서 함께 하게 될 경험이 되어야 할 것이기에 30분동안 이야기를 해도 듣고 싶은 이야기가 될 수 있게 만드는 것이 제 역할이이라고 생각을 했습니다.

지원자분 모두를 각자 1시간씩 인터뷰 시간을 잡아서 어떤 내용을 말하고 싶었는지 찬찬히 물어보고 흥미로운 이야기들 더 말해줬으면 하는 이야기들을 찾아낼 수 있었습니다.

이렇게 진짜 그들의 이야기를 다 듣고 나니 말해주고 싶은 메시지를 함께 발굴할 수 있었고, 강의가 아니라 강연인만큼 테크의 설명보다는 개인의 경험을 전달할 수 있게 그러면서도 하고 싶은 메시지가 분명하게 전달 될 수 있도록 이야기의 구조의 기승전결을 갖출 수 있도록 도와드렸습니다.

  • 패턴 매칭을 공부하고 함께 회사에서 적용을 시켜봤던 이야기,
  • 취준생때 느꼈던 비개발자와 소통에 대한 이야기들,
  • 번아웃을 겪어보고 번아웃을 극복해본 성장기,
  • 레거시 코드를 최신화 하면서 느꼈던 이야기들,
  • 최적화 작업과 최적화 지표를 수집하고 대시보드와 시스템을 만들어 본 이야기들,
  • 해외 취업에 도전했던 이야기,
  • 개발자 0년차에 오픈 소스 컨트리뷰션에 도전하면서 느꼈던 고군분투 이야기,
  • 아무것도 없는 IT기업도 아니었던 회사에서 IT기업으로 만들어가는 디지털 전환에서 주니어 리드 프론트엔드라는 직책으로 팀을 만들어갔던 이야기들,
  • 문진 검사를 만들기 위해 폼 데이터와 중첩된 데이터를 사용할때 경험했던 테크이야기
  • 디자인 시스템 개발자로 피그마 플러그인을 통해 생산성에 기여하는 도구들을 만들어 보았던 이야기,

하나 하나 너무나 흥미롭고 들려드리고 싶은 우리들의 이야기였다고 생각을 했습니다. 그래서 조금 더 욕심이 생겼습니다.

1회차의 컨퍼런스는 그저 발표를 할 수 있는 장소와 들어줄 사람, 그리고 기회만 만들어주는 역할에서 그쳤다면 2회차에서는 조금 더 멋진 발표가 될 수 있도록 컨텐츠를 함께 성장을 시키고 싶었습니다.

사실 이미 스피커들이 가지고 있던 본연의 이야기 자체가 그리고 본인들이 해냈던 그 경험자체가 굉장한 것이었기에 제가 뭘 했다라기 보다는 제가 세션을 준비 하지 않은 만큼 이런 부분에서 더 기여를 하고 싶다는 개인적인 욕심이기도 했습니다.

하나하나 너무나 멋진 이야기들이었는데 발표날짜가 정해지고 나서 일정에 맞지 않아 당일날 발표를 할 수 있는 최종 5명의 스피커와 함께 하게 되었고 우리는 최종 함께 모여 최종 리허설 까지 진행을 해보았습니다.

지난 3개월간 스피커로 지원해주시고 멋진 경험과 발표를 준비해준 스피커분들 고생 많았습니다. 어떤 발표와 내용이 이어졌는지는 컨퍼런스 당일 이야기에 이어가도록 하겠습니다.

돌이켜보니 인터뷰를 했던 기록들, 리허설때 했던 발표나 피드백들이 개인메모의 형태로만 남아 있는데 이런것들이 잘 정리가 되어서 외부에 공유를 할 수 있을 정도의 기록을 만들면 좋았겠다는 생각이 있습니다. 이런 경험들을 통해서 다음번 준비때에서는 더 멋지게 준비를 할 수 있겠죠?


스태프들과 함께 준비했던 이야기

다시 다같이 뭉쳤습니다. 디자이너 애나도 합류했어요!

처음에 1회 때 무작정 컨퍼런스를 시작을 했을 때에는 대부분의 스태프로 자원해주신 분들이 취준생이었기에 상대적으로 시간과 에너지를 조율하기가 쉬웠지만 이번 두번째 컨퍼런스를 준비하는 시기에는 대부분이 취업에 성공했기에 또 컨퍼런스 스태프 활동을 부탁하게 되는 것은 어떨지 고민이 되었답니다.

그렇지만 모두가 두번째 컨퍼런스 개최에도 스태프들이 함께하겠다라고 너무나 흔쾌히 수락을 해주었고 1기때 하던 스태프분들과 함께 하기로 하였습니다. 디자인에서는 추가로 애나가 합류해줘서 2회차의 특유의 귀엽고 아기자기한 캐릭터들로 홈페이지, 배너, 명함 들로 채워질 수 있었습니다.

2회차때 해보고 싶은 것

처음에 모여서 저희가 1회차 때 나왔던 만족도 조사에 나왔던 피드백들을 보면서 찬찬히 보면서 다 같이 이야기를 했던 시간을 먼저 가져봤어요.

우선 대부분의 개발자들이 이러한 모임에 갈증이 있고 니즈가 있다는 것은 확인할 수 있었습니다. 컨퍼런스가 만들어져서 이러한 행사의 참여 자체가 즐거웠다는 반응이 대부분이었습니다. 뿐만 아니라 세션 자체가 오히려 주니어, 취준생들에게 맞는 세션이라는 점도 상당히 긍정적인 평가들이 많았습니다.

큰 컨퍼런스 장에서 유명한 개발자나 시니어들의 최신 기술에 대한 이야기들은 때때로 나와는 너무 동떨어진 얘기 같다고 느껴질때도 있지만, 내가 지금 관심이 있다거나 내가 알법한 이야기 혹은 공감이 되는 세션들이 좋았다는 피드백을 통해서 조금 더 주니어와 우리의 이야기를 들려줄 수 있도록 하는 세션을 발표할 수 있는 컨퍼런스로 자리매김을 해야겠다는 생각을 스태프들과 함께 확신했습니다.

그리고 끝나고 마련해준 네트워킹 시간의 만족도가 상당히 높았습니다. 결국 이러한 컨퍼런스를 통해서 모이는 이유는 세션을 통해서 인사이트를 얻고 싶은 것도 있지만 뭔가 새로운 사람들을 만나고 그 공유하는 문화를 즐기고 또 같이 함께 이야기를 나눌 수 있는 그런 시간이 되기를 바란다라는 것들을 저희가 많이 알게 되었습니다.

그 밖에 스태프들끼리 아쉬웠던 것들을 꼽자면 굿즈를 조금더 잘 만들어서 활성화를 해보고 싶다거나, 온라인으로 방송 송출이나, 홍보, 행사 시간의 확보와 다양한 이벤트들을 해보자는 의견들이 많았습니다.

돌이켜보니 우리가 하고자 했던 것들이 실현된 부분도 있고 논의는 했었지만 그렇지 못한 부분들도 있지만 이 논의들이 앞으로 3회차, 4회차때에는 실현이 될 수 있을거라 기대가 됩니다.


2회차때 해보고 싶었던 스태프 후드티 성공! 너무 귀엽다 :)

네트워킹이 있는 컨퍼런스

스태프들과 함께 2회차를 준비하면서 가장 중요하게 생각했던 것은 네트워킹이었습니다. 기존의 컨퍼런스와도 차별화 될 수 있는 부분이면서 동시에 가장 만족도가 높았던 부분이었기에 단순히 네트워킹을 하는 자리만 마련할 것이 아니라 더 나은 네트워킹 행사를 만들어보고 싶다는 생각을 하게 되었습니다.

그래서 고민의 결과 컨퍼런스를 볼 때 혼자서 보는 게 아니라 함께 볼 수 있는 팀을 미리 만들어줘서 컨퍼런스를 즐기는 방식의 아이디어가 나왔습니다. 대형 컨퍼런스는 지인들과 함께 가는 경우도 있지만 혼자서 컨퍼런스를 가게 되면서 즐거운 경험을 하더라도 끝나고 나면 함께 느꼈던 인사이트나 내용들을 함께 이야기해보고 싶어지는데 그런 대상이 없다면 허탈한 기분들을 다들 느껴봤더라구요.

그래서 세션에 대한 이야기들 혹은 세션이 아니더라도 그냥 나의 이야기들, 친구들의 이야기들 그런 것들을 들어보고 싶고 들려주고 싶어 하는 것들의 니즈를 만족시키기 위해서 조금은 강제로 합석을 해서 강제로 네트워킹을 시켜줄 수 있는 게 오히려 그들에게는 좋지 않을까라고 생각을 해서 저희가 처음부터 함께하는 형태의 네트워킹을 하자라는 아이디어로 시작이 되었습니다.

그렇게 팀을 우리가 강제로 만들어주었다면 어색하지 않을 수 있게 조금 더 체계적으로 네트워킹을 할 수 있도록 유도해주는 장치들을 프로그램화시켜서 오히려 네트워킹을 하기 위해 오는 컨퍼런스를 만들어보자라고 하는 것이 이번 테오콘 2회차의 가장 큰 목표가 되었습니다.

세션과 네트워킹이라고 하는 큰 2가지의 축을 바탕으로 세션과 네트워킹을 어떻게 혼합할지, 여기에 어색함을 덜기 위해 레크레이션까지 섞어가면서 참가자에 빙의해서 지금 어떤 마음일지 어떤 것을 하고 싶어 할지 고민하면서 세션이 끝나면 무엇을 하고 싶을지, 어떤 재미난 것들을 시켜줄지 프로그램을 만들어갔습니다.

정말 많은 이야기들이 나왔었고 그중에서 저희가 가벼운 아이스브레이킹들을 준비를 했고, 음악 맞추기, 초성 게임 실제로 어디 갔을 때 처음에 했을 때 분위기가 좋았던 것들 이런 것들을 잘 만들어서 준비를 하게 됐습니다.

완전 자율 참석제

모두에게 부담이 되지 않도록 언제나 같은 시간 매주 일요일 오후 8시에 온라인에서 모임을 갖되 언제든 올수 있고 언제든 갈 수 있으며 출석을 못하게 되는 날은 출석하지 않더라도 상관없도록 규칙을 정했습니다.

여느때와 같이 피그잼에 모여서 서로의 생각과 아이디어들을 공유해두고, 참석하지는 못하는 날에도 적혀있는 내용을 토대로 맥락을 파악하고 또 알려주면서 자유로운 취미 활동처럼 이어질 수 있었습니다.

모두가 개인시간이 있었고 그래서 모임마다 출석하는 멤버가 매번 달라졌음에도 생각과 내용이 이어진채로 함께 할 수 있었다는 점은 참 좋았다고 생각합니다.

준비하는 과정 또한 너무 즐거웠습니다.

다들 생업이 있고, 다들 본업이 있고, 일요일마다 매주 모일 수 없는 상황에서도 저희가 자율적으로 온라인으로 모여 얘기를 나누고, 저 역시도 시간이 되지 않으면 참석을 하지 못하는 상황도 있었지만 제가 없어도 알아서 진행이 되면서 다음번에는 또 함께 진행할 수 있다는 점이 너무나 좋았습니다.

목표를 위해 열정이 강요되다보면 지속이 불가능한 경우가 생기곤 하는데 자발적으로 참여하면서도 눈치 보지 않고 미안해하지 않고 본인의 역할을 가져가서 스스로 할 수 있는 자율체계가 만들어졌다는 것에 대해서도 너무 만족을 했습니다.

컨텐츠 팀, 제작 팀, 디자인 팀, 홍보팀, 네트워킹 팀 등, 해야 될 주요 파트를 만들고 그 파트 안에서 언제든지 이런 것들이 필요하지 않을까라고 의견을 낼 수 있는 여러 가지 팟들을 만들어 두고 그 안에서 아이디어가 나올 때마다 해야 될 것들이 만들 때마다 올라가고, 일요일이 되면 그때 모여 있던 이야기들을 공유하면서 구체적으로 어떤 안을 만들지 또 만들어내면서 각자의 아이디어가 우리의 일이 되고 우리의 목표가 되고, 우리의 목표가 해야 할 행동으로 만들어지는 재밌는 경험들을 했던 것 같습니다.


<행사>편

테오콘 당일 이야기

스태프들과 함께 3개월 동안 꼬박꼬박 1주일마다 한번씩 온라인으로 만나서 1시간 넘게 대화하고 헤어지고 했었는데 실제로 다 같이 현실에서 만나는 것은 행사날이 되어 처음이었습니다. 매주 대화를 했음에도 실제로 보니까 너무나 반갑고 또 새롭더라구요. 그래서 결국 오프라인으로 만나고 싶어하는 것에는 이러한 이유가 있지 않나 생각을 해봅니다.

배너 안녕!

행사장인 사람인 본사 건물 앞에 도착하니 생각지도 못한 배너가 멋있게 반겨주고 있었습니다. 이걸 보니 진짜로 행사를 하는게 맞구나 하는 실감이 팍 드는 순간이었습니다.

두근 두근 행사준비와 리허설

행사시간 1시간 전에 입장하여 열심히 준비 했습니다. 사실 다들 실제로 공간을 방문하는 것은 처음이었지만 그동안 머리속에서 시뮬레이션을 한 대로 열심히 준비를 해보았습니다.

팀별로 앉을 수 있도록 자리도 마련하고 진행을 도와줄 준비물들과 기념품들도 세팅을 했답니다.

준비를 서둘렀음에도 살짝 준비가 조금 늦어졌는데, 행사시간이 다가오니 사람들이 먼저 와 주었습니다. 더는 기다리게 하기는 어려울듯 하여 준비된 자리에 배치를 하였습니다.

아직 시작이 되지 않은채로 어색어색하게 팀별로 앉아야 되는 이런 상황에 대해서 괜찮을까라고 고민을 엄청 많이 했었지만, 다행히 저희가 어떻게 네트워킹을 해야 되는지 룰을 설명을 하면서 이제 진행이 되기 전까지 잠깐 먼저 이야기를 나눠달라라고 하니 처음에는 살짝 어색해 하시더니 어느새 굉장한 이야기 꽃이 피어나고 있었습니다.

저희가 준비했던 명함을 서로 주고받으면서 서로의 어떤 관심사나 이야기를 나눠가면서 준비가 좀 지연되는 상황에서도 너무너무 잘 즐겨주고 계셨습니다.

뭔가 기존의 방식으로 진행했더라면 혼자서 오래 앉아서 뻘쭘해하거나 굉장히 많이 기다렸어야 했었을테데 오히려 저희가 시작하려고 할때에 너무 집중하고 얘기를 나누고 있어서 언제 끊어야 할지 고민을 할 정도로 대화가 오고 가고 있었습니다.

네트워킹에 대해서는 이제 기대감이 무락무락 올라왔습니다.

오프닝

행사를 준비해준 스폰서인 점핏의 소개와 함께 TEOConf 2기가 시작이 되었습니다. 점핏의 다양한 기능들과 소식들 그리고 점핏에서 왜 테오콘을 함께 하고 싶었는지 이야기를 들려주었답니다.

이윽고 제 차례가 되었고 멋있게 오프닝을 시작해보았습니다.

저희가 준비했던 두 가지 슬로건, 개발자라면 누구나 공유하고 싶은 순간이 있다. 그리고 함께하고 싶은 순간이 있다는 라는 슬로건을 말하며 저희가 테오콘을 준비하게 된 계기와 취지에 대해서 설명을 드렸습니다.

무엇보다 우리가 원했던 네트워킹에 대해서 잘 받아줄 거라 부탁을 드리면서 오프닝을 마무리하고 MC루키에게 마이크를 넘겼습니다.

오프닝 발표자료
https://drive.google.com/file/d/1HOBf3nA0DC8uO-szu9kLmeNDtnBsw6fD/view?usp=drive_link

즐거운 아이스 브레이킹 시간 :D

저희가 제일 공을 들였던 강제로 팀을 만들어주고 함께 할 수 있도록 팀 빌딩과 함께 즐거운 분위기에서 시작할 수 있도록 준비했던 레크레이션들, 그리고 재밌는 게임들을 시작했습니다.

이런 것들을 어색해하면 어떡하지 그래서 우리도 민망한 상황이 연출되면 어떻하나 생각이 들었지만 역시 우리의 MC루키는 기대를 저버리지 않았습니다.

다들 너무나 신나게 저희가 준비했던 게임들을 적극적으로 즐겨주셨고 마지막에는 가서는 정말로 신나는 분위기가 만들어졌습니다. 적극적으로 참여를 해분 참가자분들에게 고마웠습니다.

무엇보다 이렇게 분위기를 만들 수 있었던 것은 저희 스태프 전문 MC인 루키 활약이 빛났다고 생각을 했습니다. 본인도 처음이라고 굉장히 떨렸다고 했지만 누가봐도 익숙한 상황인냥 강약조절을 하며 너무 재밌게 즐겁게 분위기를 만들어주어 역시 MC는 아무나 하는 게 아니구나라고 느끼면서 루키의 활약에 대해서 감탄을 하면서 지켜봤었습니다.

경험 세션 #1 - 달리

(발표자료) 달리 - 망해가는 팀을 구하기 위한 0년차 신입의 오픈소스 성장기
https://drive.google.com/file/d/19CuxVliKFwFQSI5uQ5_m6bxhwdLW1rOI/view?usp=drive_link

본격적으로 세션이 진행이 되었답니다. 첫번째로 야심차게 준비했던 경험 세션. 신입 개발자로서 아직 기술과 코딩에 대한 실력이 부족한 그 시절에 내가 뭘 해야할지도 잘 모르겠고 내가 잘 할 수 있는게 뭐가 있을지 모르겠다고 느껴지는 시기가 누구에게나 있습니다.

오픈소스에 기여해보고자 오픈소스 컨트리뷰선의 문을 두드렸는데, 내 기대와는 달리 그 안에서 0년차인 내가 제일 고연차였던 아이러니한 상황. 나도 뭘해야 할 지 모르겠는데 남들은 더 어떻게 해야할지 모르고 있는 상황.

그 안에서 뭐라도 하자라는 생각으로 당장 내가 할 수 있는 것들, 사람들과 친해지려고 노력하고 조금이라도 기여를 하고자 코드 리뷰를 남기고 열심히 댓글을 달고, 이모지를 통해 리액션을 했던 작은 것이 모여서 결국 팀의 분위기를 바꾸고 적극성을 바꾸고 좋은 결과로 만들어냈던 달리의 이야기가 이어졌습니다.

보통 주니어들에게 기대하는 바는 뭔가 엄청난 실력이나 아니면 일을 잘하는 것보다는 아무래도 밝음, 태도, 에너지, 열정 이런 것들을 원하는데 친해지려고 노력하고, 리뷰를 달고 리액션을 하는 행동들이 사소하고 작아보인다고 달리는 표현했지만, 누구나 할 수 있는 일이지만 아무나 하는 건 아니라는 이야기를 해줘서 너무 좋았습니다.

결국 그 안에서 그러한 작은 일을을 쌓아 나갔고 결국 큰 결실을 만들어냈던 이야기가 저에게도 굉장히 큰 울림이 있었습니다. 그런 웃음, 노력, 리액션들이 모여서 나의 태도가 되고 태도가 곧 나를 만든다는 멋진 이야기를 전달 할 수 있어 너무 좋았습니다.

경험 세션 #2 - 보성

보성 - 황폐화된 개발환경을 기름진 개발환경으로 만들기
https://drive.google.com/file/d/1IVEQkjcUwgeUGEbbwHWiUA6OPApqODno/view?usp=drive_link

두 번째 세션은 보성의 세션이었습니다. IT 회사가 아니었던 회사에서 프론트엔드 개발자로 시작해서 아무것도 갖춰지지 않은 개발환경에서 기획자가 아니었던 IT기획자와 디자이너가 아니었던 IT 디자이너들과 함께 고군분투하며 개발환경을 만들어가는 이야기였습니다.

그리고 어느새 주니어 프론트엔드 리드 개발자가 되어 새로운 사람들도 채용하고 본인이 생각하는 개발문화를 만들어 가는 과정을 유쾌하면서도 멋지게 설명을 해주었습니다.

저 역시 1인 개발과 사업을 해봤던 경험이 있었고 아무것도 없는 곳에서 개발문화를 만들어 나간다는게 정말로 쉽지 않은 것인데 발표 안에서 성장하는 모습을 들으면서 참 멋있다라고 생각을 했습니다. 마지막에 앞으로의 목표를 이야기를 하는 모습에서 미래가 더 기대가 되었습니다.

사실 굉장히 힘들었을 기간이었을텐데 자칫 잘못 전달하면 기존 회사를 블랙기업처럼 표현될 수도 있고 내가 잘한 것처럼 전달되면 어쩌나 고민이 있었다고 했는데, 전혀 그런 부분 없이 굉장히 유쾌하고 그러면서도 현실감있고 공감가는 이야기를 통해서 비슷한 상황에 있는 개발자들에게 위로가 되고 싶다고 한 말 그대로 너무나 잘 전달된 이야기라고 생각을 했습니다.

어느순간 개발자라는 직업이 너무 많이 부풀러지면서 많은 부작용이 있는 것 같습니다. 개발자를 꿈꾸는 사람들에게 뭔가 네카라쿠배와 같은 회사에 들어가지 못하면 탈락인 것처럼 만들고 있는 이러한 세태로 인해서 내 이상과는 다른 형태의 어떤 회사에서 스스로의 자괴감에 빠져있는 사람들에게 큰 위로가 될 수 있는 이야기였다고 생각합니다.

세션 네트워킹

우리가 준비했던 경험 세션이 끝나고 야심차게 준비했던 세션 네트워킹을 시작해보았습니다. 인사이트가 있고 공감이 되는 멋진 이야기를 듣고나면 떠오르는 것들을 함께 나눠보고 싶은게 당연한 마음이라고 생각을 했습니다.

누구나 내가 속한 학교나 회사가 아닌 다른 사람들의 이야기들도 들어보고 싶어 궁금해합니다. 세션마다 함께 이야기해보면 좋을 것 같은 주제들을 스피커들이 골라서 함께 고민해보는 "네트워킹 질문"을 준비해보았습니다.

달리 - 망해가는 팀을 구하기 위한 0년차 신입의 오픈소스 성장기

  1. 여러분들이 할 수 있었던 작은 기여들은 어떤 게 있었나요?
  2. (궁금), 이모지 천사처럼 좋은 리액션 경험이나 아이디어들이 있었다면 공유해주세요.
  3. '이상과 현실'에서처럼 기대했던 것과 달랐던 모습을 극복해 나간 순간들이 있었나요?
    어떤식으로 극복해 나가셨나요?

보성 - 망해가는 팀을 구하기 위한 0년차 신입의 오픈소스 성장기

  1. 여러분은 지금 주니어 개발자로서 어떤 어려움을 겪고 계신가요? 어떻게 그 어려움을 해결할 수 있을지 팀원들과 같이 고민해보아요.
  2. 다른 직군과 협업시에 겪었던 갈등이 있나요? 기획자도 좋고 디자이너도 좋고 백엔드 개발자와의 얘기도 좋아요! 여러분의 경험을 듣고싶어요

다행히 저희 예상에 들어맞게 세션과 관련된 질문을 만들고 공감대가 있을만한 이야기들을 함께 나눌 수 있다는 것은 즐거운 경험이었다고 생각합니다. 두 세션 모두 주니어 개발자뿐만 아니라 누군가에게도 다 공감이 되고 울림이 될 수 있었던 이야기였기 때문에 훨씬 더 활발하게 얘기를 많이 했던 것 같습니다.

테크 세션 #1 - 오웬

오웬 - 복잡한 오브젝를 우아하게 처리하기
https://drive.google.com/file/d/1oFfNJsUSEuwyxdbrukeMi7Jpw4XigCMm/view?usp=drive_link

경험 세션이 끝나고 나서 이제 본격적인 어떤 테크 세션의 어떤 막이 올랐습니다.

첫 번째 주자로서 오웬이 준비했던 복잡한 오브젝트를 폼으로 다루는 이야기였어요. 병원에서 쓰이는 복잡한 문진 내용을 구글Forms와 같이 커스텀하게 개발을 해야하는 과정에서 Object와 Array가 3depth 이상으로 중첩되어 있는 형태를 다루면서 React에서 Form을 다루면서 불변성과 유효성 검사들을 다루는 이야기였습니다.

실제 프론트엔드 현업에서 상당히 빈번하게 접할 수 있는 문제이기에 많은 사람들이 관심을 가지고 들어준 세션이었습니다. 처음에 이 주제를 들었을 때에는 누구나 접할 수 있는 문제이기도 하고 대표적인 해결방법들이 존재하다보니 인사이트를 제공하기는 어렵지 않을까 살짝 걱정을 했습니다.

그렇지만 끝나고보나 많은 참가자분들이 이 세션을 좋아해주셨습니다. 특히나 나 역시 유사한 경험을 했었고 그 안에서 고민했던 과정이나 해결했던 방법에서 나만 이렇게 고생을 하는게 아니구나 하는 경험을 공유하는 것이 좋았고, 혹은 지금 딱 이런 상황이라서 해매고 있었는데 먼저 해결해본 사람의 경험을 듣는다는 것이 좋았다는 반응도 있었습니다.

다시 한번 참가자들이 공감을 할 수 있는 이야기를 하는 것이 가지는 힘을 느끼며 중첩된 객체와 Form을 다루는 것을 해결하는 과정에서 주위 개발자들의 도움을 기꺼이 받아가며 해결했던 과정 역시 잘 전달이 되어 "레버리지를 통해서 문제를 해결하는 개발자가 되자"는 메시지 또한 좋았습니다.

테크 세션 #2 - 허브

허브 - 패턴매칭을 통해 선언적으로 typescript 다루기
https://drive.google.com/file/d/1YCxYIqXvXUp9xvErvAS9kwPGEv7aJJXD/view?usp=drive_link

네 번째 세션은 함수형 패턴 매칭에 대한 이야기였습니다.

패턴 매칭이란 if, swtich, 삼항연산자와 같은 기존의 분기처리 방식이 아니라 함수형 프로그램의 기법을 이용해 분기 코드를 함수로 작성하는 방법을 제공하여 기존의 문법에서 보다 확장된 형태의 분기를 만들어 줄 수 있는 기법을 소개하는 세션이었습니다.

특히 여러 객체의 Union 타입과 같은 복잡한 타입을 가진 객체를 분기처리하게 되는 경우에는 분기 조건에 따라 다른 타입의 객체로 인식할 수 있도록 해야 하는 경우가 있는데, 단순 if 비교만으로는 때때로 타입가드가 제대로 되지 않을때가 있어서 강제로 캐스팅을 통해서 타입을 맞추거나 타입가드를 별도로 작성하고 호출을 하는 등 분명히 이 Type일 수 밖에 없는데 Typescript가 그걸 알아듣지 못해 Typescript를 위한 코드를 작성해야 하는 경우가 종종 발생합니다. 타입체크의 편의를 위해서 사용하는 Typescript를 잘 쓰기 위해서 오히려 더 복잡한 코드를 만들어야 하는 경우가 발생하죠.

뿐만 아니라 우리가 조건문을 만들게 되면 - 가령, A Type 케이스, B Type 케이스, C Type 케이스 3가지 경우가 있다고 했을때, - 우리는 일반적으로 모든 케이스에 대해서 분기코드를 처리해야 합니다. 그러다가 D케이스가 추가가 되면 어떻게 될까요?

D 케이스가 추가가 되면 우리는 기존에 만들었던 모든 분기 코드들에 대해서 D 코드의 분기를 추가해야 합니다. 그렇지만 어디에 어떤 분기가 들어가 있는지 일일히 찾기는 매우 어렵죠. 뿐만 아니라 이러한 분기 체크는 빌드타임에서는 알 수 없고 런타임에서만 알 수 있게 되기 때문에 버그를 찾는 것 또한 굉장히 어렵습니다.

ts패턴매칭은 이러한 타입체크와 분기처리를 함수를 통해서 제공을 하게 됨으로써 자동으로 타입을 매칭하는 로직이 내장되어 있고 분기 가능한 모든 케이스가 확인되지 않을 경우 빌드타임에 에러를 뱉어주는 기능을 제공해서 이러한 문제를 미연에 방지하고 편의를 제공합니다.

물론 도입비용과 학습비용이 발생하는 문제하기에, 내 상황에 맞는지 확인을 하고 써야하겠지만 허브가 놓여있는 금융권과 같이 아주 복잡한 타입의 데이터가 존재하는 곳에서는 상당히 유용할 수 있는 도구라고 생각이 되었습니다.

모두가 ts패턴을 써야하는 환경은 아니겠지만 새로운 기술과 개념에 대해서 흥미를 가지고 필요하다면 한번쯤 떠올려 볼 수 있는 좋은 세션이라고 생각합니다.

테크 세션 #3 - 준

준 - 디자인시스템템 FE 개발자가 피그마 플러그인을 통해 사내 생산성 증대시키는법
https://drive.google.com/file/d/1bLSZDdzsPHrafSO5XXNOwS3u_J1ugN0F/view?usp=drive_link
https://github.com/junghyeonsu/teoconf2

마지막으로 준이 발표한 디자인 시스템을 개발을 하면서 여러 가지 반복적으로 해야 되는 일들을 이제 프로그램을 통해서 해결했던 문제들을 공개하는 자리였습니다.

디자인을 개발로 옮기다 보면 아이콘이나 이미지를 항상 익스포트해서 다운로드 받아 붙여넣고 코드에 복사하는 반복적이고 귀찮은 작업들이 존재합니다. 게다가 이런작업은 한번만 하는게 아니라 디자인이 수정이 되면 또 수정된 부분을 찾아서 반영을 해야하죠. 누구나 한번쯤은 이런 단순 반복작업들에 대해서 자동화를 시켜주면 좋겠다는 생각을 하곤 합니다.

이러한 불편하고 귀찮은 부분들을 figma 플러그인과 여러가지 개발도구를 사용해서 자동화하는 사내 생산성 도구를 만들어갔던 이야기를 들려줬습니다.

또한 실제로 단순 개발에 그치지 않고 외부로 배포가 되어서 누구나 쓸 수 있도록 하기 위해서 여러가지 편의성과 확장성을 고려하고 프론트엔드의 기술에 그치지 않고, figma 플러그인, UI 개발, 클라우드 서버 세팅, github API 등등 필요에 의해서 기술들을 찾아가며 만들어가는 경험들이 "개발자는 프로그래머가 아니라 문제해결사" 라는 메시지가 더더욱 빛났던 세션이었습니다.

세션 네트워킹 <테크편>

네트워킹 질문

  • 나에게 할당된 개발 업무를 하다가 혼자서 도저히 해결이 안 되는 순간, 어떻 게 주변의 도움을 받아 문제를 해결할 수 있을까요?
  • 주니어 개발자가 레버리지를 통해 성장할 수 있는 방법에는 어떤 것들이 있 을까요? (e.g. 테오콘 참석하기 등)
  • 선언적인, 추상화된 코드가 주는 장점은 무엇이 있을까요? 혹은 단점은 무엇이 있을까요?
  • 우리는 어떤 코드가 좋은코드라고 말해볼 수 있을까요?
  • 경험에 비춰 좋은 코드라고 느끼는 것들의 특징을 말해보는 시간을 가져보아요.
  • 여러분들이 현재 겪고있는 문제는 어떤 문제가 있을까요?
  • 개발적이든 커뮤니케이션적인 문제든 상관없어요
  • 그 문제를 어떻게 해결할 수 있을까요? 코딩으로 풀 수 있는 문제인가요? 아니면 다른방식으로 풀 수 있는 문제인가요?

3차례의 기술 세션의 이야기들이 끝나고 다시 앞서 했던 네트워킹과 비슷하게 우리가 이제 테크를 듣고 각자의 테크에 대한 이야기를 나누는 시간을 가져보았습니다.

또 개발자니까 갑자기 테크 이야기를 또 하면서 또 눈이 빛나는 시간들이었던 것 같아요. 스피커분들이 준비해주신 테크 이야기들과 함께 생각해볼 만한 주제들을 가지고 또 한차례 이야기들을 나눌 수 있었습니다.

럭키드로우와 마무리!

행사의 마무리에는 럭키드로우가 빠질 수 없죠. 스폰서인 점핏이 준비해준 소정의 선물과 저희가 마련한 선물들을 추첨을 통해서 나눠주는 시간을 가져보았습니다.

적극적으로 참여하고 즐겨주신 참가자 여러분들 함께 해줘서 고맙습니다. 수고 많으셨습니다!

Thanks to...

지난 3개월 동안 조금씩 조금씩 준비했던 것들을 이렇게 한 데 모아서 글로 정리하려고 하니 상당히 많은 것들을 했네요. 끝나고 뒤풀이도 하고 서로 수고했다고 자축하면서 정말 그동안 쌓였던 것들이 한 번에 다 해소가 되면서 굉장히 뿌듯함과 벅참과 수고했다라는 것들이 이제 동시에 겪을 수 있는 정말 멋진 경험이었던 것 같습니다.

참가해주셨던 모든 분들에게 너무너무 감사하다는 말씀을 드립니다. 저희가 준비했던 것 이상으로 와서 즐겨주셨고 네트워킹이란 결국 참가자들이 만들어주는 거라고 생각을 합니다.

2회차는 저희가 460정도의 참가신청을 받았고 한정된 공간에서 50명밖에 모실 수밖에 없었기에 오고 싶어 했었던 많은 신청자들이 아쉬워했다는거 잘 압니다. 다음번에 기회가 된다면 좀 더 넓은 공간, 그리고 좀 더 멋진 형태의 컨텐츠와 프로그램을 통해서 3회차가 만들어지기를 바랍니다.

사람들을 많이 함께 할 수 있도록 하려면 큰 공간이 필요한데 큰 공간일수록 비용이 많이 필요하더라구요. 그렇기에 멋진 모임을 지속할 수 있도록 많은 후원도 부탁드립니다. 저희가 멋지게 홍보해드릴 수 있어요!

함께 멋진 세션을 준비해준 스피커분들에게도 감사드립니다. 진짜 멋진 세션이었고 많은 사람들에게 보여드리고 싶은데 저희가 아직 영상이나 온라인 전송들을 하지 못해서 발표자료만으로만 남아서 아쉽네요. 꼭 기회가 되면 영상으로도 한번 만들어보겠습니다.

무엇보다 지난 3개월간 함께 해준 우리 스태프들 여러분께 모두 모두 감사하다는 마음을 전하면서 또 언젠가 함께할 수 있는 날, 함께 해 볼 수 있는 이런 시간이 또 기회가 왔으면 좋겠습니다.

긴 글 읽어주셔서 감사합니다.


뒷풀이 시간 :)

ps. 뒷풀이에도 참석해주신 참가자 분들 너무너무 감사드립니다! :)

profile
AdorableCSS를 개발하고 있는 시니어 프론트엔드 개발자입니다. 궁금한 점이 있다면 아래 홈페이지 버튼을 클릭해서 언제든지 오픈채팅에 글 남겨주시면 즐겁게 답변드리고 있습니다.

10개의 댓글

comment-user-thumbnail
2023년 11월 6일

테오 이번 컨퍼런스 준비하시느라 정말 고생 많으셨습니다! ㅎㅎ 다른 곳에서 쉽게 할 수 없는 귀중한 경험을 준비하는 과정에서 많이 할 수 있었어서 좋았고 감사했어요 😄

1개의 답글
comment-user-thumbnail
2023년 11월 6일

허브 - 패턴매칭을 통해 선언적으로 typescript 다루기의 발표자료 링크가 오웬 - 복잡한 오브젝를 우아하게 처리하기의 발표자료로 링크되어 있는데 확인 부탁드립니다.

2개의 답글
comment-user-thumbnail
2023년 11월 6일

이번 컨퍼런스를 통해 많은 분들을 뵙고 이야기를 나누면서 저도 정말 소중한 시간을 보냈습니다 테오. 정말 감사합니다!
1기에 이어 2기도 진행을 맡게 되었지만 늘 사람들 앞에서 이야기하는 건 참 어렵다고 생각합니다.. 좋게 봐주셔서 저로서는 아주 감개무량할 따름입니다 🥲

1개의 답글
comment-user-thumbnail
2023년 11월 7일

이번 컨퍼런스를 통해서 회사나 학교에서는 경험할 수 없었던 소중한 경험을 해서 정말 뜻깊었습니다ㅎㅎ

개인적으로는 함께 내용을 가다듬고 장표를 만들어나가며 준비해온 과정이 댓글로 다 풀어내지 못할만큼 배운점과 느낀점이 많았습니다!
부족한 점이 많았지만 매워주시고 응원해주셔서 감사했습니다!

ps. 스피커 분들의 발표도 정성스러운 정리와함께 느낀점까지 녹여 주셔서 정~~말 감동입니다 😭

1개의 답글
comment-user-thumbnail
2023년 11월 12일

컨퍼런스에 참여할 수 있어서 너무 신선하고 재미있는 경험이었어요! 감사합니다!

답글 달기