컬처

화해 백엔드 개발자가 답하는 9가지 Q&A

2024. 10. 05

화해 UX 리서처

 

 

 

서비스의 안정성과 성능을 책임지며, 수많은 사용자에게 원활한 경험을 제공하는 화해 백엔드팀!
화해 백엔드팀의 개발자들은 어떤 방식으로 일할까요?

 

그 궁금증을 풀기 위해 화해 백엔드팀의 용보님, 현재님, 형준님과 팀 구성, 사용하는 기술 스택, 온보딩 과정 등에 대해 솔직하고 깊이 있는 이야기를 나눠보았습니다!

 

화해 백엔드팀에 대해 더 알고 싶으시다면, 지금 바로 9가지 Q&A를 통해 그 모든 것을 확인해 보세요🤗

 

 

 


 

 

Q1. 화해 백엔드팀에 대해 소개해 주세요!

 

화해 백엔드 팀은 유저들이 화해 앱과 웹을 통해 다양한 화장품 정보와 리뷰, 성분 정보, 이벤트 등을 손쉽게 접할 수 있도록 돕고 있어요. 이 과정에서 화해 유저 및 운영자들이 여러 데이터를 입력하고 조회할 수 있는 애플리케이션(서비스)들을 만들고 있으며, 이를 안정적으로 운영해나가는 것이 주요 역할이에요.

 

현재까지 총 16명으로 구성된 화해 백엔드 팀에는 다양한 도메인의 서비스가 존재하는데요. 이러한 서비스들을 효율적으로 개발하고 운영하기 위해 백엔드 팀은 크게 공통, 서비스, 커머스의 세 가지 파트로 나누어 운영되고 있습니다.

 

 

 

Q2. 백엔드팀의 공통, 서비스, 커머스 3개의 파트는 각각 어떻게 구분되며, 어떻게 일하고 있나요?

 

아래와 같이 상세히 설명드릴 수 있을 것 같아요!

 

📌 공통 파트

공통 파트는 화해의 광고 사업 영역과 백엔드팀에서 공통으로 다루어야 하는 기술 영역을 담당하고 있어요. 현재 시니어 및 미들급 개발자 총 6명이 함께 업무를 진행하고 있습니다.

 

이곳에서는 광고주들이 화해 앱 내에서 이벤트 광고(꼼평단, 화화설) 및 노출 광고를 집행할 수 있도록 지원하는 광고주 센터와 이벤트 등록을 위한 어드민을 운영하고, 등록된 광고나 이벤트가 사용자에게 효과적으로 노출되고 참여할 수 있도록 하는 다양한 기능도 제공하고 있어요.

 

특히, 현재 공통 파트는 화해가 오랜 기간 사용해온 광고주 센터의 리뉴얼을 주요 과제로 삼아, 백엔드 팀에서 공통으로 사용하는 모듈 관리, API Gateway 통합, 모니터링 최적화 등 백엔드 팀의 공통 관심사에 해당하는 개선 작업들을 꾸준히 진행하고 있습니다.

 

📌 서비스 파트
서비스 파트는 제품, 리뷰, 성분 정보 및 화해 사용자 정보를 포함한 화해 서비스의 핵심 정보를 전반적으로 관리하고, 사용자들이 이러한 정보에 쉽게 접근할 수 있도록 다양한 기능과 어드민을 제공해요.

 

공통 파트와 마찬가지로 시니어 및 미들급 개발자 총 6명이 함께 업무를 하고,
사용자들이 다양한 제품과 상품을 적절히 추천받을 수 있도록 추천 구좌를 추가하고, 제품 상세 화면에서 더 다양한 정보에 손쉽게 접근할 수 있도록 개선하는 작업을 주요 과제로 진행하고 있어요.

 

또한, 화해의 핵심 정보를 관리하는 만큼 다른 두 파트와 협업하여 여러 기능을 개발하고 개선하는 작업도 지속적으로 진행하고 있습니다.

 

📌 커머스 파트

커머스 파트는 화해의 커머스 사업 영역을 책임져요. 이에, 상품 구매와 관련된 모든 고객 경험에 깊이 관여하고 있습니다.

 

