오픈서베이가 소비자 데이터 플랫폼으로서 탄탄히 성장할 수 있는 건 쉽고 빠르고 정확하게 데이터를 수집할 수 있기 때문입니다. 그 배경엔 데이터 수집 앱인 오베이(Ovey)가 중요한 역할을 해왔죠.
최근 오픈서베이는 20만 패널이 활발히 활동하는 설문조사 앱 오베이에 이어, 미션 참여형 리워드 앱 ‘큐럼블(Qrumble)’을 오픈베타로 출시했습니다. 더 나은 사용성을 만들고 더 다양한 데이터를 수집하기 위해 큐럼블 앱 개발에는 어떤 시도가 있었을까요? iOS 앱 개발자 에드가를 만나 큐럼블에 적용된 새로운 기술과 오픈서베이 앱 개발 문화에 대해 들어봤습니다.
안녕하세요. Survey Tribe, App Squad의 iOS 개발자 에드가입니다.
지난 3월 말 큐럼블 앱을 오픈베타 버전으로 출시했어요. 큐럼블 또한 오베이처럼 설문조사를 진행하고 리워드를 지급하는 앱이에요. 참여 과정이 복잡한 설문이나 연속성이 있는 미션을 통해 더 다양한 소비자 데이터를 모으고자 새로운 앱을 개발했습니다.
큐럼블(Qrumble) 앱 화면
개발 측면에서 말씀드리면, 오베이는 설문을 통해 주로 텍스트나 이미지 데이터를 수집해요. 약 10년간 서비스한 앱이고 폭넓은 주제의 설문을 진행하는 만큼 사용자 연령대도 10대부터 70대까지 굉장히 넓죠. 그렇기 때문에 기능 개발이나 수정 시에 비교적 보수적으로 합니다. 변경 고지가 부족하거나 특정 대상에 맞춰 기능을 개선하면 전체적인 사용성에 문제가 생길 수 있으니까요.
그에 반해 큐럼블은 비정형 데이터를 수집하는 데에 특화된 앱이에요. 패널이 미션이나 다이어리 등의 설문에 참여하고, 음성이나 동영상 등의 데이터를 만들 수 있죠. 개성 있는 비주얼을 보여드리려고 준비했고요. 다양한 형태의 데이터를 모을 수 있도록 새로운 기능을 개발하고, 무엇보다 개발 과정에서 최신 기술을 도입하는 시도도 했습니다.
큐럼블은 iOS 환경에서는 SwiftUI와 Combine을 활용해 개발했고, 안드로이드 환경에서는 Jetpack Compose로 개발했어요.
iOS 기준으로 설명해 드리면, 프로젝트 인터페이스를 SwiftUI로 잡았는데 현업에서는 나름대로 큰 도전이었어요. 간편하고 빠르게 사용자 인터페이스를 구현할 수 있지만, SwiftUI 개발한 앱은 iOS 13 버전 이상의 디바이스에서만 쓸 수 있어요. 소프트웨어 지원 버전 때문에 사용자가 한정적인데다, 기존 프레임워크인 UIKit과 구현 방식도 다르고 대체하지 못하는 기능도 아직 꽤 있고요.
도입을 고민하던 중이었는데 프로젝트에 본격적으로 착수할 2021년 여름 무렵, SwiftUI 3.0 버전이 나왔어요. 기능 업데이트도 많이 됐고 버그도 많이 잡혔길래 논의 끝에 큐럼블 iOS 앱은 SwiftUI로 개발하자고 결정했어요.
“오픈서베이가 새로운 기술에 열려 있고,
앱 개발 과정에서 개발자 의견이 큰 비중을 차지해요.”
개발자 의견을 중심으로 결정했어요. 최종 의사 결정까지 안드로이드 개발자인 로이와 자주 논의하고 기술 리서치도 많이 했습니다.
기술의 변화와 발전을 고려하니 답이 나오더라고요. 개발 환경을 최신화하면 회사 차원에서 레거시 시스템을 줄이고 장기적인 개발 비용도 최소화할 수 있거든요. 서비스 운영도 더 수월할 수 있고요. 최신 기술을 도입하면 어려움은 있겠지만, 현시점에서 기존 프레임워크 그대로 UIKit으로 전체적인 프로젝트 구조를 잡는 건 결국 레거시를 알고도 만드는 셈이라는 생각이 들었어요.
IT 업계에서는 시간이 지남에 따라 기존의 낡은 기술을 정리하고 점진적으로 새로운 기술로 옮겨가는 게 너무 당연해요. 기술은 과거의 불편함을 해소하고 새로움을 더하면서 더 나은 방향으로 발전하니까요. 그런 이유에서 CTO인 폴 또한 ‘언제나 완벽한 코드는 없다’고 말씀하시거든요. 마이그레이션 이슈를 고려하면 프레임워크 전환이 필요하다는 것에 폴도 공감하셨고 개발자인 저와 로이의 의견을 긍정적으로 지지해주셨죠.
개발자로서 최신 기술과 성장에 대한 열망도 있었기 때문에, 시행착오를 겪더라도 iOS는 SwiftUI로, 안드로이드는 Compose로 개발해보자고 결정했어요. 이런 배경에는 큐럼블이 신규 프로젝트이기도 하지만, 오픈서베이가 새로운 기술에 열려 있고 앱 개발 과정에서 개발자 의견이 큰 비중을 차지하기 때문이기도 합니다.
네, 예상했던 것처럼 물론 있었죠. (웃음)
다들 그렇듯 저도 앱 개발 중에 뭔가 막히거나 생각대로 결과가 안 나올 때 기술 리서치를 하는데요. SwiftUI 레퍼런스가 많지 않아서 자료를 찾는게 정말 어려웠어요. 큐럼블에 딱 맞는 기능의 레퍼런스를 발견하기는 더 어려웠고요.
그럴 땐 안드로이드 개발자인 로이와 논의하며 해결했습니다. 플랫폼은 다르지만, 기술적인 것을 떠나서 접근 방식을 참고할 수 있었어요. 같은 기능을 개발하기 위해 안드로이드에서 어떻게 접근했는지 보고, 저도 접근 방식을 바꿔보면서 이슈를 풀어갔어요.
어려움도 꽤 있었지만, SwiftUI과 Jetpack Compose 모두 선언형 개발 프레임워크라 앱 개발의 효율성은 훨씬 높아졌어요. 그렇게 확보한 시간은 코드 퀄리티나 UI에 대한 고민 등 다른 부분에 더 신경 쓸 수 있었고요. 코드 가독성이 높아지니 유지 관리도 한결 쉬워서, 앞으로 사용자 의견이나 요구사항을 비교적 빠르게 반영할 수 있을 것 같아요.
“큐럼블 앱의 프로젝트 인터페이스를 SwiftUI로 도입한 건
개발자인 저에게도, 회사에게도 큰 도전이자 최적의 선택이라고 생각해요.”
제 기존 경험을 돌아보면, 오픈서베이 앱 개발의 가장 큰 매력은 기능 확장성이 크다는 점이에요. 큐럼블이나 오베이 모두 소비자 데이터를 수집하는 창구예요. 사용자 입장에서는 어떤 설문에 참여하고 얼마나 리워드를 받을 수 있느냐가 중요한 부분이겠지만, 개발자 입장에서는 내외부 고객의 니즈에 따라 얼마나 많은 형태의 데이터를 수집할 수 있게끔 기능을 개발하느냐가 관건입니다. 다시 말해, 설문의 목적에 따라 많은 유형의 데이터를 수집하기 위해 어떤 한 영역에 국한되지 않고 다양한 과제를 풀어볼 수 있는 거죠.
이 부분은 저도 오픈서베이에 입사하기 전까지 몰랐어요. ‘설문조사’하면 떠오르는 전형적이고 단순한 기능만 구현하거나 뻔한 것만 개발하지 않을까 하는 걱정도 내심 했었거든요. 그런데 막상 입사하고 일해보니 개발 범위가 생각보다 더 다양했어요. 하나의 앱 안에서도 이미지 주석, 동영상 응답 등 여러 가지 기능을 붙여볼 수 있어요. 앞으로도 풀어나가야 할 새로운 과제들이 많다는 건 앱 개발자에게 좋은 기회라고 생각해요.
또 다른 매력은 레거시부터 최신 기술까지 여러 경험을 할 수 있고, 특히 이제 막 시작한 큐럼블에선 앱 성장 곡선을 초기부터 함께 그려 나갈 수 있어요. 조직 사이즈나 프로덕트 특징에 따라 성장의 폭이나 사이클이 다르겠지만, 앱 트래픽이 올라가면서 개발자는 다양한 이슈를 경험하게 되고 그 과정에서 성장하잖아요. 성장 유지기보단 훨씬 다채로운 경험을 할 수 있다는 게 개발자로서 큰 매력이라고 느껴요.
우선 제품개발그룹은 프로덕트 중심의 스쿼드로 일해요. 앱 스쿼드에는 PM, 백엔드 개발자, 앱 개발자, UX 디자이너, QA, CX 담당자가 속해있고, 오베이, 큐럼블, 앱 어드민 등의 개발을 담당합니다.
오픈서베이는 앱 개발자의 자율도가 비교적 높은 편이에요. SwiftUI 기반으로 큐럼블을 개발하기로 한 것도 그 덕분이죠. 앱 개발자인 저는 팀과 기획이나 디자인 리뷰 후에 기능을 어떻게 구현할지 본격적으로 고민하고 개발 일정을 잡아요. 그 과정에서 iOS와 안드로이드 개발자가 함께 논의를 합니다. 구현 난이도가 iOS, 안드로이드 플랫폼별로 달라서 계획대로 일이 진행되기 어려울 때도 있는데, 플랫폼 특징에 대해 공유하고 논의하면 예상치 못한 상황에서도 대처법을 찾기가 더 쉽거든요.
“앱 개발자인 제가 느끼는 오픈서베이 앱의 가장 큰 매력은
기능 확장성이 크다는 점이에요”
소통이요.
특히 앱 스쿼드는 재택근무의 비중도 높아서, 각자 업무 현황에 대해 많이 공유하려고 합니다. 개발 이슈를 혼자 아무리 고민하더라도 제가 말하지 않으면 팀에서는 일이 잘 진행 중이라고 생각하실 수밖에 없어요. 프로덕트가 계획대로 잘 완료되는 게 무엇보다 중요하니까, 그에 불필요한 간극은 줄이도록 많이 소통하는 편이에요.
그리고 서로 이해할 수 있는 언어로 소통하려고 노력을 많이 기울여요. 앱 개발자는 PM, 디자인 등 다양한 직군과 협업하는데, 이때 제가 개발 언어로만 얘기하면 팀원들이 100% 이해하기 어려울 수 있어요. 각자의 입장이 다르기 때문에 함축해서 설명하면 제 의도를 전달하는 데도 한계가 있고요. 그래서 시간이 좀 걸리더라도 최대한 쉽게 설명하고 서로 이해한 내용이 동일한지도 확인해요. 때로는 글이나 대화보다 직접 A/B 테스트를 해볼 수 있도록 샘플링해서 보여드릴 때도 있고요.
“훌륭한 앱 개발자들과 함께 더 나은 의사 결정을 하고,
사용성이 더 좋은 앱을 만들어가고 싶어요.”
첫번째로는 긍정적인 분이요. 기능 개발이나 유지/보수 작업 중엔 뜻대로 일이 잘 안될 때도 있고, 특히 앱 개발자는 기획과 디자인을 다 고려해야하기 때문에 협업 과정에서 어려움이 생길 수 있거든요. 이럴 때 부정적이거나 방어적인 태도보다는 긍정적으로 일이 잘 되는 방법을 찾을 때 일하는 분위기도 좋고 결과물도 더 좋더라고요.
그리고 앱 사용성 개선에 의지가 있으신 분이 오시면 좋겠어요! 오픈서베이는 제품개발그룹뿐 아니라 회사 전체적으로 누가 시켜서 일하는 분위기가 아니에요. 업무 자율도가 높죠. 주도적으로 업무를 정의하고, 어떻게 하면 오픈서베이 앱을 사용자 친화적으로 만들 수 있을지 고민하는 걸 즐기신다면 팀과 일하는 스타일도 잘 맞을 것 같아요.
책임감도 중요합니다. 오픈서베이가 최신 기술을 도입하는 데 열려있긴 하지만 새로운 것이 무조건 좋은 건 아니거든요. 기술의 장단점과 서비스와의 핏을 꼼꼼히 확인하고 팀에게 잘 설명하고 설득하는 일을 개발자가 해야 해요. 아이디어를 자유롭게 앱에 실현해볼 수 있는 환경이라 장기적으로 서비스에 필요한 기능일지를 판단하는 것도 개발자의 몫이고요. 서비스와 회사, 그리고 개발자 본인의 커리어 모두가 성장하는 방향으로 나아갈 수 있도록 일에 대한 책임감을 갖추신 분과 함께 일하면 좋겠습니다.
앱 개발자가 2명 이상의 팀으로 일하면 중요한 의사 결정을 함께하고, 코드도 서로 검토하면서 개선점을 더 찾아볼 수 있는데, 현재는 iOS, 안드로이드 각각 한 명이 개발하니까 그런 과정이 부족해서 아쉬웠거든요. 좋은 분이 오셔서 함께 일한다면 더 나은 의사 결정을 하고 더 사용성 좋은 앱을 만들어갈 수 있을 거라고 생각합니다.
“에드가와 함께 일하고 싶으시다면
지금 바로 입사 지원을 해보세요”