안녕하세요! 스포카 프로그래머 김수현입니다.

저는 약 한 달 전, 스포카에 신입 프로그래머로 합류하게 되었는데요, 스포카 크리에이터 팀은 신규 입사자의 빠른 업무 적응과 자기 주도적 문제 해결을 돕기 위해 입사 후 약 한 달 동안 부트캠프 프로그램을 진행하고 있습니다. 이 기간에 신규 입사자는 부트캠프 위원회1의 도움을 받아 스포카 내의 여러 제품 및 시스템을 사용해보고, 자신이 찾은 문제점을 직접 개선해보는 시간을 가지게 됩니다.

지금부터 신규 입사자로서 제가 지난 한 달 동안 겪었던 부트캠프 경험을 공유하려고 합니다. 부트캠프의 진행 과정과 기간은 소속과 직군별로 조금씩 차이가 있을 수 있다는 점을 미리 알려드립니다.

Week 1. 부트캠프 시작

간단한 오리엔테이션과 초기 셋업, 역할극 등을 진행합니다. 또 Confluence에 정리된 스포카 직원 직무 매뉴얼을 읽으며 회사에 적응하는 시간을 갖습니다.

오리엔테이션

입사 후 첫 주에는 부트캠프 위원회와 함께 부트캠프에 관한 설명을 듣고 업무 문화와 회사 미션, 주요 서비스 및 팀 구성 등의 소개를 받습니다. 스포카의 문화에 관한 정보는 아래 기술 블로그의 글을 참고해주세요.

초기 셋업

스포카에서 지급받은 장비(맥북이나 델 노트북 및 24인치 모니터)에 주요 업무 툴과 제품군, 컴퓨터 환경 등을 세팅합니다. 스포카에서는 수많은 협업 툴을 사용하여 서로의 업무 진행 상태를 공유하고, 문서화를 통해 이를 기록합니다.

  • Slack
  • 1Password
  • JIRA
  • Confluence
  • Transifex
  • Periscope
  • Bitbucket
  • Github organization

또 부트캠프 기간 동안 다음과 같이 데일리 스탠드업을 통해 서로의 상태를 공유하는데요, 편리한 데일리 스탠드업 미팅을 위해 업무 메신저인 Slack과 연동 가능한 스탠드업 앨리스 앱을 사용하기도 합니다.2

데일리 스탠드업을 통해 온도체크, 작업 내용 리뷰 등을 진행합니다.

7시가 되면 퇴근 리마인더가 작동합니다.

부트캠프 참여자는 정시에 퇴근하지 않으면 책상이 뒤집힌다는 소문이...

역할극

스포카에서는 도도 포인트라는 마케팅 통합 솔루션을 만들고 있습니다. 역할극은 실제 운영중인 제품을 사용해 봄으로써 제품에 대한 이해도를 높이고, 점주 입장에서 문제점을 직접 찾아보며 자기 주도적 개발을 장려하는 과정입니다. 1~2시간 동안 다음 시나리오를 가지고 어떤 서비스를 사용해야 하며, 어떻게 해야 효율적으로 사용할 수 있을지를 중점으로 두고 진행하게 됩니다(앞으로 합류하게 될 스쿼드의 목표에 따라서 역할극을 생략하기도 합니다).

  1. 매장 방문 고객 시점

    • 고객이 매장에서 물건을 구입하고 도도 포인트 스토어앱(매장의 태블릿에 설치되어 방문하는 고객에게 포인트 적립 및 사용 서비스를 제공하는 앱)을 통해 포인트를 적립합니다.
    • 포인트 적립이 완료된 후 고객 정보를 입력합니다.
    • 매장에서 포인트 사용을 안내받고 포인트를 사용해봅니다.
    도도 포인트 스토어앱
  2. 매장 점주 시점

    • 도도 포인트 스토어앱도도 포인트 어시스트(매장의 POS에 설치되어 도도 포인트 스토어앱이 설치된 태블릿과 연동되어 동작하는 서비스)가 준비된 태블릿 및 POS를 사용하게 됩니다.
    • 고객이 포인트 적립 의사를 밝히면, 적립을 진행합니다.
    • 고객이 포인트 사용 의사를 밝히면, 포인트 사용을 진행합니다.
    • 도도 매니저(점주가 직접 고객 정보를 관리할 수 있는 서비스)를 통해 고객이 적립한 실시간 이력, 고객 목록 확인, 메시지 및 쿠폰 발송 등의 작업을 진행해봅니다.
    도도 매니저

실제 매장 환경에서처럼 직접 서비스를 사용해보기 때문에 서비스의 목적과 기능을 이해하는 데 도움이 굉장히 많이 된다고 합니다. 중간중간에 깨알 재미 요소도 많아서 편안하고 즐겁게 진행할 수 있었다는 피드백이 많습니다.

역할극 진행 과정 일부

Week 2~3. 서비스의 주

서비스의 주는 1주 차의 역할극 등을 통해 기존 서비스들을 사용해보면서 발견한 다양한 이슈를 자유롭게 해결해보며 코드를 이해하고 친숙해지는 기간입니다.

이슈 진행

