구글이 나 대신 일하게 하는 법

왓챠
WATCHA
Published in
6 min readDec 22, 2021

--

Google Apps script를 활용한 비효율 개선기

안녕하세요. 왓챠 피플팀의 지나입니다.

이번 블로그에서는 Google Apps script를 활용해 업무에서 비효율을 개선한 이야기를 담아보려 해요(비용 절감은 덤!).

단순한 복사 붙여넣기의 반복 업무에서 오는 비효율을 개선하고 싶지 않으신가요?

저는 단순 반복 업무가 따분하고 지루하게 느껴졌어요. 단순 반복에만 족히 3일 이상 걸리는 일들도 있어 시간이 아깝기도 했죠. 게으른 저는 이런 업무를 하는 시간에 더 의미있는 일을 하고 싶은 욕심이 생겼어요.

이런 단순 반복을 가장 잘하는 친구가 누구일까 생각하다 적임자를 찾았습니다.

바로 Google Apps script였어요. 내가 시키는대로만 하는 이 친구, 내 행동을 순서에 맞게&&잘만 입력해주면 나 대신 비효율적인 일들을 해준다니 너무 짜릿했죠. 해당 업무들은 구글 문서에서 하고 있으니 이미 내가 필요한 기능들을 모두 명령어, 레퍼런스로 갖고 있는 Google Apps script를 잘 구워삶아보자!하는 생각으로 내가 그리고 우리팀에서 하는 비효율적인 업무를 맡기게 되었어요.

Google Apps script로 개선할 일들은 조건이 있어요.

  1. (당연하게도) 구글 문서/드라이브를 기반으로
  2. 주기적/반복적으로 해야하는 일 : 가짜개발자는 스크립트를 짜는데 많은 시간이 걸리기 때문에 일회성 작업이라면 단순 반복이 더 빠르답니다🥲

이 조건을 토대로 두 가지의 작업이 1차 목표가 되었어요.

  1. 새로운 동료의 수습기간에 대한 리뷰
  2. 더 나은 협업을 위한 360도 피드백

각 작업물에서는 우선 결과물에 대한 그림을 그려야했어요.

a. 어떤 플로우로 업무를 하고 있는가?

b. 개선하고자 하는 비효율이 무엇인가?

c. 스크립트의 결과는 어떤 형태를 가져야 하는가?

1. 새로운 동료의 수습기간에 대한 리뷰

a. 어떤 플로우로 업무를 하고 있는가?

  1. 하나의 설문 시트를 통해 수습리뷰를 수합함
  2. 응답 시트에서 대상자별 수습리뷰 내용을 소팅함
  3. 개별 파일을 만들어 수습리뷰 내용 옮김
  4. 개별 파일에 대한 권한을 설정함
  5. 담당 매니저(팀리더, 이사)에게 파일을 공유함

b. 개선하고자 하는 비효율이 무엇인가?

- 외부 시스템을 사용하지 않고 구글 스프레드를 이용하여 비용 절감
- 수작업으로 이루어지는 대상자별 파일 생성, 리뷰 내용, 권한 설정

c. 스크립트의 결과는 어떤 형태를 가져야 하는가?

- 대상자별 각 질문에 대한 동료들의 응답이 담긴 시트
- 팀리더 & 운영담당자에게 파일 권한 부여

응답 시트의 특정 셀에 대상자 이름을 적으면 해당 대상자에 대한 리뷰 내용을 담은 파일이 만들어지고, 파일의 권한이 설정되는 스크립트를 작성했어요.

이제, 새로운 동료의 수습기간에 대한 리뷰 운영에서 파일 생성과 공유업무가 간단해 졌어요!

수습리뷰를 운영하는 젬마의 후기

💎: 저는 오늘도 지나가 만들어준 스크립트 기능을 이용했는데요. 이게 없었더라면 ‘10분가량 단순 ctrl+c, ctrl+v 작업만 반복 했겠다’ 싶어서 아찔하더라고요! 스크립트로 업무의 질을 높일 수 있었어요 (thumbs up!).

