idus-Tech
Published in

idus-Tech

[interview] 아이디어스팀 개발 조직이 일하는 방법

핸드메이드 문화를 혁신해 나가고 있는 아이디어스팀에서 성일님과의 인터뷰를 통해 ‘아이디어스팀 개발 조직에서 일하는 것의 의미와 일하는 방식’에 대해 들어보았습니다.

Part 1. How I started.

Q. 안녕하세요 성일님, 다양한 경력의 소유자라고 들었습니다! 이전 커리어와 함께 자기소개 해주실 수 있으실까요?

안녕하세요, 최성일입니다. 저는 모바일 앱 게임 개발자로 IT업계에 입문했고요. e-commerce 서비스에 매력을 느끼는 15년 차 개발자입니다. SK컴즈, 쿠팡, 야놀자에서 모바일 앱과 프론트 시스템 개발 리더 역할을 담당했었고, 비즈니스, 프로세스 및 기술 등 다양한 문제들을 해결하며 커리어를 쌓아가고 있어요.

Q. e-commerce에는 어떤 매력을 느끼고 계실까요?

우선 e-commerce는 굉장히 빠르고 비즈니스 지향적입니다. 세 가지가 저에게는 매력 포인트인데요.

​첫째, 고객의 피드백이 즉각적으로 매출에 반영되기 때문에 우리가 잘한 것과 개선해야 할 것을 실시간으로 확인할 수 있다는 것이고요.

​둘째, 고객지향적 사고와 빠른 실행 등 비즈니스 마인드 기반으로 문제를 해결하는 과정 자체가 매력이에요.

​셋째, 비대면 소비시장의 폭발적 성장이라는 메가 트렌드를 볼 때, 이커머스의 성장성이 매우 높다고 판단되고요. 빅데이터와 머신러닝, 추천 기술 등을 접목할 수 있는 환경 자체가 개발자에게 큰 매력으로 다가옵니다.​

Q. e-commerce 서비스는 많고 많은데, 아이디어스팀에 합류하게 된 특별한 계기가 있을까요?

AI와 로봇, 디지털로 가득 찬 4차 산업 시대가 도래하면서, 우리는 0과 1로 이루어진 가상의 세계에 살고 있다고 해도 과언이 아닌데요. 그럴 수록 사람들은 human made에 정겨움을 느끼고 직접 손으로 만드는 것들에 가치를 두는 시대가 올 거라 생각해요.

​한편으로는 대량 생산과 최저가, 빠른 배송이 대세인 커머스 시장에서 정반대의 길을 걷고 있는게 아이디어스가 처음에는 너무 이상하고 궁금했는데요.

​동환님(CEO), 보람님(COO/CPO)을 만나서 아이디어스의 매력에 대해 들을 수 있었고, MZ세대가 소비의 중심축으로 떠오르고 있는 상황에서 ‘나만의 개성과 정체성’을 표현할 수 있는 특별함을 무기로 MZ세대를 공략하는 아이디어스라는 서비스에 매력을 느끼게 되었어요​

​아이디어스에는 쾌감이 있는 것 같아요.

학창 시절 남들과 같은 방향을 달리는 운동장에서 나 혼자 반대로 달리는 희열? 그런데 알고 보니 이 방향도 비즈니스 목적지는 같은 길인거죠.

​다들 같은 방향으로 우르르 뛰어갈 때 반대쪽 방향으로 뛰고 있는 거예요.

​그런데 확실히 눈에 띄어요. 역설적이기는 하지만 반대 방향으로 뛰는 것이 더 빠르게 비즈니스 목적을 달성할 수 있는 현명한 방법이 될 수 있어요.

Part 2. idus ‘s Tech team

Q. 성일님이 추구하시는 개발 문화는 어떤 문화일까요?

자율& 책임, 고객에 집중하는 개발 문화

① 누구나 자기 의견을 솔직하게 말할 수 있는 문화

② 자기 의견과 다르더라도 치열한 토론 끝에 결정된 사항에 대해서는 모두가 한 방향을 향해 뛰어갈 수 있는 문화

