개발자 팀원을 격하게 찾습니다

안녕하세요. 저는 써프라이즈를 운영하는 엠버스의 주시현 이라고 합니다. 훌륭한 팀원들과 함께하고 싶다 항상 되뇌이지만, 협소한 채용공고 란에서 전달할 수 있는 정보가 많지 않아 아쉬움을 느끼곤 하였습니다. 이 글을 통해 엠버스가 어떠한 회사인지 조금 더 자세히 알아가실 수 있는 기회가 되었으면 좋겠습니다.

참고: 이 글은 Backend 개발자 분과 iOS 개발자 분을 찾는 공고문 입니다.
엠버스는 어떠한 회사인가요?

엠버스는 고객이 모바일 기기를 통해 더 편리하게 쇼핑을 할 수 있는 세상을 만드는 회사입니다.

쇼핑의 편리함은 고객이 훌륭한 제품을 발견하고, 이를 놀라운 가격에 구매할 수 있도록 도움으로써 증진된다고 믿습니다.

훌륭한 제품의 발견을 돕는 것은 쉬운 일이 아닙니다. 고객의 취향을 분석하여, 원하는 상품을 똑똑하게 제시하는 것은 물론이거니와, 고객의 마음을 움직일 만한 양질의 쇼핑 컨텐츠를 제공해야 합니다.

놀라운 가격을 제공하는 것은 더더욱이 어렵습니다. 상품의 가격이 내려가기 위해서는, 브랜드의 가치를 훼손하지 않으면서, 이익률을 유지할 수 있는 똑똑한 방법이 함께 제시되어야 합니다.

엠버스는 이러한 변화를 주도하며, 국내 유통시장의 혁신을 만들어 나가고자 합니다.

그렇게 어려운 일을, 어떻게 달성 할 수 있나요?

엠버스는 고객이 쇼핑할때 꼭 이용해야만 하는, 가장 매력적인 서비스를 만들어 변화를 주도하고자 합니다.

엠버스는 2년이라는 시간동안 “써프라이즈” 서비스를 운영하며, 100만명이 쇼핑 할때 꼭 이용하는 서비스로 성장 하였습니다. 500여개의 브랜드와의 협업을 통해, 그 누구보다도 먼저, 정확하게 고객들에게 할인 정보를 제공하고 있으며, 고객의 관심사가 무엇인지 정확히 파악할 수 있는 기반을 갖추었습니다.

다른 어떠한 컨텐츠와도 차별화되는 양질의 쇼핑 컨텐츠를 제작하고 있습니다. 네이버, 카카오, 페이스북, 유투브 등 다양한 컨텐츠 플랫폼 들이 탐내하는, 고객의 신뢰를 받는 컨텐츠를 제작/유통하는 노하우를 가지고 있습니다.

저희의 꿈을 믿어주는 든든한 투자 파트너들도 있습니다. 케이큐브벤처스 (카카오), 매쉬업엔젤스, Sazze Partners (실리콘 밸리 소재), 본엔젤스, 서울투자파트너스로부터 누적 10억 이상의 투자금을 유치하였습니다. 모바일/커머스/서비스 영역에서의 다양한 포트폴리오를 가진 투자사들로부터 필요한 지식을 전달받고 있습니다.

어떤 스타트업도 성공을 쉽게 장담할 수는 없습니다. 하지만 대한민국 유통업계의 변화의 바람을 새로운 회사가 불러일으킨다면, 그 회사는 엠버스가 될 것이라는 강한 확신을 가지고 있습니다.

어떠한 사람을 찾고 있나요?
  • 써프라이즈의 Backend 를 전적으로 담당해 주실 수 있는 경험있는 개발자 (2년차 이상)
  • 써프라이즈의 iOS 를 전적으로 담당해 주실 수 있는 경험있는 개발자 (1년차 이상)

지금까지 써프라이즈는 두 명의 개발자 (저를 포함) 에 의해서 개발되고 있었습니다. 소수의 인원으로 여러 플랫폼에 대응을 하다 보니, 피치 못하게 다양한 기술 부채가 쌓였고 필요한 변화에 빠르게 대응하기 어려웠습니다.

