언어의 장벽을 넘어 개발로 소통하는 ‘진짜’들이 모인 곳 | 백엔드 엔지니어링 팀
8 min read

언어의 장벽을 넘어 개발로 소통하는 ‘진짜’들이 모인 곳 | 백엔드 엔지니어링 팀

Engineering
Nov 18
/
8 min read

안녕하세요. 전세계 유일의 농축수산물 B2B 무역 플랫폼 트릿지입니다.

TTT: Tridge Team Talk 는 트릿지를 이루고 있는 각 팀의 속사정을 낱낱이 살펴보는 콘텐츠로, 실제 트릿지의 팀원의 하루 일과와 문화 등, 대외 언론에는 전하지 못했던 트릿지人의 생생한 이야기들을 담고 있습니다.

TTT 2편의 주인공은 트릿지의 든든한 기술 지원군, 백엔드 팀입니다. 고객들에게 제공되는 프로덕트부터 트릿지의 각 팀이 활용하는 업무용 내부 툴까지, 그 손길이 닿지 않는 곳이 없는 백엔드 팀의 리드 스테픈을 만나봤습니다.

안녕하세요. 자기소개 부탁드려요.

안녕하세요, 제 이름은 스테픈이고, 프랑스 출신입니다.  2016년 초에 트릿지가 막 설립됐을 때부터 합류했으니 트릿지에서 일한 지 거의 6년이 되어 가네요.

백엔드 팀의 주요 업무를 소개해주세요!

백엔드 엔지니어링에서 다루는 영역은 광범위합니다. 저희가 다루는 영역을 간단히 말씀드리자면 웹사이트와 API 운영을 위한 어플리케이션 요구사항 충족, 클라우드 컴퓨팅, 데이터 요구사항 충족 등으로 요약할 수 있어요. 가장 주된 업무는 당연히 트릿지에서 제공하는 모든 프로덕트의 서버 요구사항을 충족시키는 것입니다.

트릿지에서 제공하는 프로덕트는 크게 두 가지가 있어요. 첫 번째는 ‘www.tridge.com’ 웹 사이트로, 고객 대상으로 웹 사이트 내에 크고 작은 많은 애플리케이션을 제공합니다. 두 번째는 저희가 ‘TMS’라고 부르는 내부 구성원용 애플리케이션입니다. 이 두  사이트의 백엔드 영역을 모두 담당하고 있어요.

백엔드 엔지니어링팀의 업무에 대해 조금 더 자세히 설명드리자면, AWS에 호스팅하는 모든 데이터베이스를 담당하고 있습니다. 또한 동시에 여러 컨테이너 환경을 운영하고 있어서, Kubernetes와 Elastic 컨테이너 서비스를 활용해 트릿지의 웹사이트를 호스팅하고 있어요. 더 나아가, 검색어 자동 완성 기능 지원, 데이터 필터링 성능을 최적화를 위해 Elasticsearch와 같은 더 많은 프레임워크 리소스를 사용합니다.

트릿지 플랫폼을 자세히 살펴보면 백엔드팀이 더 많은 기능을 담당하고 있다는 것을 확인하실 수 있답니다. 백엔드팀은 농수산물의 가격, 뉴스, 날씨, 생산 데이터의 로데이터를 수집하여 분석하고 구조화합니다. 이 데이터를 트릿지 사용자들이 활용하기 편리한 형태의 정보로 만들어 제공하는 것까지 백엔드팀의 역할입니다. 즉, 백엔드팀에서는 미가공 상태의 로데이터를 수집하고 관련 팀과의 협력을 통해 숨겨진 가치와 구조를 찾아내야 합니다. 물론, 앞서 말한 데이터도 모두 백엔드팀에서 책임지죠.

데이터를 구조화하고 나면 백엔드 엔지니어링을 시작하고 사용자를 위한 시스템을 구현합니다. 따라서 백엔드팀의 주요한 역할은 기본적으로 모든 팀이 필요로 하는 서버 리소스를 제공하는 것이라고 할 수 있죠. 메일 전송, 뉴스레터 관리, 캠페인 툴을 관리하는 등 마케팅팀과 긴밀하게 협력하기도 합니다. 트릿지 구성원들이 계산이나 견적 산출에 필요한 로데이터를 이용할 수 있도록 데이터 웨어하우징도 지원하죠. 그래서 내부 구성원들이 내부 데이터를 이용할 수 있도록 시스템을 구축해야 합니다. 이렇게 정리해보니 정말 많네요.

백엔드팀의 역할이 굉장히 중요하군요.

모든 팀은 절대적으로 백엔드팀과 관련되어 있어요. 예를 들어, 풀필먼트팀의 운영 업무를 처리하기 위한 기능과 툴도 백엔드팀에서 지원하죠. 풀필먼트팀에서 사용하는 TMS의 메일 시스템을 통해 메일이 실제 사용자에게 어떻게 전달되는지는 물론, 시스템 상의 재정적 위험과 현금의 흐름을 어떻게 지속적으로 관리할지, 정보를 추적하려면 어떤 시스템을 만들어야 하는지 고민합니다.

또한, 다른 팀에서 필요로 하는 기능을 구현하기도 합니다. 예를 들어마켓 인텔리전스팀이 농수산물 관련 컨텐츠를 만드려고 한다면, 백엔드팀에서 컨텐츠를 만들 수 있도록 서비스와 API를 구축해야 합니다. 팀 운영을 위해 기술적 도움이 필요하다면 필연적으로 백엔드팀과 일해야만 하죠.

백엔드팀에서 상당히 많은 업무를 처리하는 것 같은데, 높은 품질을 유지하는 비법이 있나요?

저희 팀원 수가 적은 편인데, 팀을 운영하기 위해 몇 가지 원칙을 따르고 있습니다.

첫번째 원칙은 신뢰입니다. 팀원 모두가 최선을 다하고 있다는 신뢰가 있어야 하기 때문입니다.. 뿐만 아니라 팀원 스스로에게도 일을 해낼 수 있다는 믿음이 필요합니다.

