🤖

ONDA 개발팀은요,

안녕하세요. ONDA에서 백엔드 프로그래밍을 담당하고 스타벅스를 사랑하는 남자 Brian입니다. 영어 이름이라고 해서 외국인은 아니고요. 숙박 B2B 플랫폼 스타트업 온다에서는 모든 구성원이 영어 이름을 씁니다. 확실히 영어 이름을 쓰면 누구나 동등한 눈높이에서 대화가 가능한 장점이 있는 것 같습니다.
글을 쓰는 이유는 제가 다니고 있는 온다의 기업문화, 서비스 개발 방식을 알려드리고 싶어서 인데요. 조금 쑥스럽지만 온다 입사를 생각하시는 분들께 조금이나마 도움이 됐으면 좋겠습니다.

내가 스타트업 ‘온다’를 선택한 이유

제가 개발자로 일한 지는 15년이 넘어가는데요. 이전에는 오디오 전문 기술 기업과 주차장 관련 중견 기업에서 오래 일했습니다. 스타트업 이직 전에는 안정적으로 경력도 잘 쌓았고, 처우도 좋았죠.
하지만 어느 순간 다람쥐 쳇바퀴 도는 것과 같은 직장 생활을 한다는 느낌이 왔어요. 또 실제 비즈니스를 잘 모르면서 회사가 시키는 걸 개발하면서 ‘하라는 것만 하는 게 내가 원하는 직장 생활인가?’라는 의문이 들기도 했습니다.
이런 틀을 깨고 싶었서 한창 스타트업의 붐이 일었을 때 스타트업으로 이직을 했습니다. 사실 제가 스쿠버 다이빙을 좋아해서 관련 사업을 하긴 했었지만… 눈물이 날 것 같아서 이 이야기는 안 하겠습니다.
아무튼 온다에 입사한 이유는 정말 시장이 원하는 제품을 만들어 보고 싶어서였어요. 숙박 산업의 유통 구조가 급격하게 온라인화되면서 시장의 문제점이 커지고 있는데요.
시장의 문제점을 해결하면서 성장하는 게 스타트업이잖아요? 이런 회사의 성장에 기여한다면 나중에 후회하지 않을 거라고 생각했어요.

저는 온다에서 실패한 ‘팀장’이었습니다