시니어 및 미들급 개발자 총 4명으로 구성된 커머스 파트는 파트너들이 상품을 등록하고 관리할 수 있는 쇼핑센터를 운영하고, 등록된 상품과 기획전이 화해 앱 내에서 잘 노출되고 구매까지 이어질 수 있도록 각종 기능을 개발하고 관리하고 있어요.

 

새롭게 오픈된 화해 웹을 통해 사용자에게 더 나은 구매 경험을 제공하는 것을 주요 과제로 삼고, 구매 과정에서 발생할 수 있는 불편함을 지속적으로 개선해 나가는 동시에, 서비스 파트와 협력하여 사용자에게 적합한 상품을 추천하는 기능을 추가하는 업무도 함께 진행하고 있습니다.

 

💡 일하는 방식

백엔드 팀의 각 파트 리더는 전사 차원에서 관리되는 주요 과제에 대해 우선순위를 검토하고, 과제의 목적과 필요 인원에 따라 인원을 배정하고 있어요. 배정된 인원은 각 기능 조직의 구성원들과 협업하여 과제 요건과 디자인을 리뷰하고 필요한 일정을 산정하여 개발을 진행합니다.

 

과제가 완료되면 회고를 통해 발생한 이슈를 논의하고 개선책을 도출해요. 그리고 성과 측정이 완료되면 해당 과제를 리딩 했던 PO가 참여한 구성원들에게 성과 지표를 공유하여 각자가 기여한 부분의 성과를 파악할 수 있도록 하고 있어요!

 

 

 

Q3. 화해 백엔드팀의 문화는 어떠한가요?

 

개발 문화에 관심 가진 분들이라면 이미 화해가 조직 문화를 얼마나 중요하게 여기는지 느끼셨을 거예요. 2년 전에 소개해 드린 「우리는 개발 문화에 진심입니다」나, 코드 리뷰를 다룬 「지속 가능한 코드 리뷰 문화를 만드는 여정」처럼 이미 화해 블로그에 문화를 다룬 글이 존재하거든요.

 

물론 2년이라는 시간 속에서 글에서 소개한 내용을 일부 달라진 부분도 있지만, 여전히 문화를 함께 가꾼다.’라는 마음가짐은 변함없습니다.

 

구글 검색 키워드 개발 문화 첫 번째 게시물, 화해 「우리는 개발 문화에 진심입니다」

 

우선 엔지니어링 그룹은 격주에 한 번 엔지니어링 공유 세션을 운영하는데요.
플랫폼 별 현황과 고민을 나눌 뿐만 아니라, 발표 자료를 준비해 개발 관련 모든 지식을 함께 나누고 있어요. 때로는 Root Cause Analysis를 다루기도 하고, 조직 문화를 회고하며 개선점을 찾는 시간으로도 할애하죠.

 

그리고 만약 설문 조사를 진행한다면 누구나 본인 생각을 피력하도록 익명으로 진행하고, 개선 방향을 찾아 나갑니다.

 

 

24.08.14에 진행한 엔지니어링 그룹 회고

 

이 외에도 매달 도메인 리더와 원온원을 진행하면서 상호 피드백을 주고받고 있어요.
경직된 조직에 계신 분이라면 단방향 피드백으로 진행되는 원온원 자체가 스트레스로 다가오겠지만, 화해는 그렇지 않아요. 헬스 체크와 더불어 각 개인의 개발 커리어에 맞춘 고민을 함께 나누는 자리죠. 저는 원온원을 통해 혼자 막연하게 잡았던 커리어 패스를 명확하게 그림 그릴 수 있었어요. 이를 바탕으로 하나씩 계획을 세워 풀어나가는 중입니다. 원온원이 없었다면 지금보다 성장세가 더뎠을 거예요.

 

 

 

Q4. 어떤 언어와 기술 스택을 사용하나요?

 