두번째 원칙은 열정입니다. 저희가 달성하려는 목표가 정말 높기 때문이죠.그래서 열정을 가지고 목표를 달성하고자 하는 내적인 에너지가 필요해요.

그 다음은 책임감인데요, 단순히 마감일을 지켜 일하는 것에서  끝나지 않고 일에 대한 주인 의식을 가져야 합니다. 특정 기능을 구현하고 나서도 오류 및 성능 모니터링하고 개선 방안 제안하는 등 기능에 문제가 없게끔 책임져야 하는 거죠. 그리고 다른 팀원의 프로젝트에 대해 관심을 가져야 합니다. 앞서 언급했듯이 다양한 프로젝트를 동시에 진행하기 때문에 프로젝트 간 목적이나 기술적 환경이 겹치기도 합니다. 그래서 다른 팀원들이 무엇을 하고 있는지 알고 있어야지만 비효율을 최소화하고 공통의 목적을 함께 달성할 수 있습니다.

그리고 마지막 원칙은 지식입니다. 백엔드라는 개념에는 DevOps, 인프라, 데이터베이스 관리, 애플리케이션 구축, API, 스키마 등과 같은 다양한 하위 개념이 포함되어 있습니다. 이러한 모든 개념을 이해하기 위해서는 많은 지식이 필요합니다. 그래서 배우는 것을 좋아하고, 정보를 찾고, 새로운 것을 추구하는 사람이 필요합니다.

트릿지 백엔드 엔지니어 팀은 지금까지 말씀드린 네 원칙을 통해 높은 품질을 유지합니다.

백엔드팀의 문화와 원칙을 지키기 위해 팀원들과 어떻게 협력하고 소통하나요?

선적으로 백엔드 팀의 문화와 융화될 수 있는 유연한 사고방식을 가진 분을 채용하려고 합니다. 모두가 함께 공통의 목표를 위해 긴밀히 협력할 때 서로에게 긍정적인 영향을 줄 수 있고 서로에게서 에너지를 얻을 수 있기 때문이죠. 물론 때로는 논의 과정에서 의견이 충돌할 때도 있습니다. 하지만 일을 하는 이유에 대해 이해가 필요하다는 점에 대해서는 팀원 모두가 동의합니다. 그래서 프로젝트 단위 작업이든 팀 단위 작업이든 항상 팀 전체 회의를 거쳐 의견을 조율하고 있어요.

트릿지 구성원 모두가 이런 마음가짐으로 일하고 있다고 자부할 수 있습니다. 모두가 일을 하는 이유를 인지하고 있어야지만 일의 효율이 높아집니다. 이유를 이해하면 일의 목적과 진행 과정에서 발생할 수 있는 문제를 명확히 파악할 수 있기 때문이죠. 이유를 이해한다는 것은 프로젝트 진행 방향 설정과도 관계가 있지만 팀워크에도 큰 영향을 줍니다.

이유에 대한 고민 없이 일을 하게 된다면 더 큰 그림을 그릴 수 없습니다. 때로는 구현하고 있는 기능이 사소하고 무의미해 보일 수도 있겠죠. 이렇게 된다면 많은 팀의 가능성이 제한됩니다. 그렇기 때문에 더욱이 이유를 파악하는 것이 중요하다고 생각합니다.

팀원 간에 의견충돌이 있지는 않았나요?

물론 저희도 사람인지라 의사소통 과정에서 오해가 생기기도 합니다. 하지만 오해가 지속되지 않도록 노력해요. 잘못된 부분이 있다면 진행 과정 중에 발견하여 최종적으로 문제가 발생하지 않도록 말이죠.

디자인에 대한 오해가 구현 과정의  오해로 이어지기도 합니다. 이런 오해가 생기는 것은 자연스럽고 당연합니다. 이러한 일을 미연에 방지하기 위해 팀원들이 언제든 터놓고 질문할 수 있는 소통의 창구를 마련하는 것이 저의 책임이라고 생각해요.

백엔드 팀이 최근 가장 관심을 갖고 있는 가장 큰 프로젝트는 무엇인가요?

현재 가장 큰 프로젝트는 단연 내부 기술 인프라를 업그레이드 하는 것입니다. 트릿지 백엔드 시스템은 Python 2와 Django를 사용하여 구축되었습니다. 현재는 Python 2로 통합된 상태지만 해당 버전에 머무르기엔 한계가 있죠. 그래서 Python 3로 업그레이드 하려고 생각 중입니다. 하지만 5년동안 Python 2를 사용했기 때문에 업그레이드를 하려면 신경써야할 부분이 많아요. 리소스가 투입되어야 하고 새로 배워야할 것도 많기 때문에 가장 큰 프로젝트가 될 수 밖에 없죠.

다른 큰 프로젝트는 DevOps 수준에서 인프라를 향상하는 것입니다. 트릿지의 사용자 기반이 커지고 있고 트릿지가 글로벌 기업으로 나아감에 따라 서버 요구사항도 까다로워지고 있습니다. 그래서 자동 확장, 자동 배포를 지원하는 Kubernetes를 통해 컨테이너 시스템을 구현하려고 합니다.

그렇다면, 미래의 트릿지 엔지니어가 되려면 파이썬 3 사용 경험이 필수적인가요?

Python 2와 3의 문법은 상당 부분 유사합니다. 따라서 채용할 때 특정 지식을 가진 사람을 찾지 않습니다. 관련 지식은 충분히 트릿지에서 일하면서 배울 수 있어요.

하루 일과에 대해 자세히 알려주실 수 있나요?