ONDA는 손을 들면 일단 기회를 줍니다. 저도 입사한 지 3개월 만에 손을 들었어요. 여차저차해서 제가 팀장 역할을 하게 됐죠. 그런데 잘 안됐어요. 솔직히 말씀드려서 철저하게 실패했어요. 팀이 폭파됐죠. 지금 생각해보면 당시 제가 팀장으로서 설정한 방향과 회사가 원하는 방향이 안 맞았던 것 같아요. 커뮤니케이션에 문제가 있었던 거죠.
그때 정말 정말 아팠어요. 잘하려고 온다에 들어왔는데, 회사에 피해만 끼친 것 같았죠. 그래서 Kevin(온다 CEO)에게 이야기했어요. 저 회사 나갈까요? 그러니까 Kevin이 그러더군요.
“Brian이 실패한 건 실패한 겁니다. 하지만 그걸로 그냥 끝내면 회사나 Brian 모두에게 남는 게 없지 않을까요? 앞으로 회사에서 어떤 역할을 할 수 있을지 고민해서 말해주세요”
그때부터 다시 처음부터 고민해 봤어요. 어떻게 일하는 게 맞는지, 회사 내에서 내가 할 수 있는 일이 뭔지. 회사의 방향, 팀원들 사이의 시너지 등 이런 부분들을 생각했죠.
제가 온다에서 일하면서 느낀 건 결국 ‘내가 움직여야 하고, 먼저 물어봐야 한다’는 부분이었습니다.
대기업이나 오래된 조직은 모든 게 매뉴얼화돼 있어요. 그런데 스타트업은 그렇지 않아요. 내가 일을 잘하기 위해서는 팀원들과 많은 이야기를 나눠야 하고, 저를 도와줄 사람을 찾아야 합니다. 가만히 있으면 안 되요. 또 우리 회사에는 숙박 산업의 전문가들이 정말 많은데요. 나의 고민을 이분들께 여쭤보고, 함께 커뮤니케이션하며 답을 찾아내야 해요.
진짜 소통이 중요한 조직인 스타트업이고, 온다에선 일에 관해선 누구나 편하게 대화할 수 있는 문화가 자리잡혀 있습니다. 해야 하는 일은 개인이 스스로 찾아야 하지만, 답은 함께 찾는 조직이 스타트업인 것 같아요.
결국 당시 저는 PMS(Property Management System) 본부의 일반 개발자 포지션으로 돌아갔어요. 지금은 다시 팀장 역할을 하고 있지만 만약 저보다 더 좋은 분이 온다면 언제든지 일반 팀원으로 돌아 갈수 있다고 생각해요. 팀장이나 팀원이나 똑같은 회사의 한 구성원이라고 생각해요. 역할이 다른 것뿐이죠.
당신의 회사에서 실패한 사람을 어떻게 대우하나요? 실패는 성공의 어머니라고. 실패의 경험을 소중하게 생각한다는 회사는 많습니다. 아마존의 제프 베조스도 그랬죠. “실패와 발명은 분리할 수 없는 쌍둥이다. 발명하려면 실험해야 하고, 성공할 줄 알면 그것은 이미 실험이 아니라고”
하지만 이런 실패 예찬론이 ‘구호’로만 그치는 회사는 정말 많습니다. 심지어 열심히 일하다가도 뭐 하나 실패하면 “그것봐라, 설치다가 꼴 좋다”며 조소를 날리는 곳도 부지기수죠. 온다는 확실히 실패에서 배울 수 있는 기회를 주는 조직이라고 생각합니다.

온다가 찾는 개발자는?

요즘은 많은 개발자가 ‘언젠가는 창업을 할 거야!’라고 생각하십니다. 성공적인 창업을 하려면 개발도 잘해야 하지만 자신이 창업하는 영역에 대해서도 잘 알아야 하죠. 그런데 꼭 창업을 준비하는 개발자만 비즈니스를 이해해야 할까요?
아닙니다. 개발자도 자신이 속한 영역에 대한 이해가 있거나 공부할 자세가 돼 있어야 해요. 온다에는 숙박 산업의 전문가가 많습니다. 그들과 커뮤니케이션을 통해 시장의 니즈를 파악하고, 이를 서비스로 구현해 내는 게 개발자입니다.
코딩 실력은 일하면서 발전할 수 있어요. 하지만 다른 사람의 이야기를 경청하고, 자신의 생각을 다른 사람에게 설득하려는 자세는 스스로 갖춰야 한다고 생각합니다. 우리가 코딩해서 만드는 서비스는 결국 시장에 나가서 ‘사람’이 사용하는 제품입니다. 당연히 다른 사람을 이해하려는 노력, 시장을 공부하려는 자세가 필요하죠.

온다 PMS 개발실이 일하는 방법

저희는 애자일 개발 방법론이 가장 좋다? 워터폴은 쓰레기야! 이런 생각은 없습니다. 그때그때 프로젝트에 맞춰서 맞는 방법론을 사용합니다. 2021년 4월 현재 개발 중인 PMS 2.0은 워터폴 방식으로 만들고 있습니다.시장에 빠르게 나가야 하기에 기획자가 기획하고, 디자이너가 디자인을 입히고, 개발자는 개발에만 전념하는 방식을 선택했죠.
어떤 방법이든 장단점이 있다고 생각해요. 이후 아주 디테일한 조사가 필요하고, 시간을 가지고 꾸준히 만들어야 하는 프로젝트가 시작되면 다시 애자일한 방법론을 쓸 수도 있을 겁니다. 우리는 어떤 방법론이 가장 베스트다, 이것만 해야 한다! 그런 접근은 하지 않습니다.
더불어 온다와 다른 회사의 차이점은 개발 일정을 ‘개발자’ 스스로 정한다는 점입니다. 개발 일정을 개발자가 정하면 다른 조직에 우리가 약속하는 것과 같습니다. 약속을 어기면 신뢰가 깨지고, 제가 가장 싫어하는 점입니다. 그렇기때문에 더더욱 우리는 일정을 지키려고 노력합니다. 지금까지는 대부분 일정을 지켜왔죠. 조직 간의 신뢰가 무너지면 회사가 절대 건강하게 성장할 수 없어요.
이를 위해 팀장으로서 저는 팀원들이 업무에 집중할 수 있는 시간을 최대한 많이 확보해 주려고 노력합니다.