2. 더 나은 협업을 위한 360도 피드백

a. 어떤 플로우로 업무를 하고 있는가?

  1. 공통 설문에 대한 개인별 응답 취합
  2. 개인별 응답을 반영한 개별 설문지 제작
  3. 개인별 응답, 개별 설문지 url 공개 & 필수작성 대상 안내
  4. 개별 설문지를 작성하지 않은 동료 파악
  5. 더 나은 협업을 위한 피드백 내용 개별 공유, 전달 및 면담

b. 개선하고자 하는 비효율이 무엇인가?

- 동료 개인별 설문지 제작
- 개인별 설문지 url 수합
- 모든 개별 설문지에 대한 작성자/미작성자 파악

c. 스크립트의 결과는 어떤 형태를 가져야 하는가?

- 동료 개인의 응답을 반영한 개별 설문지
- 개별 설문지의 url을 모은 콘솔 파일
- 피드백 대상자와 작성자의 매칭 정보

왓챠의 360도 피드백은 정량적 평가를 위한 시스템이 아닌 동료와의 더 나은 협업을 위한 정성적 피드백으로 개인화된 피드백 운영을 시도하고 있어요.

공통 설문에 대한 동료 개인의 응답을 반영한 개별 설문지를 만들고 설문 url을 한 파일에 모으는 스크립트를 작성했어요. 선택 응답 유무에 따라 설문 문항의 형태가 달라지는 옵션이 있어 조건을 넣다보니 100줄 가량의 코드가 탄생했어요🙄

피드백을 아직 작성하지 않은 동료를 알아볼까요? 피드백 대상자와 작성자의 매칭 정보를 파악하기 위해서 아래의 스크립트를 작성했어요. 갈 길이 먼 가짜 개발자는 url 리스트가 끝나는 시점에 스크립트로 종료하는 코드를 넣지 못해 매칭이 완료됐을 것 같은 적당한 시점에 스크립트를 수기로 종료했다는 후문을 남기며..

이제, 360도 피드백은 무한 복붙의 운영업무에서 벗어나게 되었어요.

javascript를 기반으로 하는 Google Apps script이기에 javascript의 기본 문법을 배웠어야 하는데요.

hello world 띄우기부터 시작해 백틱(`)과 작은따옴표(‘)의 차이도 몰라 뭐가 문제지?! 하면서 끙끙대고, getValues()와 getValue()의 차이를 보지 못해서 이름 데이터로 시트를 만드는데 알파벳 하나씩 가져와 시트가 만들어진 문제도 경험했어요😩

왓챠는 비개발직군에서 발생하는 비효율적인 업무들을 개발직군과 이야기하면서 스크립트 혹은 슬랙봇과 같이 개발을 통해 문제를 해결하는 ‘먼데브런치 Mon-Dev Lunch’라는 세션을 운영하고 있어요.

먼데브런치 운영자로 함께하면서 더 가치있는 일에 집중할 수 없도록 만드는 비효율들을 마주하게 되었고, 먹이를 잡는 법을 배우자는 다짐에서 효율화의 첫걸음을 시작하게 되었어요.

이렇게 왓챠에서는 개발업무를 하지 않더라도 hello world를 만나고 javascript를 익히는데 누구나 시도해볼 수 있는 환경이 마련되어 있어요. 또한 이런 비효율이 담긴 문제들을 함께 논의하고, 누구든 해결할 수 있는 역량을 키울 수 있는 문화를 가지고 있답니다.

지나의 전담 헬프데스크와 코드리뷰를 기꺼이 자처해준 fly🍳, moon🌕에게 감사의 인사를 전해요. 더 효율적으로 비효율을 개선하는 가짜개발자가 되겠다는 포부를 남기며 글을 마칩니다.

이렇게 비효율을 경계하고, 더 가치있는 것들에 집중하려는 왓챠의 문화와 함께하고 싶은 분은 아래의 채용정보를 확인해주세요. 감사합니다!

--

--

왓챠
WATCHA

왓챠와 왓챠피디아를 가꾸고 있어요.