날마다 다르지만, 출근하자마자 진행 중인 프로젝트를 검토합니다. 저는 항상 제품이나 계획 요구 사항에 대해 잘 알고 있어야 하기 때문이죠. 팀 내 리소스를 적절히 사용하고 계획된 프로젝트에 배치할 리소스를 분배하기 위해서도 검토가 필요합니다. 프로젝트 별로 필요한 기술적 요구 사항이 무엇인지, 그에 따른 결과는 무엇인지도 고려해야 합니다.

물론 제가 직접 개발 작업을 하기도 합니다. 동시에 프로젝트에 참여하는 주니어 및 시니어 개발자를 가이드합니다. 코드 리뷰를 통해 사용한 코드가 적절한지 검토하고 더 나은 방향을 제시하기도 하죠. 이 과정에서 기술 구현 방향이나 트릿지의 인프라에 대한 가이드를 줍니다. 예를 들어, 인프라 개발자와 다음주의 데이터베이스 업그레이드에 대해 의논하기도 하고 보안상의 이유로 고려해야하는 요구 사항이 있는지 확인하기도 합니다.

트릿지에는 여러 나라의 사람들이 모여 있는데요. 일하는 과정에서 언어의 장벽을 느낀 적이 있나요?

개발자에게는 개발이 또 다른 언어라고 생각해서, 언어의 장벽을 크게 느낀 적은 없어요. 실제로 어떤 분은 굉장히 유창하고 어떤 분은 거의 못 하실 정도로 영어에 대한 숙련도가 제각각이지만, 평소에 큰  문제는 없는 편이에요. 저희는 의사소통이 원활한 환경을 만들려고 항상 애쓰거든요. 영어로 말하는 것보다 읽고 쓰는 데에 자신 있는 팀원들을 위해 모든 업무 과정을 문서화합니다. 결국은 소통이 되는 것이 중요하기 때문에 다양한 소통 방식을 사용해요. 글로 쓰는게 편한 팀원과는 글로 소통하고, 말하는게 편한 팀원과는 직접 회의를 진행하기도 하죠.

언어 장벽에 대한 두려움 때문에 지원을 망설이는 분들께 조언을 해주신다면요?

‘그냥 질러 봐라’고 말씀드리고 싶어요. 생각보다 잘할 수도 있잖아요. 어떤 방식으로든 소통만 가능하면 된다고 생각해요. 그래서 인터뷰를 통해 소통이 가능할지 살펴봅니다. 하지만 개발자를 뽑는 만큼, 개발에 재능이 있는지가 일순위죠. 재능이 있지만 영어에 자신이 없으시다면 트릿지에서 그에 맞게 일할 수 있는 환경을 만들어드릴거예요. 훌륭한 개발자가 될 수 있도록 말이죠.

그러니까 영어에 대해선 걱정하지 않으셨으면 좋겠어요. 중요한 건 자신감입니다. 그리고 글로벌 기업인 트릿지에서 그 자신감을 키울 수 있어요. 물론 처음엔 두려울 수 있습니다. 하지만 한국의 영어 교육 수준이 높기 때문에 영어를 못할 거라고 생각하는 지원자분들도 사실은 영어를 잘하시더라고요. 실제로 처음 입사했을 땐 스스로 영어에 자신이 없던 분들도 있어요. 하지만 일하면서 자연스럽게 실력이 늘어 이제는 영어로 대화가 가능한 수준으로 성장했습니다.

트릿지의 백엔드 엔지니어로서 이뤄내고 싶은 것들은 무엇인가요?

팀원들이 행복해하고 편안해하는 팀을 만들고 싶어요. 물론 팀원들이 기술적으로나 인간적으로나 성장할 수 있는 환경을 만들고 싶고요. 트릿지는 분명 저력이 있는 회사에요. 저는 회사가 목표를 이룰 수 있게 돕고 싶어요. 그 과정에서 팀원들이 매일 즐거웠으면 좋겠습니다.

순수하게 기술적으로 달성하고 싶은 점도 있습니다.

트릿지에서는 방대한 양의 데이터를 수집합니다. 수집한 데이터를 처리하고 분석하는 환경을 개선할 수도 있겠죠. AI나 머신 러닝을 사용해 고객들에게 제공하는 데이터세트의 품질이나 크기를 향상시키는 것도 가능하고 내부 사용성을 높일 수도 있을 거예요.

그리고 트릿지의 서비스가 전 세계에 뻗어나갈 수 있도록 환경을 최적화하고 싶습니다. 지금은 회사가 한국에 있기 때문에 아시아 서버를 사용하고 있어요. 하지만 장기적으로 봤을 때 성능이 좋은 서버를 사용하기 위해 전 세계에 호스팅되는 서버가 필요할 것이라고 생각해요. 프랑스에 있는 서버를 사용할 수도 있고 미국에 있는 서버를 사용할 수도 있겠죠. 그러려면 전반적인 기술 인프라가 필요할 것입니다.

현재 프로덕트에 관해 이루고 싶은 점은 두 가지가 있습니다. 백엔드 구현을 최적화하여 워크 플로우를 개선하는 것, Python 3로 업그레이드하여 내부 기술 인프라를 향상하는 것입니다. 특히 Python 3로 업그레이드하면 더 좋은 기능과 프레임워크를 사용할 수 있을 거예요. 궁극적으로는 회사에도 도움이 될 것이라 생각하고요.

팀의 리더로서 가장 어렵다고 느끼는 부분은 어떤 것인가요?

저는 장기적인 관점을 유지하는 게 어려운 것 같아요. 백엔드 개발은 집을 짓는 것과 같아요. 집을 지을 때는 집에 오랫동안 살 수 있도록 튼튼하게 지어야 하죠. 그래서 제가 주니어나 다른 시니어 개발자분들께 뭔가를 구현해달라고 할 때, 장기적으로도 가능한 방향으로 구현이 됐는지 항상 검토합니다. 이런 관점은 타고난다기보다는 시간을 가지고 길러야 하는 것이기 때문에 어렵다고 느껴요.