🔎 사용 언어: Python

  • 백엔드 팀 전체가 Python을 사용해요. Python이 강타입 언어가 아니다 보니 개발 편의성을 위해 타입 힌트를 적극적으로 활용하고 있습니다.
  • Python은 유연한 언어로, 강제성이나 제약이 없는 편이지만 도메인에 따라 일부 단점으로 다가올 수 있기에 아키텍처DI(Dependency Injection) 등의 기법으로 이를 보완하여 사용하고 있어요.

 

🔎 데이터베이스: MySQL, Redis, Elasticsearch(ES)

  • RDS 인프라 운영은 devops팀에서 진행해 주시지만, RDB의 설계와 데이터에 대한 관리는 백엔드 개발자가 담당하고 있습니다.

 

🔎 프레임워크: Django, FastAPI

  • 주요 프레임워크는 Django로 약 90%의 프로젝트에 사용되며, FastAPI는 신규 프로젝트나 특정 필요에 따라 도입 중입니다.
    • Fastapi의 비동기(이벤트 루프) 함수는 아직 운영환경에서 신경 써야 할 점이나 인프라적으로 고려해야 할 사항이 많기에, 시기적으로 적절하지 않다 느껴 사용하지 않고 있어요.
  • Django ORM의 N+1 문제 및 복잡한 쿼리에서 발생하는 코드 가독성 문제를 해결하기 위해서는 SQLAlchemy를 사용합니다.

 

🔎 API 설계: RESTful 설계를 따르지만, 실무에서는 팀별로 상황에 맞춰 유연하게 변경하여 사용합니다. (EX. 프론트엔드와 협업할 때 엔드 포인트가 직관적으로 다가오지 않는다거나 리소스 별로 API를 만들 수 없고 화면 별로 만들어야 할 때 등)

 

🔎 클라우드: AWS 기반 인프라와 GCP 빅쿼리를 사용하고 있습니다.

🔎 버전 관리 시스템: GIT을 사용하여 버전 관리를 하고 있습니다.

 

 

 

 

 

 

Q5. Python, Django 사용 경험이 없어도 괜찮은가요?

 

결론부터 말씀드리자면, Python, Django 사용 경험이 없어도 괜찮습니다.

 

현재 저희 팀에는 다양한 배경을 가진 분들이 합류하고 있으며, Python이나 Django 사용 경험이 없는 분들도 많은데요. 실제로 백엔드 개발팀의 약 50%는 기존에 Java나 다른 언어만 사용하시던 분들입니다.

 

다만, 온보딩 과정에서 2~3주간의 시간을 통해 새로운 언어와 환경에 적응할 수 있도록 팀에서 충분한 지원을 드리고 있어 적응하는데 어려움은 없는 편이에요. (자세한 온보딩 과정은 아래 질문에서 보다 자세히 말씀드릴게요!)

 

실제로 저도 이전 회사에서 NestJSSpring을 사용했었는데요.
컴파일 언어에서 인터프리터 언어로 전환하는 경우였지만, 언어 및 프레임워크에 대한 큰 어려움은 없었고, 오히려 이전 직장과 달라진 새로운 배포 환경과 개발 환경 세팅이 더 낯설었던 것 같아요. 특히, 팀원들이 적극적으로 도와주신 덕분에 온보딩 과정에서 간단한 조회용 API와 테스트 케이스를 구현해 보며 빠르게 적응할 수 있었어요.

 

기존에 인터프리터 언어를 사용하셨던 분들은 친숙한 부분이 많아 쉽게 적응하실 수 있을 거고, Python 자체가 직관적이고 배우기 쉬운 언어여서 사용 경험이 없어도 부담 없이 시작할 수 있을 거예요.

 

 

 

Q6. 합류 후 온보딩은 어떻게 진행되나요?

 

온보딩은 크게 아래와 같이 진행되어요!

 

개발 환경 세팅 및 계정 발급

  • 개발 환경 설정, GitHub 및 DB 계정 발급을 진행합니다.

 