③ 셀프 리더십을 바탕으로 해야 할 일이 무엇인지 정의하고 완결성 있게 업무 처리하는 문화

시키는 일만 하다 보면 개발 과정에서 ‘이거 잘 안될 것 같은데?, 해야 하나?’라는 마음가짐으로 일하게 되는데요, 그렇게 일하면 좋은 결과물이 나오지 않아요. 개발 요청이 왔을 때 이 일을 왜 하는지 스스로에게 반복적으로 질문하고, 충분히 공감하고 이해하는 상태에서 시작해야 더 좋은 결과물을 낼 수 있습니다.

​고객에 집중하는 문화를 만들고 싶다고 말씀드렸는데요.​

비즈니스에서 새로운 기능을 제안한다면 저희는 이 제안이 ‘정말 고객을 위한 것인가?’, ‘해결하고 싶은 근본적인 문제는 무엇인가?’ ‘공감대가 형성되는가?’ 목적을 달성하는데 집중하여 팀에서 다시 논의하고 재정의해요. 이 기능을 만들어줘! 라고 하면 ‘어떤 비즈니스 가설을 검증하기 위해 만들어 달라고 했을까?’ 고민하는 거죠.

Q. 아이디어스팀에서 개발자로서 일하는 매력이 궁금합니다!​

‘이게 진짜 스타트업이구나’ 하면서 일하는 느낌이 좋아요. 완벽하지는 않지만 빠르게 시도하고 지속적인 변화를 추구하거든요. 스타트업은 각자 스테이지가 다르지만 비즈니스 성장 속도가 매우 중요하다고 생각합니다. 저희는 성장이 진행 중인 단계이고요.

fail fast !

아이디어스팀의 현재 스테이지에서 가장 필요 한 일은 빠르게 실패하고 학습하여 다음 단계로 넘어가는 것 이에요.

예를 들면 데이터 기반 비즈니스 분석이 가능한 환경을 구축하기 위해 ‘Client log 구조 및 Data pipeline을 개선하고 Bi(Business Intelligence) tool 을 제공한다’ 라는 목표를 세웠고, 4개월 만에 프로젝트를 완료하였습니다.

현재는 다양한 소스로부터 데이터를 추출하고 가시화하여 데이터 기반으로 의사결정하고 있어요.​

또 이커머스에서 가장 중요하다고 할 수 있는 검색 서비스를 새롭게 구축하였습니다. Scale out 가능한 ES Cluster, 고객 Feedback 기반 랭킹, 형태소 분석기 및 퀄리티(도메인 사전 기반) 시스템을 도입하여 지속적으로 검색품질 개선이 가능한 환경을 갖추게 된 거죠.

​빠르게 실행하고 의미 있는 결과물을 만들 수 있었던 이유는 빠른 의사결정과 실행력이 있었기 때문이 아닐까 생각해요.

대기업이나, 다른 회사에서는 새로운 시도를 할 때 사전에 많은 검증과 협의를 하는 경우가 많잖아요? 신중하게 의사결정하는 것은 분명 좋지만 그만큼 속도가 느려지게 되는 것 같아요. 아이디어스팀은 스타트업답게 고속 성장을 위한 최소한의 원칙과 기준을 가지고 빠르게 의사결정합니다.

​또한 아이디어스팀은 장애를 빠르게 인지 할 수 있는 모니터링 시스템과 명확한 롤백 플랜을 가지고 두려움 없이 새로운 것에 도전하고 있습니다.

​장애를 발생 시키지 않는 것이 가장 좋겠지만 비즈니스 성장을 위해 신속하게, 또 다양한 시도를 하다 보면 크고 작은 실수로 인해 장애가 발생하는 경우가 많습니다. 배포 있는 곳에 장애가 항상 있을 수 있다는 가정하에 ‘얼마나 빨리 장애를 감지하고 해결(롤백)할 수 있는가’가 매우 중요할 것 같습니다.