물론 프로젝트의 목적과 방향성을 정확히 숙지하는 것도 쉬운 일은 아니에요. 저는 논리적인 편이기 때문에 모든 일에 논리를 찾으려고 합니다. 어떤 사람들은 버거워할 수도 있겠죠. 저는 모든 일을 할 때는 이유가 있다고 생각합니다. 그래서 백엔드 팀도 회사가 추구하는 방향성과 비즈니스 모델을 잘 이해하고 있어야 한다고 생각해요. 그래야 트릿지의 비전에 맞는 프로덕트를 만들 수 있으니까요.

트릿지에 오고 나서 가장 뿌듯했던 때는 언제인가요?

역시 성장이 가장 뿌듯하죠. 처음엔 트릿지가 이렇게 커질 것도, 트릿지가 전 세계에 이렇게 큰 영향력을 가질 것도 전혀 예상 못했거든요. 개발자로 일하다 보면 회사 내부적으로는 약간 동떨어져 있다고 느껴질 수도 있어요. 하지만 조금만 생각해 보면, 어제 내가 만든 이 기능을 통해 다른 나라의 누군가는 인생을 바꿀 거래를 할 수도 있는 거예요.

개발적인 측면에서는, 기본적으로 처음부터 끝까지 모든 기능들을 책임지고 만들어낸다는 점이 가장 뿌듯하죠. 백엔드 팀 리더가 되기 전에도 직접 시스템을 구현했고, 제가 원하는 대로 시스템을 구현할 수 있었어요.

물론 리더분들과 동료들의 도움을 받긴 했지만 전체적인 개발 컨셉을 짜고, 구현하고, 기술에 대해 조사하고 공부하는 것까지 직접 했었어요. 다른 회사에서는 이렇게 직접 할 수 있는 일이 많지는 않을 거예요. 하는 일들의 규모가 커지면 업무도 쪼개지고, 개발자들의 자율성과 책임도 점점 줄어들기 쉽죠. 하지만 트릿지에서는 엔지니어에게 최대한 업무에 대한 주도권과 자율성을 주려고 합니다.

처음 트릿지에 입사했을 땐 주니어 엔지니어였어요. 저에게 주어진 프로젝트 규모가 컸는데도 트릿지에선 제가 능동적으로 업무를 할 수 있었죠. 개인적으로도 많이 성장할 수 있었던 귀중한 경험이었어요. Elasticsearch를 저희 시스템에 적용해보며 새로운 프레임워크를 익혔을 때 특히 짜릿했어요. 처음 입사했을 땐 DevOps 인프라에 대한 경험도 없었어요. 하지만 일하면서 프로덕트에 대해 배웠고, 인프라를 구축하는 방법에 대해 배울 수 있었습니다. 또한 목표와 목적을 달성하는 방법에 대해서도 많이 배웠습니다.

만든 기능이나 진행했던 프로젝트 중에 특히 기억에 남는 것이 있으신가요?

뉴스 추천 시스템을 만든 게 가장 기억에 남아요. 저희가 수집하는 방대한 양의 뉴스를 사용자의 선호에 맞게 추천하는 시스템이었는데, 제가 정말 큰 일을 했다는 생각이 들어서 자랑스러웠습니다. 사용자의 필요와 선호에 맞는 뉴스를 추천하는 알고리즘을 만드는 작업이었기 때문에 페이스북 피드와 비슷한 면이 있었어요. 뉴스 콘텐츠와 사용자 경험을 매칭하려면 기사 속의 정보와 사용자의 활동을 교차 점검해야 하고, 그러려면 또 뉴스 콘텐츠의 정보와 의미를 추출하는 과정이 필요하죠. 이 알고리즘을 직접 구현하면서 작업 범위가 얼마나 거대한지 실감했고, 실제로 해냈을 때 너무 기분이 좋았어요.

그 다음으로 기억에 남는 건 기술 인프라 구축 프로젝트에요. 트릿지 기술 인프라에 대한 자부심이 커요. DevOps를 구축한 방식이나 서버와 배포를 관리하는 방식이 훌륭하니까요. 정말 잘 구현했고, 제가 프로젝트를 리뷰할 수 있어서 기뻤습니다.

미래의 트릿지 개발자들에게 한 마디 부탁드려요.

트릿지는 회사 자체를 놓고 봐도 일하기 정말 좋은 곳이에요. 아주 빠르게 성장하고 있기 때문에 개발자가 일하기에도 좋아요. 트릿지는 농수산물 산업에 빠르게 침투하고 있기 때문에 개발자들이 도전할 수 있는 기회도 많죠. 트릿지에 합류하시면, 데이터 사이언스, 인프라, 백엔드 등등 작업해볼 수 있는 프로젝트가 정말 많을 거예요.

트릿지는 관련 프로젝트에 참여할 기회는 물론 배울 기회도 많은 곳이다보니, 호기심이 많은 분들에게 굉장히 열려 있어요. 어떤 것이든지 작동 원리를 궁금해하고 알아낸 것을 직접 적용해 보는 데 관심이 많은 분이라면 트릿지가 최고의 회사일 겁니다. 트릿지 사람들이 대체로 에너제틱해요. 이러한 성향이 아닌 분들도, 활발한 이곳의 분위기 속에서 분명히 얻어 가는 게 있으실 것이라고 생각합니다.

저는 트릿지의 개발자가 된 게 큰 행운이라고 생각하고 트릿지에 정말 잘 왔다고 생각해요. 트릿지가 여러분과 함께할 기회를 주시면, 트릿지도 여러분께 많은 기회를 드릴 준비가 되어 있습니다.

백엔드 팀 또는 트릿지에 대해 추가적인 질문이 있으시다면, 캐쥬얼 챗을 통해 문의 주시기 바랍니다.

많은 관심과 지원 부탁드리며, 다음 편으로 곧 돌아오겠습니다.

트릿지 개발자 지원하기

>백엔드 주니어 지원하기

>백엔드 시니어 지원하기