② 간단한 API 구현 및 배포

  • 초반에는 간단한 조회용 API를 구현해 보고, 개발 환경에 배포까지 진행합니다.
    • (저는 언어 경험이 없어서 간단한 조회 API였습니다. 진짜 간단합니다!)
  • 이 과정에서 온보딩 파트너인 버디즈가 전담하여 도움을 줘요. 처음에는 팀원의 시간을 너무 많이 뺏을까 걱정했지만, 빠르게 온보딩 해 팀원들의 일을 덜어주겠다는 생각으로 적극적으로 질문했습니다!😄
  • Python과 Django는 다른 언어에 비해 복잡하지 않아 쉽게 적응할 수 있었어요.

 

담당 프로젝트 코드 파악

  • 담당하게 될 프로젝트 코드에 대해 간단한 부분은 직접 파악하고, 복잡한 부분은 온보딩 파트너와 함께 미팅을 통해 해결했습니다. 예를 들어, 저는 광고 도메인을 담당하게 되었다 보니, 광고 종료 후부터 리포트 발행까지의 A to Z 과정을 코드로 살펴보고 파악해 보았습니다.
  • DB 모델링 구조 (연관관계, 제약사항, 생명주기)도 이때 파악하며, 복잡한 로직이라면 해당 코드를 구현한 팀원에게 적극적으로 문의를 하곤 해요.

 

프로젝트 투입

  • 온보딩 파트너와 협업하는 방식으로 실제 프로젝트에 투입되어요. 예를 들어, 생성 API는 제가 만들고 조회 API는 파트너가 만드는 식으로 진행되죠.
  • 작업하게 되는 에픽 단위에 따라 상이하겠지만, 약 1개월 정도 소요되었고, QA, 프론트엔드, 디자이너, PO와의 협업을 통해 실전 경험을 쌓았습니다
  • 첫 번째 에픽이 성공적으로 마무리된 후, 다른 팀원들처럼 독립적으로 일하게 되었습니다! (버디즈 완성🧑🏻‍💻)

 

 

 

Q7. 화해 백엔드 개발자로 일하면서 얻을 수 있는 경험/기회는 무엇인가요?

 

화해 백엔드 개발자로 일하면 프로젝트나 개발 지식뿐만 아니라 조직에 필요한 다양한 관점도 함께 배울 수 있습니다. 개발 과정에서 발생하는 문제나 이슈를 통해 성장하는 것은 물론, 주기적인 회고를 통해 깊이 있는 성찰과 개선의 기회를 얻어요.

 

예를 들어, 최근 한 달 동안 백엔드 커머스 파트에서 진행했던 주간 회고 주제들을 보면, 업무와 밀접한 문제뿐만 아니라 조직의 효율성과 협업을 향상시키기 위한 다양한 논의가 이루어지는데요.

 

[주간 회고 주제]
① 거름망 촘촘히 하기 회고

: 신규 작업 배포 시 발생하는 이슈를 줄이기 위해 챙겨야 할 것을 작업 단계 별로 점검해 보는 시간

 

② 도메인 내 ‘버스 팩터’ 검토
: 팀원 간 정보나 역량이 공유되지 않아 발생하는 위험 요소를 의미하는 버스 팩터를 줄이기 위한 활동으로, “만약 내가 내일부터 출근하지 못한다면 우리 파트에 발생하는 문제는 무엇일까?” 라는 질문을 통해 잠재적인 문제를 나열하고 해결 방안을 논의하는 시간

 

③ 협상에 대한 회고
: 과제를 진행하다 협상해야 하는 경우가 자주 발생하기에 요건 협의, 설계 협의, 우선순위 협의 등에 대한 이야기 나누는 시간
ex. 협상이 필요한 안건을 원하는 방향으로 이끌기 위해 노력했던 경험, 좋은 협상이 되었던 사례, 협상에 실패했던 사례, 협상을 잘하기 위해 어떤 것들이 필요한지 아이데이션 해보기

 

이러한 회고 주제들은 모두 실무와 밀접하지만, 코드와는 직접적인 연관이 없어 간과되기 쉽습니다.
하지만 화해에서는 이러한 주제들이 중요한 성찰의 기회로 활용되며, 개발자들은 단순한 기술적 역량뿐만 아니라 조직적인 관점과 협업 능력도 함께 성장시킬 수 있습니다.

 