​이 과정에서 시행착오도 발생하게 되지만 실패를 통해 배우고 학습하며 한 단계씩 성장하는 것이 아이디어스팀에서 일하는 방법이자 매력인 것 같아요.

Q. 아이디어스팀 테크 조직이 일하는 방식 소개 해주시겠어요?

매 분기 목표를 설정하고 이에 대한 Planning을 진행합니다. 그리고 이 목표를 달성할 수 있는 주요 기능들을 3주 단위 Sprint 단위로 개발하여 서비스에 적용하고 있어요.

​Planning

해당 분기에 가장 중요한 문제 정의를 시작으로 데이터 검증, 가설 수립, 해결 방안에 대해 심도 있게 논의한 후 목표와 액션 아이템들을 수립합니다.

​Sprint

3주 안에 진행할 수 있는 MVP 스펙을 정하고 일정을 예측한 뒤 계획성 있게 개발/배포를 진행하고 있고요,

최근에는 서비스의 프로덕트 청사진을 만들기 위해 Design sprint를 진행하는 등 다양한 방법을 이용하여 전략을 수립하고 있습니다.

​이 과정들에서 가장 중요한 건 비즈니스에서 세운 가설과 기대효과를 개발자와 디자이너가 함께 검증하고, 구체화 시킬 수 있는 계획을 수립하는 것, 그것이 저희 플래닝에 핵심일 것 같습니다.

Q. 최근 기술적으로 한 단계 더 성장하기 위해 기술 전환 프로젝트를 진행하고 있다고 들었는데요! 아이디어스팀의 기술 스택과 언어 어떻게 전환하고 있나요?

사실 대대적으로 전환하고 있는 과정입니다.

더 복잡도 높은 비즈니스 요구 사항을 수용할 수 있도록 확장 가능한 시스템 구축하기 위한 일환으로 보시면 될 것 같아요.​

Android

개발 생산성과 효율화, 테스트 케이스 작성이 가능한 개발 환경을 만들기 위해 Java에서 Kotlin으로 전환, 아키텍처는 MVC에서 MVVM으로 전환하고 있습니다.​

iOS

안드로이드와 동일한 목적하에 Objetive-C에서 Swift로 언어 전환 및 각 도메인별 모듈화를 진행하고 있습니다. 이 뿐만 아니라 안정성을 높이기 위해 ​MVVM 기반의 테스트 가능한 구조로 아키텍처 전환을 진행하고 있어요.​

Front-end

PHP에서 Typescript와 Node로 기술 전환을 진행하고 있습니다. 현재는 PHP의 SSR(Server Side Rendering) 방식의 렌더링을 사용하고 있는데요, 사용자 환경에서 더욱 빠른 초기 렌더링 및 SEO(Search Engine Optimization)를 위해 SPA(Single Page Application) 와 SSR(Server Side Rendering)의 장점을 합친 Universal(Isomorphic) Application으로 개발하고 있습니다. 이와 더불어 재사용 가능한 컴포넌트 개발을 위해 주로 Vue 및 React​ 관련된 기술 스택을 사용하고 있습니다. ​

Back-end

Monolithic으로 구성되어 있는 Legacy PHP 시스템에 Modern PHP 개발 방식을 도입해 비즈니스를 빠르게 서포트 하고 구성원의 성장을 함께 도모하고 있습니다. 더 나아가 Java, SpringBoot 기반으로 도메인 분리 작업을 진행 중이고, 이런 MicroService를 통해 지속 증가하고 있는 트래픽을 안정적으로 소화할 수 있도록 만전을 기하고 있습니다.​

Data platform

AWS Cloud 기반 (EMR-Presto,Spark/Kinesis/MSK/…)의 데이터 수집/분석 환경 구축이 진행되었습니다. 언어는 데이터 분석에 많이 쓰이는 ​Scala/Python​ 을 활용하고 있습니다.​

Search & Recommend