Other posts
See all posts
No items found.
언어의 장벽을 넘어 개발로 소통하는 ‘진짜’들이 모인 곳 | 백엔드 엔지니어링 팀
8 min read

언어의 장벽을 넘어 개발로 소통하는 ‘진짜’들이 모인 곳 | 백엔드 엔지니어링 팀

Engineering
Nov 18
/
8 min read

안녕하세요. 전세계 유일의 농축수산물 B2B 무역 플랫폼 트릿지입니다.

TTT: Tridge Team Talk 는 트릿지를 이루고 있는 각 팀의 속사정을 낱낱이 살펴보는 콘텐츠로, 실제 트릿지의 팀원의 하루 일과와 문화 등, 대외 언론에는 전하지 못했던 트릿지人의 생생한 이야기들을 담고 있습니다.

TTT 2편의 주인공은 트릿지의 든든한 기술 지원군, 백엔드 팀입니다. 고객들에게 제공되는 프로덕트부터 트릿지의 각 팀이 활용하는 업무용 내부 툴까지, 그 손길이 닿지 않는 곳이 없는 백엔드 팀의 리드 스테픈을 만나봤습니다.

안녕하세요. 자기소개 부탁드려요.

안녕하세요, 제 이름은 스테픈이고, 프랑스 출신입니다.  2016년 초에 트릿지가 막 설립됐을 때부터 합류했으니 트릿지에서 일한 지 거의 6년이 되어 가네요.

백엔드 팀의 주요 업무를 소개해주세요!

백엔드 엔지니어링에서 다루는 영역은 광범위합니다. 저희가 다루는 영역을 간단히 말씀드리자면 웹사이트와 API 운영을 위한 어플리케이션 요구사항 충족, 클라우드 컴퓨팅, 데이터 요구사항 충족 등으로 요약할 수 있어요. 가장 주된 업무는 당연히 트릿지에서 제공하는 모든 프로덕트의 서버 요구사항을 충족시키는 것입니다.

트릿지에서 제공하는 프로덕트는 크게 두 가지가 있어요. 첫 번째는 ‘www.tridge.com’ 웹 사이트로, 고객 대상으로 웹 사이트 내에 크고 작은 많은 애플리케이션을 제공합니다. 두 번째는 저희가 ‘TMS’라고 부르는 내부 구성원용 애플리케이션입니다. 이 두  사이트의 백엔드 영역을 모두 담당하고 있어요.

백엔드 엔지니어링팀의 업무에 대해 조금 더 자세히 설명드리자면, AWS에 호스팅하는 모든 데이터베이스를 담당하고 있습니다. 또한 동시에 여러 컨테이너 환경을 운영하고 있어서, Kubernetes와 Elastic 컨테이너 서비스를 활용해 트릿지의 웹사이트를 호스팅하고 있어요. 더 나아가, 검색어 자동 완성 기능 지원, 데이터 필터링 성능을 최적화를 위해 Elasticsearch와 같은 더 많은 프레임워크 리소스를 사용합니다.

트릿지 플랫폼을 자세히 살펴보면 백엔드팀이 더 많은 기능을 담당하고 있다는 것을 확인하실 수 있답니다. 백엔드팀은 농수산물의 가격, 뉴스, 날씨, 생산 데이터의 로데이터를 수집하여 분석하고 구조화합니다. 이 데이터를 트릿지 사용자들이 활용하기 편리한 형태의 정보로 만들어 제공하는 것까지 백엔드팀의 역할입니다. 즉, 백엔드팀에서는 미가공 상태의 로데이터를 수집하고 관련 팀과의 협력을 통해 숨겨진 가치와 구조를 찾아내야 합니다. 물론, 앞서 말한 데이터도 모두 백엔드팀에서 책임지죠.

데이터를 구조화하고 나면 백엔드 엔지니어링을 시작하고 사용자를 위한 시스템을 구현합니다. 따라서 백엔드팀의 주요한 역할은 기본적으로 모든 팀이 필요로 하는 서버 리소스를 제공하는 것이라고 할 수 있죠. 메일 전송, 뉴스레터 관리, 캠페인 툴을 관리하는 등 마케팅팀과 긴밀하게 협력하기도 합니다. 트릿지 구성원들이 계산이나 견적 산출에 필요한 로데이터를 이용할 수 있도록 데이터 웨어하우징도 지원하죠. 그래서 내부 구성원들이 내부 데이터를 이용할 수 있도록 시스템을 구축해야 합니다. 이렇게 정리해보니 정말 많네요.

백엔드팀의 역할이 굉장히 중요하군요.

모든 팀은 절대적으로 백엔드팀과 관련되어 있어요. 예를 들어, 풀필먼트팀의 운영 업무를 처리하기 위한 기능과 툴도 백엔드팀에서 지원하죠. 풀필먼트팀에서 사용하는 TMS의 메일 시스템을 통해 메일이 실제 사용자에게 어떻게 전달되는지는 물론, 시스템 상의 재정적 위험과 현금의 흐름을 어떻게 지속적으로 관리할지, 정보를 추적하려면 어떤 시스템을 만들어야 하는지 고민합니다.

또한, 다른 팀에서 필요로 하는 기능을 구현하기도 합니다. 예를 들어마켓 인텔리전스팀이 농수산물 관련 컨텐츠를 만드려고 한다면, 백엔드팀에서 컨텐츠를 만들 수 있도록 서비스와 API를 구축해야 합니다. 팀 운영을 위해 기술적 도움이 필요하다면 필연적으로 백엔드팀과 일해야만 하죠.

백엔드팀에서 상당히 많은 업무를 처리하는 것 같은데, 높은 품질을 유지하는 비법이 있나요?

저희 팀원 수가 적은 편인데, 팀을 운영하기 위해 몇 가지 원칙을 따르고 있습니다.

첫번째 원칙은 신뢰입니다. 팀원 모두가 최선을 다하고 있다는 신뢰가 있어야 하기 때문입니다.. 뿐만 아니라 팀원 스스로에게도 일을 해낼 수 있다는 믿음이 필요합니다.

