Search
Duplicate
🧑🏻‍💻

동반성장을 꿈꾸는 Tech Team을 소개합니다.

안녕하세요 현태님, 간단한 자기소개를 부탁드려요!

안녕하세요. 매스어답션에서 기술총괄 이사를 맡고있는 김현태라고 합니다. 제가 하고 있는 주 업무는 저희 서비스를 구성하고 있는 전체 시스템 인프라 아키텍처 설계부터 신규 기술 검토, 서비스 개발까지 기술 전반적인 업무들을 담당하고 있습니다. 그 밖에도 대외 커뮤니케이션이나 채용 등 다양한 업무들을 하고 있습니다.
저는 현재까지 햇수로 15년 정도 소프트웨어를 개발해오고 있는데요. 매스어답션에 합류하기 전에는 150명 이상의 규모로 성장한 핀테크 스타트업의 초기 멤버로 시작하여 한 팀을 리드할 때까지 회사가 성장해가는 여러 단계를 경험하였습니다. 이전에 대형 이커머스 기업에서는 대규모 서비스를 운영하기도 하였고, 여행 및 장례 분야의 스타트업에서 신규 서비스를 초기 설계부터 런칭한 경험들을 가지고 있습니다. 다양한 환경에서 경험하다 보니 여러 개발 언어들을 접하게 되었고, 자연스레 한가지 기술에 치우치지 않고 최신 기술 트렌드에 맞춰 좀 더 다양한 기술들을 활용하는 것을 선호하게 되었습니다.

매스어답션의 Tech Team은 어떤 조직이고, 어떻게 업무하고 계신지 궁금해요.

매스어답션의 테크 팀은 회사의 성장 속도는 Tech가 결정한다 라는 슬로건 아래 가장 안정적이고 트렌디한 기술 조직으로 성장하기 위해 모두가 노력하고 있습니다. 급변하는 초기 스타트업이지만 회사가 원하는 일정에 맞추기 위해서 단순히 빠르게만 만들기보다는 보다 안정적이고 빠른 변화에도 유연하고 일관성 있는 코드를 짜기 위해 고민합니다.
저희 테크 팀은 불필요한 의사결정을 줄이고 최대의 권한과 그에 따른 오너십을 각자에게 부여함으로써 최신 기술들을 직접 리서치하고 적극적으로 사용하고 있습니다. 배움에는 나이와 경력에 상관이 없다고 생각하기에 서로가 배려하고 존중하면서 서로가 배우는 문화를 만들고 있습니다.
항상 코드리뷰에 진심인 매스어답션 Tech Team!

업무를 진행할 때 어떤걸 가장 중요하게 생각하시나요?

아무래도 개발자라면 효율성을 가장 중요하게 생각하지 않을까요? 반복적이고 비효율적인 부분은 기술로 해결하고, 더욱 중요한 일에 집중하는 것입니다. 새로운 기술이나 방법론을 도입해 본다든지, 더 효율적인 툴을 활용해 볼 수도 있습니다. 불필요한 의사결정과 커뮤니케이션에 시간을 쓰지 않고 본인이 가장 잘 할 수 있는 일에 집중할 수 있는 환경을 만들기 위해 노력하고 있습니다. 하지 않아도 되는 일을 하지 않는 건, 때로는 해야 할 일을 하는 것보다 중요할 수 있습니다.
한 가지 더 말씀드리면, 개발자라고 기술적인 영역의 테두리 안에서 갇혀 있지 않은 것이 중요할 것 같습니다. 단순히 더 멋진 코드를 짜기 위해서만 고민하는 게 아니라 소비자 관점에서 어떻게 더 좋은 서비스를 제공할 수 있을까 함께 생각하고 의견을 제시할 수 있는 자세가 필요합니다. 이러한 마음가짐들이 팀원들 개인뿐 아니라 조직 차원에서의 성장에도 훨씬 더 도움이 된다고 생각합니다.

매스어답션 Tech Team만의 특별한 문화와,특징을 소개해주세요.