스포카는 제품을 개발하는 과정에서 SOA(Service Oriented Architecture)를 채택하고 있습니다. SOA란 비즈니스를 기능별로 추상화하고, 서비스를 나누어 각각 독립된 웹서비스로 구현하며, 이 여러 서비스가 서로 통신하며 커다란 한 서비스의 기능을 하도록 하는 아키텍처 모델입니다. 이로 인해 주요 서비스가 동작하기 위한 수많은 마이크로서비스(Microservices)가 존재합니다.

이 기간 동안 Github 저장소에 있는 이러한 주요 서비스 및 마이크로서비스에 익숙해지며 각종 이슈를 해결해보는 시간을 가지게 되고, 문제를 해결하기 위해 코드를 분석하고 파악하는 과정 속에서 주요 코드 패턴이나 코드 리뷰 문화에 익숙해질 수 있습니다. 또한 부트캠프 위원회와의 페어 프로그래밍(Pair programming)을 통해 적극적으로 서로의 지식을 교환하거나 노하우를 전수하기도 합니다.

이슈 진행 예시

Week 4. 인프라의 주

스포카에서는 대부분의 서버가 Docker 컨테이너로 배포 표준화되어, 이를 Amazon ECS에 올려서 사용합니다. 또한 Route 53, ELB/ALB, S3, CloudFront 등 여러 AWS 기능들을 아주 많이 사용하고 있습니다. 이러한 AWS 인프라CI/CD 환경 등에 익숙해지기 위해 사내 생산성을 높일 수 있는 도구들을 만들어보고 실제 프로덕션 서비스와 똑같은 구조에 배포해보는 시간을 갖습니다.

프로젝트

3주 동안 스포카에서 생활하면서 불편하다고 느꼈던 점이나 추가되었으면 좋겠다고 생각한 기능을 프로젝트로 직접 구현해보게 됩니다. 이 과정에서 서비스의 구상부터 릴리스까지 맡아 진행해볼 수 있습니다. 또한 완성되면 실제 업무에 활용할 수 있기 때문에 더욱 뜻깊은 프로젝트입니다.

스포카 크리에이터 팀은 현재 리모트, 플렉서블 근무 제도를 시행하고 있습니다. 저는 이 탄력적인 근무 제도를 조금 더 편하게 사용할 수 있도록 스포칸만을 위한 근무시간 도우미 앱을 만들어 보기로 하였습니다. Google Calendar APIGoogle OAuth 2.0을 이용하여 앱에서 스포카 G Suite 계정에 로그인하면 API 서버에서 Google 캘린더에 근무시간 이벤트를 추가, 수정할 수 있도록 구현하였습니다.

근무시간 도우미 앱 실행 화면

Week 5. 자유의 주

부트캠프 마지막 주에는 자유의 시간을 갖습니다. 이 기간에는 인프라의 주 프로젝트 결과물을 보완하거나 이슈를 진행3하는 등 어떤 작업을 진행해도 좋습니다. 부트캠프 최종회고4를 마지막으로 부트캠프의 모든 일정이 마무리됩니다. 이번 회고에서는 의견을 나누던 중 “부트캠프 기간 동안 다른 분들이 바빠 보이셔서 말을 걸기 어려웠다”는 이야기가 나왔고 찌르기 규칙(부트캠프 진행자가 참여자에게 주기적으로 잘 되어가고 있는지 확인해주자는 규칙)을 새로 도입하기로 했습니다.

마치며

이렇게 지난 한 달 동안 경험한 부트캠프 과정을 소개해드렸는데요, 부트캠프의 가장 큰 장점은 주도적인 문제 해결이라고 생각합니다. 일반적인 교육 프로세스가 아닌, 직접 운영되고 있는 서비스의 개선과 업무 프로세스를 익히고 발전하는 과정을 통해 많은 것을 느낄 수 있습니다. 돌아보면 새로운 문화에 적응하는 과정이 어렵기보다 즐겁게 느껴졌던 이유는 위와 같은 과정을 많은 분들이 노력해서 준비해주셨기 때문이라고 생각합니다.

감사합니다.

  1. 부트캠프를 총괄하고 진행하는 위원회입니다. 보통 부트캠프 참석자 1명당 위원회 멤버 2명과 오거나이저 1명으로 구성됩니다. 

  2. 스탠드업은 팀에 따라 대면하지 않고 Slack을 통해서만 진행하기도 합니다. 자세한 내용은 스포카에서는 어떻게 리모트, 플렉서블 근무를 할까 를 참고하시면 됩니다. 

  3. 시간이 없어서 진행하지 못한 이슈, 소속 팀에서 미뤄뒀던 이슈, 기존 팀원이 처리중이던 이슈 등 원하는 이슈를 맡아 진행합니다. 

  4. 보통 매 주 회고를 진행하고 마지막 주엔 최종회고를 통해 정리하는 시간을 갖습니다. 자세한 내용은 스포카에서는 회고를 어떻게 할까? 를 참고하시면 됩니다. 

스포카에서는 프론트엔드 프로그래머, 시니어 풀스택 프로그래머를 채용 중입니다! 웹 프론트엔드에 관심을 가지고 공부하는 디자이너, 뛰어난 서버 개발자 등 각자의 분야에서 전문적인 사람들이 능력있는 분들과 함께 일하기를 기대하고 있습니다. 채용 정보 페이지를 확인해주세요!