두번째 원칙은 열정입니다. 저희가 달성하려는 목표가 정말 높기 때문이죠.그래서 열정을 가지고 목표를 달성하고자 하는 내적인 에너지가 필요해요.

그 다음은 책임감인데요, 단순히 마감일을 지켜 일하는 것에서  끝나지 않고 일에 대한 주인 의식을 가져야 합니다. 특정 기능을 구현하고 나서도 오류 및 성능 모니터링하고 개선 방안 제안하는 등 기능에 문제가 없게끔 책임져야 하는 거죠. 그리고 다른 팀원의 프로젝트에 대해 관심을 가져야 합니다. 앞서 언급했듯이 다양한 프로젝트를 동시에 진행하기 때문에 프로젝트 간 목적이나 기술적 환경이 겹치기도 합니다. 그래서 다른 팀원들이 무엇을 하고 있는지 알고 있어야지만 비효율을 최소화하고 공통의 목적을 함께 달성할 수 있습니다.

그리고 마지막 원칙은 지식입니다. 백엔드라는 개념에는 DevOps, 인프라, 데이터베이스 관리, 애플리케이션 구축, API, 스키마 등과 같은 다양한 하위 개념이 포함되어 있습니다. 이러한 모든 개념을 이해하기 위해서는 많은 지식이 필요합니다. 그래서 배우는 것을 좋아하고, 정보를 찾고, 새로운 것을 추구하는 사람이 필요합니다.

트릿지 백엔드 엔지니어 팀은 지금까지 말씀드린 네 원칙을 통해 높은 품질을 유지합니다.

백엔드팀의 문화와 원칙을 지키기 위해 팀원들과 어떻게 협력하고 소통하나요?

선적으로 백엔드 팀의 문화와 융화될 수 있는 유연한 사고방식을 가진 분을 채용하려고 합니다. 모두가 함께 공통의 목표를 위해 긴밀히 협력할 때 서로에게 긍정적인 영향을 줄 수 있고 서로에게서 에너지를 얻을 수 있기 때문이죠. 물론 때로는 논의 과정에서 의견이 충돌할 때도 있습니다. 하지만 일을 하는 이유에 대해 이해가 필요하다는 점에 대해서는 팀원 모두가 동의합니다. 그래서 프로젝트 단위 작업이든 팀 단위 작업이든 항상 팀 전체 회의를 거쳐 의견을 조율하고 있어요.

트릿지 구성원 모두가 이런 마음가짐으로 일하고 있다고 자부할 수 있습니다. 모두가 일을 하는 이유를 인지하고 있어야지만 일의 효율이 높아집니다. 이유를 이해하면 일의 목적과 진행 과정에서 발생할 수 있는 문제를 명확히 파악할 수 있기 때문이죠. 이유를 이해한다는 것은 프로젝트 진행 방향 설정과도 관계가 있지만 팀워크에도 큰 영향을 줍니다.

이유에 대한 고민 없이 일을 하게 된다면 더 큰 그림을 그릴 수 없습니다. 때로는 구현하고 있는 기능이 사소하고 무의미해 보일 수도 있겠죠. 이렇게 된다면 많은 팀의 가능성이 제한됩니다. 그렇기 때문에 더욱이 이유를 파악하는 것이 중요하다고 생각합니다.

팀원 간에 의견충돌이 있지는 않았나요?

물론 저희도 사람인지라 의사소통 과정에서 오해가 생기기도 합니다. 하지만 오해가 지속되지 않도록 노력해요. 잘못된 부분이 있다면 진행 과정 중에 발견하여 최종적으로 문제가 발생하지 않도록 말이죠.

디자인에 대한 오해가 구현 과정의  오해로 이어지기도 합니다. 이런 오해가 생기는 것은 자연스럽고 당연합니다. 이러한 일을 미연에 방지하기 위해 팀원들이 언제든 터놓고 질문할 수 있는 소통의 창구를 마련하는 것이 저의 책임이라고 생각해요.

백엔드 팀이 최근 가장 관심을 갖고 있는 가장 큰 프로젝트는 무엇인가요?

현재 가장 큰 프로젝트는 단연 내부 기술 인프라를 업그레이드 하는 것입니다. 트릿지 백엔드 시스템은 Python 2와 Django를 사용하여 구축되었습니다. 현재는 Python 2로 통합된 상태지만 해당 버전에 머무르기엔 한계가 있죠. 그래서 Python 3로 업그레이드 하려고 생각 중입니다. 하지만 5년동안 Python 2를 사용했기 때문에 업그레이드를 하려면 신경써야할 부분이 많아요. 리소스가 투입되어야 하고 새로 배워야할 것도 많기 때문에 가장 큰 프로젝트가 될 수 밖에 없죠.

다른 큰 프로젝트는 DevOps 수준에서 인프라를 향상하는 것입니다. 트릿지의 사용자 기반이 커지고 있고 트릿지가 글로벌 기업으로 나아감에 따라 서버 요구사항도 까다로워지고 있습니다. 그래서 자동 확장, 자동 배포를 지원하는 Kubernetes를 통해 컨테이너 시스템을 구현하려고 합니다.

그렇다면, 미래의 트릿지 엔지니어가 되려면 파이썬 3 사용 경험이 필수적인가요?

Python 2와 3의 문법은 상당 부분 유사합니다. 따라서 채용할 때 특정 지식을 가진 사람을 찾지 않습니다. 관련 지식은 충분히 트릿지에서 일하면서 배울 수 있어요.

하루 일과에 대해 자세히 알려주실 수 있나요?