지금 엠버스는 큰 도약을 위해 빠르게 변화해야만 하는 분기점에 서 있습니다. 훌륭한 팀원 분들과 함께 빠른 속도로 서비스를 발전시켜 나가고 싶습니다. 저희는 매력적인 서비스를 만들기 위해서 훌륭한 개발자 팀의 구성은 필수적임을 잘 알고 있습니다.

어떠한 일을 하게 되는지 더 자세히 알려줄 수 있나요?

Backend 는 api 서버를 만드는 것만을 의미하지 않습니다. 다양한 backend 에서의 이슈들을 풀어나가는 것을 포괄합니다. 먼저 저희가 사용하고 있는 인프라/스택/기술은 다음과 같습니다.

  • AWS: ec2, s3, cloudfront, elasticache
  • API: nginx — apache — mod_wsgi — django — tastypie
  • DB: postgresql, couchbase, redis, memcached
  • Etc: logstash, tornado, elasticsearch, fabric ..

이러한 경험을 가지신 분들이라면 저희와 잘 맞으실 겁니다.

  • Python을 능숙하게 다루실 수 있는 분 (저희 서버는 python을 가장 많이 활용합니다. decorator, meta class, generator 들도 심심치 않게 등장하곤 합니다.)
  • Design pattern, TDD, Clean code, pep8 과 같은 주제에 대해서 고민해 본 적이 있으신 분
  • 서버 사이드에서의 작업에 능숙하신 분 (vim/emacs, script, package 관리, instance 관리 등)
  • 주도적으로 문제를 해결한 경험이 있으신 분

Backend 에서는 아래와 같은 내용에 대한 해결책을 제시합니다.

수십만의 고객들에게 개인화된 push 메시지를 어떻게 보내야 하는가?

문제: RDB에 직접 query를 날릴 경우 push 메시지를 만들고 전송하는데 몇 시간 이상 긴시간이 소요.

해결방안: 특정 정보를 어느 고객에게 전달해야 하는 지에 대한 정보를 couchbase 의 view 를 활용하여 빠르게 뽑아내고, 메모리 상에서 모든 정보를 병합. 이후 만들어진 메시지는 distributed queue 를 통해 분산 전송함.

정확한 고객 사용 통계를 어떻게 얻을 수 있는가?

문제: 외부 analytics의 경우 특정 고객에 대한 정보를 담아내지 못함. 서버 차원에서 logging 하는 경우에는 request 가 caching 되었을때의 값을 얻어내기 어려움. 또한 정보 “노출” 과 같은 지표의 경우 매번 서버와 통신하기에 request 수가 너무 많음.

해결방안: client 에서 별도의 endpoint 로 logging 정보를 통합하여 전달하고, logstash, node.js, redis 등을 활용하여 실시간으로 사용 통계를 수집할 수 있도록 함. 복잡한 통계 값의 경우 별도 처리를 통해 RDB 에 세부 통계를 저장함.

이미지 트래픽을 어떻게 효율적으로 전달 할 수 있는가?

문제: 이미지를 확인하는 트래픽이 늘어나 이를 효율화 하는 작업이 필요함

해결방안: 다양한 이미지 포맷을 테스트 하여, 필요 요구사항을 맞추면서 사이즈를 줄일 수 있는 최적의 포맷을 선택함. (현재 이미지는 webp를 이용하고 있음) API backward compatibility 를 맞출 수 있도록, 두 가지 포맷의 이미지를 모두 생성하고 client 상태에 따라 맞추어 적합한 이미지를 전달함.

iOS 는 iOS 앱 개발만을 의미하지는 않습니다. 훌륭한 서비스를 만들기 위해서는 기획 부터 클라이언트 개발자와 디자이너가 함께 논의하며, 고객에게 최선의 효용을 줌과 동시에 개발 차원에의 고려가 동시에 이루어 져야 한다고 생각합니다. iOS App 의 현황을 먼저 말씀 드리면 다음과 같습니다.

  • Cocoa pods 로 dependency를 관리하고, objective-c 로 구현되어 있습니다.
  • UI의 경우 복잡도가 높아 storyboard 보다는 xib 위주로 관리되고 있습니다.
  • AFNetworking, JSONModel, SDWebImage, KVOController, YYImage 와 같은 외부 library를 사용합니다.
  • Google analytics와 내부 analytics 를 활용하여 사용자 정보를 획득하고, fabric (구 crashlytics) 를 활용하여 crashlog 를 수집합니다.