검색 서비스를 위해 기본적으로 필요한 Component별 구축은 완료되었습니다. 주로 Redis, Kafka, ES Cluster, Cloud Formation과 같은 기술들을 사용하고 주언어는 Java입니다. 검색 Ranking과 추천 품질 향상을 위해서 ML(Word embedding, Image similarity, HMM, TF-IDF, NER, 형태소분석기)기술을 사용하고, 언어는 Java / Python을 주로 사용하고 있습니다.​

DevOps

AWS로 마이그레이션을 결정하면서 Terraform과 ECS를 중심으로 서비스를 운영하고 있습니다. 앞으로는 복잡해지는 비즈니스 요구 사항을 보다 빠르고 유연하게 개발할 수 있도록 Kubernetes(EKS) 도입을 시험 중이며 올해 내 프로덕션 환경에 일부 적용하려고 합니다. Terraform을 비롯한 IaC 도구를 적극적으로 활용할 계획입니다.

Q. 아이디어스팀에서는 One Team이라고 느낄 때가 많다고 하던데, 어떨 때 One Team 문화를 느끼시나요?

장애 발생 시 담당자가 아니더라도 많은 분이 One team으로 나서서 해결을 위해 같이 고민하고 해소해요.

솔루션을 찾기 위해서는 동료들과 함께 One team 정신으로 고민하고 분담하는 것이 중요하다고 생각해요. 누구의 일인지 따지는 문화는 사일로 현상이 나타나고, 문제를 해결할 때 다른 팀과 협업 시너지를 내기 어렵거든요. 아이디어스팀에서는 그런 One team 문화가 내재화 된 동료들을 곳곳에서 만나 볼 수 있어요.

​가장 기억에 남는 건 입사 2일째에 발생 한 장애인데요.

동환님이 방송에 출연하셔서 한 포털사이트 실시간 검색어에 등장하고, 평소 대비 트래픽이 3배까지 올라갔어요. 저희 시스템이 감당하지 못할 트래픽이었던 거죠. (DB를 내어주고 포털사이트 검색 순위를 얻었습니다) 이 과정에서 개발자, 마케터, 운영 담당자, 그 외에도 수많은 동료들이 모여 해결하기 위해 협업하는 모습이 굉장히 인상 깊었어요.

​누구 하나 이 장애에 대해서 뭐라고 하는 사람이 없었고, 해결하기 위해 무엇을 하면 되고, 어떻게 하면 고객 응대를 잘 할 수 있을지? 딱 거기에만 포커스 되어 문제 해결에 집중하고 여기서 더 좋았던 건 CEO인 동환님이 나타나서 한 한마디도 인상적이었던 것 같아요.

​‘ 저 때문인가요?, 제가 TV 광고에 출연했기 때문인가요?’

왜 이런 일이 발생했을까요? 빨리 장애를 해결해 주세요, 우리 시스템은 뭐가 문제인가요? 이런 이야기 아니라, 위트가 있어서 좋았어요.​

Part 3. Join idus!​

아이디어스팀의 개발자는 000이다, 성일님의 생각 들려주세요.

Solutioner

아이디어스팀의 개발자는 비즈니스를 리딩 할 수 있는 솔루션을 만드는 사람들이다.​ 개발자는 비즈니스 및 서비스에서 발생하는 다양한 문제들을 기술적으로 해결해 나가는 사람들이라고 생각합니다.

뛰어난 개발자는 문제 정의를 잘하고 해결하는 사람들이니까, 그런 사람들이 모인 아이디어스팀 개발자들을 Solutioner 라고 표현하고 싶어요.

자기 주도적으로 일하고 싶으신 분들, 비즈니스를 리딩 하고 싶으신 분들, 스타트업답게 빠르게 결과물을 내고 싶으신 분들은 망설이지 말고 아이디어스팀에 합류하세요!

Written by idus Friends Cell

Content writer
Youngmin Lee & Saeyeon Park

아이디어스팀과 함께 할 테크인재를 영입 중 입니다!
지금 여기에서 지원해 보세요!

--

--

아이디어스팀 테크조직의 일하는 방식, 기술 스택, 구성원에 대한 이야기를 여러 컨텐츠로 전달하려고 해요.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store