날마다 다르지만, 출근하자마자 진행 중인 프로젝트를 검토합니다. 저는 항상 제품이나 계획 요구 사항에 대해 잘 알고 있어야 하기 때문이죠. 팀 내 리소스를 적절히 사용하고 계획된 프로젝트에 배치할 리소스를 분배하기 위해서도 검토가 필요합니다. 프로젝트 별로 필요한 기술적 요구 사항이 무엇인지, 그에 따른 결과는 무엇인지도 고려해야 합니다.

물론 제가 직접 개발 작업을 하기도 합니다. 동시에 프로젝트에 참여하는 주니어 및 시니어 개발자를 가이드합니다. 코드 리뷰를 통해 사용한 코드가 적절한지 검토하고 더 나은 방향을 제시하기도 하죠. 이 과정에서 기술 구현 방향이나 트릿지의 인프라에 대한 가이드를 줍니다. 예를 들어, 인프라 개발자와 다음주의 데이터베이스 업그레이드에 대해 의논하기도 하고 보안상의 이유로 고려해야하는 요구 사항이 있는지 확인하기도 합니다.

트릿지에는 여러 나라의 사람들이 모여 있는데요. 일하는 과정에서 언어의 장벽을 느낀 적이 있나요?

개발자에게는 개발이 또 다른 언어라고 생각해서, 언어의 장벽을 크게 느낀 적은 없어요. 실제로 어떤 분은 굉장히 유창하고 어떤 분은 거의 못 하실 정도로 영어에 대한 숙련도가 제각각이지만, 평소에 큰  문제는 없는 편이에요. 저희는 의사소통이 원활한 환경을 만들려고 항상 애쓰거든요. 영어로 말하는 것보다 읽고 쓰는 데에 자신 있는 팀원들을 위해 모든 업무 과정을 문서화합니다. 결국은 소통이 되는 것이 중요하기 때문에 다양한 소통 방식을 사용해요. 글로 쓰는게 편한 팀원과는 글로 소통하고, 말하는게 편한 팀원과는 직접 회의를 진행하기도 하죠.

언어 장벽에 대한 두려움 때문에 지원을 망설이는 분들께 조언을 해주신다면요?

‘그냥 질러 봐라’고 말씀드리고 싶어요. 생각보다 잘할 수도 있잖아요. 어떤 방식으로든 소통만 가능하면 된다고 생각해요. 그래서 인터뷰를 통해 소통이 가능할지 살펴봅니다. 하지만 개발자를 뽑는 만큼, 개발에 재능이 있는지가 일순위죠. 재능이 있지만 영어에 자신이 없으시다면 트릿지에서 그에 맞게 일할 수 있는 환경을 만들어드릴거예요. 훌륭한 개발자가 될 수 있도록 말이죠.

그러니까 영어에 대해선 걱정하지 않으셨으면 좋겠어요. 중요한 건 자신감입니다. 그리고 글로벌 기업인 트릿지에서 그 자신감을 키울 수 있어요. 물론 처음엔 두려울 수 있습니다. 하지만 한국의 영어 교육 수준이 높기 때문에 영어를 못할 거라고 생각하는 지원자분들도 사실은 영어를 잘하시더라고요. 실제로 처음 입사했을 땐 스스로 영어에 자신이 없던 분들도 있어요. 하지만 일하면서 자연스럽게 실력이 늘어 이제는 영어로 대화가 가능한 수준으로 성장했습니다.

트릿지의 백엔드 엔지니어로서 이뤄내고 싶은 것들은 무엇인가요?

팀원들이 행복해하고 편안해하는 팀을 만들고 싶어요. 물론 팀원들이 기술적으로나 인간적으로나 성장할 수 있는 환경을 만들고 싶고요. 트릿지는 분명 저력이 있는 회사에요. 저는 회사가 목표를 이룰 수 있게 돕고 싶어요. 그 과정에서 팀원들이 매일 즐거웠으면 좋겠습니다.

순수하게 기술적으로 달성하고 싶은 점도 있습니다.

트릿지에서는 방대한 양의 데이터를 수집합니다. 수집한 데이터를 처리하고 분석하는 환경을 개선할 수도 있겠죠. AI나 머신 러닝을 사용해 고객들에게 제공하는 데이터세트의 품질이나 크기를 향상시키는 것도 가능하고 내부 사용성을 높일 수도 있을 거예요.

그리고 트릿지의 서비스가 전 세계에 뻗어나갈 수 있도록 환경을 최적화하고 싶습니다. 지금은 회사가 한국에 있기 때문에 아시아 서버를 사용하고 있어요. 하지만 장기적으로 봤을 때 성능이 좋은 서버를 사용하기 위해 전 세계에 호스팅되는 서버가 필요할 것이라고 생각해요. 프랑스에 있는 서버를 사용할 수도 있고 미국에 있는 서버를 사용할 수도 있겠죠. 그러려면 전반적인 기술 인프라가 필요할 것입니다.

현재 프로덕트에 관해 이루고 싶은 점은 두 가지가 있습니다. 백엔드 구현을 최적화하여 워크 플로우를 개선하는 것, Python 3로 업그레이드하여 내부 기술 인프라를 향상하는 것입니다. 특히 Python 3로 업그레이드하면 더 좋은 기능과 프레임워크를 사용할 수 있을 거예요. 궁극적으로는 회사에도 도움이 될 것이라 생각하고요.

팀의 리더로서 가장 어렵다고 느끼는 부분은 어떤 것인가요?

저는 장기적인 관점을 유지하는 게 어려운 것 같아요. 백엔드 개발은 집을 짓는 것과 같아요. 집을 지을 때는 집에 오랫동안 살 수 있도록 튼튼하게 지어야 하죠. 그래서 제가 주니어나 다른 시니어 개발자분들께 뭔가를 구현해달라고 할 때, 장기적으로도 가능한 방향으로 구현이 됐는지 항상 검토합니다. 이런 관점은 타고난다기보다는 시간을 가지고 길러야 하는 것이기 때문에 어렵다고 느껴요.