이러한 경험을 가지신 분들이라면 저희와 잘 맞으실 겁니다.

  • App Store 에 업로드 된 실제 서비스를 1년 이상 제작/운영해 본 경험이 있으신 분
  • 디자이너와 함께 개발 차원의 요구 사항, 고객 차원의 요구 사항을 논의해 본 경험이 있으신 분
  • Future-proof 한 code, clean code, modular한 code 를 지향하시는 분

기획 부터 디자이너와 함께 고민하는 것은 아래와 같은 방식을 통해 이루어 집니다.

  • 고객으로터 그리고 내부로부터 수집한 요구 사항을 기반으로 함께 토의하여 다음 버젼에 들어갈 항목을 발굴하고 이에 대한 우선순위를 설정합니다
  • 업데이트 항목에 대한 1차 기획안을 토대로 고객 관점, 개발 관점에서 피드백을 주고 받으며, 구체적인 개선안을 함께 만듭니다
  • 서비스 차원에서 개선이 필요한 부분을 발굴하고, 다음 업데이트에 반영이 될 수 있도록 논의합니다
  • 데이터 분석 툴에서 고객 지표를 향상시키고, 변화의 효과성을 측정하기 위해 tracking 되어야 할 항목들을 설정합니다
어떠한 사람들과 일을 하게 되나요?

저 (Sean)와 한 명의 개발자(tequilluv), 그리고 한 명의 디자이너(hongsun) 와 함께 일하게 됩니다.

tequilluv는 android를 주도적으로 담당하고 있고, hongsun은 웹/모바일/브랜딩을 포괄하는 UX/UI를, sean은 ios/server를 주도적으로 담당하고 있습니다. 각자 서로 다른 곳에서 3개 이상의 production level 의 서비스를 제작/운영해 본 경험이 있고, 엠버스에서 만나기 이전에 여러 스타트업에서 일한 경력을 가지고 있습니다. 엠버스에서는 1–2년의 기간동안 손발을 맞춰오고 있습니다.

개발 팀의 문화는 어떠한가요?

저희가 추구하고자 하는 방향이 있다면, 주도적이고, 자유로우며, 성장을 좋아합니다. 아직은 개발 팀내 문화라고 할 수 있을 정도의 무언가가 정착이 되지는 않았습니다. Kanban 과 Scrum 의 중간의 어디엔가 있는 프로세스를 이제 막 도입해 보고 있고, 주제를 잡고 재미있는 스터디를 하기 위한 방법을 논의하고 있습니다. 코드 리뷰는 필요할 때에 맞추어 하는 경우가 있으나, 이또한 체계적이지 않습니다. 하지만 자신이 해야할 일이 꼭 주어지지 않더라도, 맡은 영역에서는 문제를 찾아내어 해결하고자 합니다.

저희와 함께 개발 팀의 좋은 문화를 함께 만들어 나갈 수 있는 분과 일하고 싶습니다.

근무 환경은 어떠한가요?

현재 사무실은 논현역 도보 3분 거리에 위치하여 있습니다. 팀원이 늘어나면서 9월 말에 학동역 도보 3분 거리의 사무실로 옮길 예정입니다. 작업할 때 필요한 맥북 프로나, 점심/저녁 회사 지원과 같은 것은 당연히 제공됩니다. 출근은 10시에서 11시 사이의 어딘가에 자유롭게 출근하고, 퇴근은 할일이 끝나면 자유롭게 퇴근합니다. 불필요한 회식, 이런것은 없습니다. 저희 팀원 중에 술을 즐겨하는 사람은 소수입니다. 출퇴근 할때 입으면 안되는 옷도, 입어야 하는 옷도 당연히 없지요. (옷을 입고는 와주셔야 합니다. 진지)

지원 방법은 어떻게 되나요?

dev@mverse.co.kr 로 자유 형식의 이력서 보내주세요. 기왕이면 저희 서비스 써프라이즈는 한 번 이용해 보시고, 이 회사가 나와 잘 맞을 수 있는지 생각 한번 해주시면 감사하지요.

만나게 되면 커피는 제가 무조건 사겠습니다. 편하게 연락 주세요.