여러 기업의 개발 조직들이 많이 도입하고 있는 추세지만 저희 테크 팀도 한 달에 한 번씩 ‘Tech day’라는 행사를 진행합니다. 기술적으로 팀원들과 공유하고 싶은 내용을 간단한 세미나 형식으로 진행하기도 하고, 중요한 기술적 결정이 필요할 때 함께 논의하는 시간으로 활용합니다. 때로는 맛있는 음식을 먹으며 자유로운 주제로 이야기를 나누기도 합니다.
반기에 한 번씩은 테크 팀원들만의 ‘Tech Workshop’을 진행합니다. 단순히 팀빌딩의 목적이 아닌 장기적인 테크 팀의 방향성에 관해 토론하고 우리만의 개발 문화를 만들어가는 시간으로 종일 많은 이야기들을 나눕니다. 이전 반기를 회고하며 서로를 평가하고, 팀과 개인별 목표를 설정해서 구체적인 액션플랜까지 공유하는 자리입니다.
그리고 많은 개발자분이 원하는 문화 중 하나인 Code Review와 Unit Testing은 소규모 스타트업에서 부족한 일정으로 쉽게 적용하기 어려운 게 현실입니다. 서로의 성장뿐 아니라 일관되고 더 나은 코드 품질을 위해서 꼭 필요한 개발 문화 중 하나라고 생각됩니다. 모든 기능 개발의 리뷰를 강제할 수 없기에 서로가 부담되지 않는 수준에서 좋은 문화로 정착될 수 있도록 우리만의 규칙들을 만들어가고 있습니다.
아 참, 한 가지 더 새로운 문화를 시도해 보고 있는데요, TTT라는 건데 ‘Tech Tea Time’의 약자로 매일 아침 업무를 시작하기 전 15분 정도 자유롭게 참석해서 기술적 담소를 나누는 시간입니다. 왠지 팀원들이 제가 커피를 산다고 해야지만 참석하는 느낌이 없지 않아 있습니다.
그 밖에도 ‘우리의 문화는 우리가 함께 만들어 간다’는 전사 차원에서의 공통된 방향성이 있기 때문에, 회사가 문화나 복지를 정해주지 않고 모두가 함께 고민하며 좋은 문화를 만들 수 있도록 노력하고 있습니다.

매스어답션 Tech Team의 구성은 어떻게 되어있나요?

초기 스타트업이다보니 아직은 팀원이 많지 않습니다. 다들 믿기 어려워하시는데 이 정도의 인원으로 지금까지의 서비스를 만들었다는 사실에 엄청 놀라시곤 합니다. 현재는 총 5명의 테크 팀원이 있지만 전체 구성원의 50% 이상을 기술 인력으로 구성하는걸 목표로 좋은 분들을 모시고 있습니다.
기술총괄인 저와 서버 개발자분들이 백앤드 영역을 담당하고 있는데, 저희 서비스의 핵심인 Core API 개발외부 시스템 연동, Back-Office 시스템 개발 등을 개발하고 있습니다. 그 밖에도 인프라 관리나 배포 및 운영 자동화 영역의 작업도 함께 담당하고 있습니다.
프론트앤드 개발자분들은 B2B SaaS 플랫폼인 버클 파트너스와 사용자 지갑 서비스 앱인 버클의 모바일 웹/앱을 주로 개발하고 있습니다. 그리고 홈페이지 및 프로모션 페이지 등 전반적인 사용자 UI 작업과 비주얼적인 영역을 개발하고 있습니다.
하지만 저희 팀원들은 모두 백앤드와 프론트 기술 모두에 대한 충분한 지식과 개발 능력을 갖추고 있고, Full stack 개발자를 지향하는 분들이 모여 있습니다. 때로는 각자가 맡은 메인 업무 이외에도 다른 영역의 개발 업무를 일부 서포트하거나 본인의 관심사를 스터디하고 계십니다.

백엔드 개발자와 프론트 개발자는 어떤 기술스텍을 바탕으로 업무를 진행하나요?