물론 프로젝트의 목적과 방향성을 정확히 숙지하는 것도 쉬운 일은 아니에요. 저는 논리적인 편이기 때문에 모든 일에 논리를 찾으려고 합니다. 어떤 사람들은 버거워할 수도 있겠죠. 저는 모든 일을 할 때는 이유가 있다고 생각합니다. 그래서 백엔드 팀도 회사가 추구하는 방향성과 비즈니스 모델을 잘 이해하고 있어야 한다고 생각해요. 그래야 트릿지의 비전에 맞는 프로덕트를 만들 수 있으니까요.

트릿지에 오고 나서 가장 뿌듯했던 때는 언제인가요?

역시 성장이 가장 뿌듯하죠. 처음엔 트릿지가 이렇게 커질 것도, 트릿지가 전 세계에 이렇게 큰 영향력을 가질 것도 전혀 예상 못했거든요. 개발자로 일하다 보면 회사 내부적으로는 약간 동떨어져 있다고 느껴질 수도 있어요. 하지만 조금만 생각해 보면, 어제 내가 만든 이 기능을 통해 다른 나라의 누군가는 인생을 바꿀 거래를 할 수도 있는 거예요.

개발적인 측면에서는, 기본적으로 처음부터 끝까지 모든 기능들을 책임지고 만들어낸다는 점이 가장 뿌듯하죠. 백엔드 팀 리더가 되기 전에도 직접 시스템을 구현했고, 제가 원하는 대로 시스템을 구현할 수 있었어요.

물론 리더분들과 동료들의 도움을 받긴 했지만 전체적인 개발 컨셉을 짜고, 구현하고, 기술에 대해 조사하고 공부하는 것까지 직접 했었어요. 다른 회사에서는 이렇게 직접 할 수 있는 일이 많지는 않을 거예요. 하는 일들의 규모가 커지면 업무도 쪼개지고, 개발자들의 자율성과 책임도 점점 줄어들기 쉽죠. 하지만 트릿지에서는 엔지니어에게 최대한 업무에 대한 주도권과 자율성을 주려고 합니다.

처음 트릿지에 입사했을 땐 주니어 엔지니어였어요. 저에게 주어진 프로젝트 규모가 컸는데도 트릿지에선 제가 능동적으로 업무를 할 수 있었죠. 개인적으로도 많이 성장할 수 있었던 귀중한 경험이었어요. Elasticsearch를 저희 시스템에 적용해보며 새로운 프레임워크를 익혔을 때 특히 짜릿했어요. 처음 입사했을 땐 DevOps 인프라에 대한 경험도 없었어요. 하지만 일하면서 프로덕트에 대해 배웠고, 인프라를 구축하는 방법에 대해 배울 수 있었습니다. 또한 목표와 목적을 달성하는 방법에 대해서도 많이 배웠습니다.

만든 기능이나 진행했던 프로젝트 중에 특히 기억에 남는 것이 있으신가요?

뉴스 추천 시스템을 만든 게 가장 기억에 남아요. 저희가 수집하는 방대한 양의 뉴스를 사용자의 선호에 맞게 추천하는 시스템이었는데, 제가 정말 큰 일을 했다는 생각이 들어서 자랑스러웠습니다. 사용자의 필요와 선호에 맞는 뉴스를 추천하는 알고리즘을 만드는 작업이었기 때문에 페이스북 피드와 비슷한 면이 있었어요. 뉴스 콘텐츠와 사용자 경험을 매칭하려면 기사 속의 정보와 사용자의 활동을 교차 점검해야 하고, 그러려면 또 뉴스 콘텐츠의 정보와 의미를 추출하는 과정이 필요하죠. 이 알고리즘을 직접 구현하면서 작업 범위가 얼마나 거대한지 실감했고, 실제로 해냈을 때 너무 기분이 좋았어요.

그 다음으로 기억에 남는 건 기술 인프라 구축 프로젝트에요. 트릿지 기술 인프라에 대한 자부심이 커요. DevOps를 구축한 방식이나 서버와 배포를 관리하는 방식이 훌륭하니까요. 정말 잘 구현했고, 제가 프로젝트를 리뷰할 수 있어서 기뻤습니다.

미래의 트릿지 개발자들에게 한 마디 부탁드려요.

트릿지는 회사 자체를 놓고 봐도 일하기 정말 좋은 곳이에요. 아주 빠르게 성장하고 있기 때문에 개발자가 일하기에도 좋아요. 트릿지는 농수산물 산업에 빠르게 침투하고 있기 때문에 개발자들이 도전할 수 있는 기회도 많죠. 트릿지에 합류하시면, 데이터 사이언스, 인프라, 백엔드 등등 작업해볼 수 있는 프로젝트가 정말 많을 거예요.

트릿지는 관련 프로젝트에 참여할 기회는 물론 배울 기회도 많은 곳이다보니, 호기심이 많은 분들에게 굉장히 열려 있어요. 어떤 것이든지 작동 원리를 궁금해하고 알아낸 것을 직접 적용해 보는 데 관심이 많은 분이라면 트릿지가 최고의 회사일 겁니다. 트릿지 사람들이 대체로 에너제틱해요. 이러한 성향이 아닌 분들도, 활발한 이곳의 분위기 속에서 분명히 얻어 가는 게 있으실 것이라고 생각합니다.

저는 트릿지의 개발자가 된 게 큰 행운이라고 생각하고 트릿지에 정말 잘 왔다고 생각해요. 트릿지가 여러분과 함께할 기회를 주시면, 트릿지도 여러분께 많은 기회를 드릴 준비가 되어 있습니다.

백엔드 팀 또는 트릿지에 대해 추가적인 질문이 있으시다면, 캐쥬얼 챗을 통해 문의 주시기 바랍니다.

많은 관심과 지원 부탁드리며, 다음 편으로 곧 돌아오겠습니다.

트릿지 개발자 지원하기

>백엔드 주니어 지원하기

>백엔드 시니어 지원하기

Other posts
See all posts
No items found.