Tech
TBIF 백엔드 플랫폼에서 금요일을 보내는 방법
2023. 07. 06TBIF 백엔드 플랫폼에서 금요일을 보내는 방법
안녕하세요. 화해 백엔드 플랫폼 소속 김선혜입니다.
이 글을 통해 화해 백엔드 플랫폼에서 금요일을 보내는 방법을 보여드리려 합니다.
저희 플랫폼에서 금요일은 꽤 중요한 시간인데요. 매주 금요일은 백엔드 플랫폼의 개발 문화를 만들고, 구성원들의 공동 성장을 효과적으로 이루어내기 위한 시간으로 활용하고 있습니다. 이를 위한 방법으로 밋업을 진행하고 있습니다. 밋업이라고만 하면 감이 잘 오지 않을 것 같아 간략한 설명과 더불어 이때까지 제가 참여했던 활동을 소개해드리려고 합니다.
밋업 시간을 보내는 방법
밋업 시간에는 각자 원하는 주제를 선정해 비동기 조별 활동을 하며 주제는 업무와 유관한 내용으로 선정하기도 하고, 업무와 직접적인 연관성은 없지만 평소에 관심이 있거나 흥미를 가지고 있던 주제를 선정하기도 합니다. 각자 선정한 주제를 바탕으로 조별로 모여서 약 2시간 정도 활동합니다. 이 시간을 통해서 업무 관련 공동 성장을 이룰 수도 있고, 개인적인 성장도 이룰 수 있어 만족도가 굉장히 높은 편입니다.
다양한 밋업 주제들
플랫폼 구성원들이 매번 다양한 주제를 등록해 주시는데, 오늘은 제가 참여했던 활동들을 위주로 설명해보려 합니다.
첫 번째 활동. MySQL 스터디
두 달 여의 시간 동안 MySQL 스터디를 했습니다. 같이 책을 보고 공부하면서 MySQL 트랜잭션, 인덱스 등 MySQL의 전반에 대해 배우는 것이 목표였습니다. 저는 백엔드 플랫폼 소속이지만 업무를 진행하다 보면 Database를 다뤄야 하는 일도 있고, ORM을 사용할 때 쿼리를 더 효율적으로 작성하고 싶어 스터디에 참여했습니다.
발표자가 챕터를 선정하면 팀원들은 출근 전/퇴근 후 게더에 모여 주 1회 온라인 비동기 스터디를 합니다. 밋업을 하는 2시간 동안 1개 챕터 전체를 온전히 숙지하고 활용하기에는 어려움이 있다고 판단하여 개인 시간을 조금 더 투자하는 방향으로 진행하기로 한 것인데요.
게더타운에 모여서 온라인 비동기 스터디 진행
온라인 비동기 스터디는 참여율을 높이기 위해서 소액으로 벌금 제도를 운영했는데 조원 분들 모두 대부분 빠짐없이 참석해 주셨습니다. 공부하는 시간을 정해놓고 함께하니 집중도가 매우 높아지는 경험을 할 수 있었습니다. 매주 금요일에는 한 명씩 발표자를 정해 세미나 형식으로 발표를 진행하고, 퀴즈와 피드백 시간을 가졌습니다. 비동기 스터디에서 이미 공부한 내용을 다시 세미나 형식으로 반복해서 들으면서 이해도를 크게 높일 수 있었고, 배운 내용을 기억하는데도 효과적이더라구요. 두 달간 스터디를 통해 많은 것을 배웠습니다. 이를 토대로 업무할 때 더 신중하게 생각하게 되었고, 보다 넓은 시각으로 DB 설계를 할 수 있게 되었습니다.
스터디에서 배운 정보들이 다른 분들에게도 도움이 될 만한 내용이라는 생각이 들어 골든벨 퀴즈를 제안해 ‘성장 나눔’하는 시간도 가졌습니다. 20문제를 만들어 퀴즈를 풀고 각 문제에 대한 설명과 함께 스터디한 내용을 정리한 PPT를 공유함으로써 백엔드 플랫폼 구성원들에게 지식을 전파하는 ‘성장 나눔’을 할 수 있는 소중한 기회였습니다.
이렇게 게더에 O/X 퀴즈 맵을 꾸며 진행했습니다. 생각보다 많은 분들이 참여해주시기도 했고, 문제도 굉장히 잘 풀어주셔서 뿌듯한 시간이었습니다!
두 번째 활동. 페어 프로그래밍으로 게임 만들기
다음으로는 약 한 달간 페어 프로그래밍으로 게임 만들기를 했습니다. 4명이 한 조를 이뤄 세 명의 내비게이터와 한 명의 드라이버로 구성하여 한 사람당 10~15분씩 돌아가며 코드를 작성했습니다. 게임을 구현하기 위해서는 클라이언트 작업도 필요하다 보니 vue js를 이용해서 직접 개발도 했습니다. 2명은 클라이언트, 저와 다른 한 분은 백엔드 작업 위주로 진행했습니다.
게임 시작 및 닉네임 입력 페이지
게임은 닉네임을 입력하여 시작할 수 있도록 구현했습니다. 게임을 시작하면 제일 첫번째 방으로 진입하게 되고, 캐릭터 앞에 보이는 문을 클릭하면 다음 칸으로 넘어갈 수 있도록 게임을 구현했습니다. 또한, 미로 맵이 동적으로 생성되도록 하는 작업과 미로를 통과한 시간을 기준으로 사용자별 랭킹 조회 기능 개발도 함께했습니다.
게임 랭킹 조회 페이지
이렇게 페어프로그래밍을 진행한 이유가 몇 가지 있습니다. 첫째는 서로의 개발 노하우를 공유하는 것이고, 둘째는 과제를 스스로 정의하는 것부터 시작해 설계하고 구현하면서 분석 능력 및 문제 해결 능력을 키우기 위함입니다.
실제로도 요구사항을 직접 정의하면서 개발하다 보니 고려해야 할 사항이 많다는 걸 깨달았고, 실시간으로 코드를 함께 작성하면서 배울 수 있는 부분도 많았습니다. 시간을 정해놓고 하다보니 재밌는 상황들이 발생하기도 하고, 제 차례가 오기 전에 어떤 작업을 해야 할지 미리 생각하면서 드라이버가 작업하고 있는 부분에도 더 집중할 수 있었습니다. 또 같은 백엔드 플랫폼이지만 각자 다른 밴드에 소속되어 있는 분들과 페어프로그래밍을 통해 협업한다는 것만으로도 의미 있는 시간이라는 생각이 들었습니다.
세 번째 활동. 디자인 패턴 공부하기
마지막으로, 현재 진행하고 있는 밋업은 디자인 패턴 공부하기입니다. 코드를 작성하는 것 자체는 글을 쓰는 것과 비슷해 같은 내용을 가지고도 작성 방법은 다양합니다. 그래서 코드를 작성하거나 코드리뷰를 할 때 특정 패턴을 가지고 내가 작성한 코드에 대해 이야기할 수 있으면 좋겠다는 생각을 많이 해왔는데요. 마침 디자인 패턴 학습 관련 밋업 주제를 제안해 주신 분이 계셔서 참여했습니다.
매주 하나의 패턴에 대해 공부하고 구현해 보는 시간을 가지고 있습니다. 이전과는 다르게 이번에는 밋업 2시간 동안 각자 공부하고 구현한 내용이나 배운 내용을 공유하는 형식으로 진행하고 있습니다. 각자 패턴을 바라보는 시각이나 구현한 내용에 차이가 있다 보니 다양한 의견을 들을 수 있습니다. 하나의 패턴에 대해서 논의하더라도 어떻게 활용할 수 있을지 여러 의견을 들어볼 수 있고, 구현한 내용을 서로 설명하고 보완하는 시간을 가져서 굉장히 의미있는 활동입니다.
패턴 자체를 이해하고 능숙하게 활용하려면 개인 시간을 충분히 투자해야하는 것은 맞지만, 밋업 시간에 배운 내용을 개인적으로 더 깊이 공부하다 보니 패턴을 익히는 과정이 훨씬 수월해졌습니다.
맺음말.
이렇게 제가 참여한 밋업 활동 중 3가지를 소개해드렸습니다. 꽤 다양한 활동을 했는데 이렇게 블로그를 통해 많은 분들께 소개하게 되어 정말 뿌듯합니다.
더 나은 개발자가 되기 위해서는 늘 배우고 성장하는 것이 가장 중요하다고 생각합니다. 이를 위한 방법으로 화해 백엔드 플랫폼에서는 다양한 주제로 밋업을 진행하고 있고, 동반 성장과 자율 성장을 함께 이뤄내고 있습니다. 또한 좋은 개발 문화가 있어야 팀원들의 소통과 협력이 잘되어 더 나은 서비스를 만들 수 있다고 생각하는데, 밋업이 좋은 개발 문화 중 하나로 도움을 주고 있습니다.
개발 문화를 구축하기 위해서 밋업 TF에서도 매번 애써주시고, 플랫폼 구성원들도 진심으로 참여해 주신 덕분에 유지가 잘 되기도, 더 나은 문화가 생겨나기도 한다고 생각합니다. 이렇게 많은 분들의 노력으로 이루어지고 있는 활동인 만큼 저 또한 더 열심히 활동해보려 합니다. 앞으로 어떤 활동을 하게 될지, 또 어떻게 성장할지 기대하며, 저의 첫 번째 글을 마무리하겠습니다.
읽어주셔서 감사합니다.
TBIF 백엔드 플랫폼에서 금요일을 보내는 방법
이 글이 마음에 드셨다면 다른 콘텐츠도 확인해보세요!