저희 메인 기술 스택은 TypeScript를 기반으로 하고 있는 Nest.js 와 React.js 입니다. 최근 해당 언어가 급속도로 발전하면서 가장 주목받고 있는 기술 중 하나인데요. 수많은 서비스에 개발되고 있고, 특히 대부분의 최근 블록체인 플랫폼뿐 아니라 다양한 서비스들이 거의 필수로 지원하고 있기 때문에 해당 언어를 메인으로 선택하게 되었습니다.
백앤드 영역에서는 Node.js 환경에서 대표적인 프레임워크인 Nest.js와 Express.js를 기반으로 저희만의 독자적인 프레임워크를 만들어가고 있고, TypeScript를 통해 기존에 JavaScript 가 갖고 있는 근본적인 안정성 문제나 보안 측면에서 부족한 부분들을 보완해 나아가고 있습니다. 각 프로젝트 성격에 따라 적절한 아키텍쳐 구성과 데이터베이스를 선택하고 새로운 기술을 도입하고 있습니다. 서비스가 점점 복잡해지고 확장됨에 따라 초기 MVP 개발 단계에서 단일 서비스로 개발되어 있던 시스템 구조는 Micro Service Architecture로 점차 세분화해 나아가고 있고, 점차 복잡해지는 개발 소스 구조를 더욱 체계적으로 관리하기 위해 Mono-Repository 환경을 적용하였습니다.
프론트앤드 영역에서는 여러 웹 서비스를 만들고 있기 때문에 빠르게 변하고 있는 트렌드에 맞춰 다양한 시도를 하고 있습니다. 메인 기술은 React.js 를 기반으로 하지만 각 서비스별로 프레임워크나 번들링 환경을 다르게 구성한다거나, 다양한 상태관리 라이브러리나 스타일링 기술 등을 스터디하고 적극적으로 도입해보고 있습니다. 최근 진행하고 있는 프로젝트로 디자인팀과 함께 Design System을 만들어가고 있는데, 기존에 일관되지 않던 디자인을 공통 컴포넌트로 관리해서 점차 개발 효율성을 높여가고 있습니다. 또한 저희 버클 앱은 크로스 플랫폼 도구인 Flutter와 React-Native를 이용하여 개발하고 있는데, 웹 개발 기술만으로는 부족한 모바일 환경에서의 기능들과 더 편리한 사용성을 제공하고 있습니다. 그 밖에도 홈페이지나 프로모션 페이지 같은 경우에는 SEO 최적화 및 SSR을 위해 Next.js 프레임워크를 사용하기도 합니다.
AWS기반의 클라우드 인프라 환경에서 효율적으로 서비스 개발에 집중하기 위해 RDS, Lambda, SQS, Amplify 등 다양한 관리형 서비스들을 적극적으로 활용하고 있습니다. 현재 Github Action과 Code Deploy 를 활용한 CI/CD 환경을 구성하였고, Terraform과 Serverless 를 이용한 IaC 환경을 구축하여 완전 자동화된 GitOps 환경을 만드는 것을 목표로 하고 있습니다.

현재 채용을 지속적으로 진행하고 계신데 어떤 인재분들과 함께 하고 싶으세요?

회사 채용공고에도 작성해 두었지만, 다음과 같은 부분을 가장 중요하게 생각하고 있는 인재상이며, 실제로 이러한 분들이 모여서 함께 일하고 있습니다.
사용자가 겪는 문제를 IT 기술을 통해 주도적으로 해결하려고 노력하는 사람
새로운 기술에 대해 거부감이 없고, 끊임없이 도전하길 좋아하는 사람
팀원들과 기술을 공유하고 함께 성장하는 걸 중요하게 생각하는 사람
되는 걸 만드는 것 보다 잘 되는 걸 만들기 위해 노력하는 사람
자신의 의견을 적극적으로 말할 수 있는 사람
  매스어답션 Tech Team 지원하기

매스어답션 Tech Team에 합류하게 된다면 어떤 것들을 얻을 수 있을까요?

최근 스타트업 윈터 상황 속에서 저희 매스어답션은 여전히 초고속 성장 중인 회사입니다. 저희 팀원들은 각 분야에서 높은 전문성을 바탕으로 여러 스타트업에서 초기 단계부터 수십 배 이상 성장시켜본 경험을 가진 분들이 모여 팀을 만들어 가고 있습니다. 대기업이나 빅테크 기업에서 경험할 수 없는 빠른 성장을 기대하실 수 있습니다.
최대의 자율과 권한을 바탕으로 빠르게 변하고 있는 최신 기술 트렌드에 앞장설 수 있는 환경을 만들어 드리려고 노력하고 있습니다. 개발자가 기술 개발에만 집중할 수 있는 팀으로 만들어 가는 것이 저희 팀의 목표입니다.