또한, 화해에서는 데브데이해커톤과 같은 리프레시 이벤트를 통해 창의적인 아이디어를 발굴하고, 팀원들과 함께 새로운 경험을 쌓을 기회도 자주 제공됩니다.

 

 

 

 

 

 

 

Q8. 화해 백엔드 개발자로 합류하기 위한 여정은 어떻게 되나요?

 

서류 전형 > 1차 면접 > 2차 면접 > 처우 협의 > 최종 합격 순으로 진행되어요.

 

서류 전형

자유 양식의 국문 이력서 및 경력기술서, 공개 가능한 개인 프로젝트가 담긴 Github 링크 등을 받고 있어요. 이력서는 JD 기반으로 작성하는 것이 좋고 특히 화해의 기술 스택과 관련된 경험, 능동적으로 유저 문제를 해결한 사례, 그리고 자기 계발을 위해 노력한 부분을 구체적으로 작성해 주시면 더욱 좋아요.

 

1차 면접

최소 1시간에서 최대 2시간가량 화상으로 기술 면접이 진행되어요. 화해에서 중점적으로 사용하는 기술과 관련된 과제를 수행한 후, 그 과제와 이력서 바탕으로 기술적 역량과 직무 경험을 확인하는 시간을 가지고 있어요. 그리고 마지막 Q&A 시간을 통해 실무와 관련된 궁금증을 해소할 수 있습니다.

 

2차 면접

약 1시간 30분 정도 CEO 와 화상으로 진행되며, 후보자님의 경력과 화해의 문화적 적합성을 중점적으로 확인하는 시간이에요. 화해의 7가지 핵심가치를 미리 숙지하고, 본인의 경험과 어떻게 연결될 수 있는지를 생각해 본다면 면접 때 많은 도움이 될 수 있겠죠?

 

처우 협의 & 입사
연차, 경험, 역량, 인터뷰 결과 등을 고려하여 긴밀하게 처우 협의를 진행하며, 상호 간 원만한 협의가 도출되면 최종적으로 입사가 확정됩니다. 버디즈가 되신 것을 환영해요! 🙂

 

 

 

Q9. 마지막으로, 지원을 고민하고 있는 백엔드 개발자분께 하고 싶은 말은 무엇인가요?

 

버드뷰는 개발 조직뿐만 아니라 회사 전체에서 투명성을 중요시 여겨요.
리뷰 어뷰징을 방지하기 위한 시스템처럼 서비스의 투명성을 지키는 데 집중하고, 이는 조직 문화에도 그대로 반영되어 있어요.

 

많은 기업들이 타운홀 미팅을 진행하지만, 일방적인 소통에 그치는 경우가 많잖아요.
그러나 버드뷰는 격주로 타운홀 미팅을 열어 모든 정보를 조직원들과 투명하게 공유하고, 편안한 분위기 속에서 자유롭게 질문하고 즉각적인 답변을 받을 수 있어요. 다른 기업에 재직 중인 개발자들과 이야기를 나눠보아도, 화해와 같은 투명한 소통 구조를 가진 곳은 드물었어요.

 

또한, 백엔드 개발자는 프론트엔드, 안드로이드 및 iOS 클라이언트, 데브옵스 개발자와 자주 협의하며, PO(프로덕트 오너)나 디자이너와도 긴밀하게 소통하는데요. 커뮤니케이션이 서비스 개발 과정에서 중요한 역할을 하기 때문에, 능동적이고 적극적으로 소통하는 분이라면 화해에서 정말 많은 것을 얻어 가실 수 있을 거예요.

 

내’ 의견이 반영되는 기업, 멋지지 않나요? 저희와 함께 하신다면 후회하지 않으실 거예요!
앞으로도 화해에 많은 관심 부탁드리며, 많은 분들께 인정받는 기업이 되도록 더욱더 화해 문화를 가꾸어 나가겠습니다. 🙂

 

 

 


 

이 글이 마음에 드셨다면 다른 콘텐츠도 확인해 보세요!

엔지니어링 조직 총괄 리드, HoE가 바라본 화해

제1회 화해톤, 그 속에서 발견한 화해의 새로운 가치

연관 아티클