온다 PMS 개발팀 이모저모

온다의 개발자가 구체적으로 어떻게 일하는지도 궁금하실 거 같은데요. 각 내용들을 최대한 간단명료하게 설명해 보겠습니다.

업무환경

2021년 ONDA도 업무환경이 많이 변했습니다. 제가 입사했던 초기에는 다른 회사들과 마찬가지로 회사로 출근하는 것이 일상이었습니다. 그러나 현재는 완전히 다른 문화가 자리잡게 되었습니다.
2020년에는 COVID-19의 출현으로 반 강제적으로 재택근무에 돌입하게 되었고, 구성원들의 좋은 피드백과 결과덕분에 2021년에는 주 1회 사무실출근 형태로 안정화 단계로 접어들었습니다.
재택근무의 일상화로 인해 Slack Call이 일상화되었고, 대부분의 미팅은 Slack에서 이루어지게 되었습니다. 지식 동기화가 중요가치로 등장하게 되었고, 이에 따른 문서화 및 공유 문화가 자리잡았습니다.

개발

저는 PMS 개발팀에서 근무하고 있고, 사내 Official Language는 Typescript를 사용하고 있습니다. NestJS FrameWork을 이용해서 개발을 진행하며, 모든 infra는 AWS상에서 운영되고있습니다. 사용되는 서비스는 EC2, S3, MSK(kafka), Aurora(mysql), Redis, ElasticSearch등 다양한 AWS Service에서 운영되고 있습니다.

배포

배포를 위한 CI/CD PipeLine은 Github Action통해서 Test 및 Build 후 AWS Elastic BeansTalk로 배포되는 시스템을 운영 중입니다. Hotfix 배포의 경우에는 수정 및 테스트 후 언제든 무중단 배포를 할 수 있습니다. 월요일부터 목요일까지는 자유롭게 배포가 가능하고, 특별한 이슈가 없는한 안정적인 주말을 보내기 위해 금요일 배포는 지양하는 편입니다.

코드리뷰

Code Review는 배포 전 항상 팀원의 리뷰를 거쳐야하고, Develop Level에서부터 Code Review가 끝나지 않으면 배포가 되지 않습니다. 코드가 배포되면 팀원 모두의 코드가 되기때문에, 장애가 발생하면 모두의 책임이기도 합니다. 따라서 꼼꼼히 코드를 리뷰하고 있습니다.
일상적 Code Review뿐만 아니라 매주 Community Day를 진행합니다. 개발자들이 생각하는 이슈 및 좀더 나은 퀄리티를 유지하기 위한 문제를 다 같이 논의하고 있습니다.
모니터링
Error Tracking System은 Sentry를 사용하고 있으며, 로그는 모두 ElasticSearch에 기록되고 있습니다. Error 발생 시 Slack으로 알림이 오고 있어서 배포 및 에러 발생에 대한 모니터링을 진행하고 있습니다.
이상 제가 온다에 온 이유, 온다 개발자가 일하는 방식, 제가 느낀 온다의 장점 등을 말씀드렸는데요. 온다에 관심이 있는 분들께 제 글이 조금이나마 도움이 되셨으면 좋겠습니다. 감사합니다 :)
TOP