이번에 생애 처음으로 참여하는 개발자 컨퍼런스로 JSConf Korea 2022에 다녀왔습니다.
평소에 이런 컨퍼런스를 영상으로만 봐서 현장 분위기가 어떨지 또 어떻게 진행되는지 굉장히 궁금했습니다. 그런데 이번에 운 좋게도 각국에서 펼쳐지는 JSConf라는 큰 행사에 참여할 수 있게 되었습니다! 작년에는 코로나 때문에 온라인으로 진행되었는데 이번에는 다행히도 오프라인으로 진행하였습니다.
자바스크립트를 좋아하고 관심이 많은 분이 모이기 때문에 그분들과 커뮤니케이션 할 수 있는 기회가 주어진다는 것에 굉장히 설레었습니다.
16일(금), 17일(토) 이틀에 걸쳐 진행하였고, 메인 발표가 진행되는 다목적 홀, 워크샵과 후원사 발표가 진행되는 2개의 세미나실로 구성되었습니다. 오프라인으로 진행되는 만큼 주최 측에서 스탬프 찍기, 배지 만들기 등 여러 이벤트를 준비하였는데 나중에 글에서 하나하나씩 소개해 드리겠습니다.
Opening 👋
참가자 등록하고 다목적 홀에서 오프닝 공연과 이번에 JSConf Korea 후원사를 소개하면서 시작했습니다.
메인홀 뒤쪽에는 후원사별로 부스가 있었고, 각 회사에 대한 소개와 채용 과정에 대해 들을 수 있었습니다. 그리고 JS 문법 관련 퀴즈를 풀고 경품을 받거나, 응모 뒤에 경품 추첨 등 세심하게 신경 쓴 부분들이 많았습니다.
그리고 드디어 본격적으로 발표가 시작되었습니다. 발표자와 발표 내용에 대한 간단한 소개를 아래에서 확인할 수 있습니다.
발표 🖥
이번 JSConf 발표는 주제가 다채로웠고 모든 발표가 배울 점이 있었습니다. 그중 가장 기억에 남는 발표 3가지를 선정하여 간단하게 정리해 공유하고자 합니다.
React로 영수증 출력해보기: 자바스크립트로 POS를 만든다고? — 나석주
이번 컨퍼런스에서 가장 좋았던 세션입니다.
자바스크립트로 인쇄에 필요한 바이트 데이터를 다루고 JSX 문법을 활용하는 React를 통해 선언적으로 그리고 React스럽게 POS기 코드를 작성한 방법에 대한 세션입니다.
JS에서도 바이너리 데이터를 다루기 위한 Buffer를 만들 수 있지 않을까? 라는 생각은 평소에 있었지만 직접 구현해보지 못했습니다. 이 발표에서 JS TypedArray인 Uint8Array을 활용하여 POS기로 인쇄할 데이터, 인쇄 관련 명령어 들을 Buffer에 쌓을 방법에 대해 알게 되었습니다. 거기에 쌓인 Buffer를 JSX 문법과 React 컴포넌트를 활용하여 선언적으로 코드를 작성할 수 있도록 한 부분이 인상 깊게 다가왔습니다. 특히, JSX 코드를 재귀적으로 돌며 Uint8Array를 반환하는 render 함수를 커스텀 한 부분을 듣고 입을 다물지 못했습니다…
발표를 다 듣고 가장 먼저 든 생각은 개인 프로젝트에서 이런 아이디어를 생각해서 진행했으면 정말 좋았겠다고 느꼈습니다. React와 JSX 문법을 깊게 공부할 수 있고 render 함수, JS로 바이너리 데이터를 다루는 방법까지 여러 방면에서 교훈을 얻을 수 있는 프로젝트가 아니었을까 생각해보게 되었습니다.
이것을 확장하여 오프라인에 영수증이 출력되기 전에 웹 브라우저에서 사용자가 인생네컷과 같은 스티커 사진처럼 다양하게 커스텀 할 수 있는 기능을 제공해주면 좋겠다고도 생각해 보았습니다.
제가 작성한 발표에 대한 설명은 간략한 설명이었고, 디테일 한 설명과 코드를 보실 분들은 아래 링크를 통해 지식을 얻을 수 있습니다.
성공적으로 실패하는 방법 — 엘리노어 럼지
개발자로 지내면서 바보처럼 보일까 봐 질문을 꺼리고 내가 생각하거나 이전의 성과가 실패로 밝혀지는 것에 두려움을 느끼는 가면 증후군에 관한 세션입니다.
개발자로 일할 때 모르는 부분이 생겨 막히는 상황이 발생할 수 있고, 커뮤니케이션할 때 모르는 단어가 들릴 때가 종종 있었을 것입니다. 발표에서는 이러한 상황에서 “I don’t know”라고 말할 수 있는 용기가 중요하다고 이야기합니다. 또한 모르는 것을 인정하지 않고 도움을 요청하는 것에 두려움을 오래 느낄수록 가면 증후군에 걸릴 가능성이 커진다고 이야기합니다. 발표에서 특히 공감 가는 사례가 있었는데요 발표자분의 인턴 생활 때 API 응답을 캐싱 관련한 궁금증이 생겼지만, 혹시 본인이 틀렸을 가능성 때문에 쉽게 다른 사람에게 자신의 의견을 말할 수 없었다고 하였습니다. 하지만 용기를 내서 그 의견을 말했을 때 알고 보니 팀에 동료들이 놓치고 있는 부분이었다는 것입니다. 내 의견이 항상 옳은 게 아닌 것처럼 다른 사람의 의견이 항상 옳다고 가정하여 내 의견을 말하지 않는 것을 지양해야 한다고 느꼈습니다.
발표를 듣고 내가 모르는 것이나 실수를 밝히는 게 최악의 상황이 아니라 실수를 인정하지 않고 그대로 넘어가는 것이 최악의 상황이라고 생각하였습니다. 또한 실수를 인정했을 때 그것을 보완하여 성장할 기회가 생긴다는 말에 공감이 갔습니다.
이 발표가 기술적인 내용은 아니지만 기억에 남았던 이유는 최근에 제가 이런 가면 증후군에 걸린 것은 아닐까 고민해본 적이 있어서입니다. 😭 제가 모르는 것을 다른 사람들에게 밝히는 것이 두렵고 부끄러운 적이 많았습니다. 하지만 이 발표를 듣고 지금 제가 모르는 것을 인정하고 조사 후에 알려드린다고 말하는 것이 저와 우리 팀을 위한 효율적인 방향이라고 생각해보았습니다.
발표 PDF는 아래 링크를 통해 볼 수 있습니다.
스타트업 개발팀에서 협업하기 — 홍석주
초기 스타트업 aaant팀의 PM팀, 개발팀 그리고 디자인팀의 협업 방식에 대한 고민을 엿볼 수 있는 세션입니다.
개발자로 일을 하시는 분들이시라면 애자일 방법론에 대해 들어본 적이 있으실 겁니다. 하지만, 항상 개념적으로만 들어왔고 실무에서는 어떤 방식으로 진행할까 라는 궁금증이 항상 존재했습니다. 이 발표에서 aaant팀이 스쿼드를 이루어서 기획부터 QA를 거쳐 프러덕트에 들어가기까지 과정인 스프린트 방식을 간단하게 소개해 주셨습니다. 소개해주신 여러 방식 중에 중요하다고 생각한 부분은 바로 스쿼드 또는 개발팀 내부에서 Sync를 맞추는 것이였습니다. 그러기 위해 스쿼드에서 이틀에 한 번 개발팀 내부에서는 데일리로 짧고 잦은 미팅을 지향한다고 하셨습니다. 팀 프로젝트를 진행하면서 구성원들끼리 데일리로 지금 하는 일, 블로킹 된 부분을 공유하면서 Sync를 맞추었던 경험이 있어 매우 공감 가는 방법이었습니다.
개발팀 협업 방식에서도 지금까지는 몰랐던 방법이 있었는데 Github Issue에 개발 전에 테스크에 대한 백그라운드나 설명에 관련된 글을 작성하여 팀원들과 공유하는 것입니다. 항상 Github Issue는 버그에 관련된 내용만 작성한다고 생각했는데 이렇게도 활용할 수 있다는 것이 신기하였습니다.
마지막으로 발표에서 기억에 남았던 내용은 개발팀에서의 개발 명세서를 보고 기능을 구현하는 것이 근본 역할이지만 프로덕트 자체에 관심을 가지고 개발해야한다는 점이었습니다.
발표를 듣고 느낀 점은 협업에 관한 방법론은 앞으로도 꾸준히 발전하겠다고 생각하는데 제가 속한 팀에서 저도 협업을 더 애자일하고 효율적으로 진행할 수 있도록 고민하고 또 고민해야겠다고 생각하였습니다.
제가 작성한 글에서는 간략하게 설명드렸는데 아래에 링크에서 더 자세히 aaant팀의 협업 방식을 확인할 수 있습니다.
그리고 불변적인 새로운 원시 타입을 소개하는 자바스크립트에 그들이 온다: 기대되는 다음 피쳐 Records 와 Tuples 발표가 있었는데 해당 발표에 관련된 내용은 더 조사하여 따로 글을 작성할 계획입니다 🖋
이벤트 🚥
이번 JSConf Korea 2022에서는 다양한 이벤트들이 즐비하였습니다.
🧐 PopupQuiz
발표 시작 전에 간단하게 발표자분을 알아갈 수 있는 시간이 있었는데요. 4개의 보기 중에 False인 보기를 고르는 문제였습니다. (처음에 True인 보기를 고르는 것으로 이해하여 당황했습니다 🙄)
문제를 맞힌 사람에게는 소정의 상품이 지급되었는데 운이 좋게도 한 문제를 맞혀 재미있어(?) 보이는 책을 받았습니다
🎖 배지 만들기
메인홀 뒤쪽 그리고 야외 부스에서 개발 관련 용어들이 적혀있는 종이를 잘라 배지를 만들 수 있었습니다.
기계에 종이와 코딩용지 그리고 클립을 넣고 펀치 하듯이 꾸욱 누르면 완성되는 배지였는데 생각보다 손기술을 요구하였습니다 🦾 잘못하면 코딩지가 떠버리는 현상이…
🎫 티겟 만들기
앞에서 소개해드린 React로 영수증 출력해보기 발표의 실제 제품을 체험할 수 있는 부스였습니다.
맥북에 영수증에 출력하고 싶은 이름과 내용을 적고 카메라에 환하게 웃고 사진을 찍으면 POS기에서 영수증이 나왔습니다!
짠! 📮
💎 경품 추첨
후원사 부스별로 경품 추첨을 진행하였는데 키보드, 에어팟 맥스 등 탐나는 경품들이 많았습니다.
카페에서 컨퍼런스에 참여한 분들과 커피챗을 하던 도중 1등에 당첨되었다는 전화를 받았습니다… 😆 1등 경품으로 레오폴드 키보드를 받았습니다! 감사합니다 잘 쓰겠습니다 🙏
마치며 🌇
생애 첫 번째 컨퍼런스로 JSConf를 갈 수 있게 되어 영광이었던 이틀이었습니다. 영어 울렁증이 있어 외국에서 온 개발자분들과 소통하지 못한 점과 제가 먼저 다른 분들에게 다가가 말을 건네지 못한 아쉬움이 있었지만, 개발자로서 관심을 가지고 조사해 볼 수 있는 주제를 알게 되었던 훌륭한 발표들과 개발의 진심인 사람들과 커뮤니케이션 할 수 있는 기회를 얻을 수 있었습니다. 다음에 참여하는 컨퍼런스에서는 더 적극적으로 소통할 수 있도록 노력하겠습니다 🙋♂️
그럼 이만 글을 줄이겠습니다.
다음 컨퍼런스는 10월 8일에 열리는 FEConf에 참여할 계획입니다.