Backend Team은 어떤 일을 하고, 어떤 가치를 만드나요?
•
B2B 엔터프라이즈 데이터 관리 서비스 및 설문 운영 서비스 전반의 백엔드 업무를 담당합니다.
•
설문의 라이프사이클에는 문항 편집 → 응답자 선정 → 설문 발송 → 응답 수집 → 결과 데이터 가공 및 제공 등 단계마다 여러 가지 기술적 챌린지가 존재합니다. 예를 들어, 응답자 선정 단계에서는 ‘어떻게 우리나라 인구 통계에 맞게 수집 대상을 선정할 수 있을까’, ‘데이터 퀄리티를 높일 수 있도록 어떤 데이터를 활용해 부정 패널을 탐지하고 대상에서 제외할 수 있을까’ 등을 고민해요. 백엔드 팀은 이러한 문제를 정의하고 해결함으로써 오픈서베이가 효율적으로 데이터를 관리하고, 이를 통해 누구나 데이터를 손쉽게 다룰 수 있는 환경을 만듭니다.
Backend Team 개발자는 어떻게 일하나요?
•
구성원 전체의 이해 수준을 동일하게 맞출 수 있도록 SRS(Software Requirements Specification) 등의 문서와 코드 리뷰를 통해 커뮤니케이션을 진행합니다.
•
문제 해결의 적합한 도구와 올바른 방향을 결정할 수 있도록 기술적 결정에 ADR(Architectural Decision Records)을 적극 활용합니다.
Backend Team만의 특별한 문화가 있을까요?
•
형식/절차상으로만 존재하는 코드 리뷰가 아니라 구성원 모두가 코드 리뷰에 진심입니다.
◦
원하는 리뷰어를 지정할 수 있습니다. CTO 폴의 리뷰도 가능합니다.
◦
컨벤션에 맞지 않으면 review dog 강아지 리뷰어가 알려주기도 합니다.
•
개발 프로세스를 제안할 수 있습니다. 경험하신 좋은 문화가 있다면, task-guide에 올려서 모든 개발자들의 의견을 수렴한 후 우리만의 문화로 만들어 볼 수 있습니다.
•
업무에 대한 커뮤니케이션이 자유롭습니다. 하고 싶은 일이 있다면 손 들어서 주도적으로 참여해 볼 수 있습니다. (손 들지 않으면 업무 진행 상황을 파악해 리드가 업무를 배정합니다.)
•
회식이 (거의) 없습니다.
Backend Team 구성원으로서 중요한 역량은 무엇인가요?
•
서비스 기능 구현에 스스로 문제 정의를 하실 수 있는 역량과 해결 경험이 중요합니다.
•
SRD(System Reference Document), SDD(Software Design Description) 작성 및 코드 리뷰 등 여러 명의 구성원들과 협업 개발 리딩 경험도 중요합니다.
•
트래픽, 방어 코딩, 로깅, 예외 처리 등 안정적인 서비스 운영에 필요한 개발에 대한 이해가 필요하며, QA, 배포, 롤백, 모니터링 등 개발 프로세스에 대한 이해도 중요합니다.
Backend Team의 기술 스택
•
Java 11(or 17)
•
Kotlin
•
Gradle 7.4+
•
Spring Boot (w/ JPA, Eureka, OpenFeign)
•
Amazon Aurora 2 (MySQL 5.7 호환)
•
JUnit
•
Kubernetes
•
Argo CD
•
ELK stack
•
Redis
•
Amazon S3
•
Eclipse Collections
•
ANTLR
•
IntelliJ
•
Swagger
•
AWS SQS
•
Hibernate
•
Apache Airflow
•
Apache Spark
•
Apache Kafka
•
Vault
•
Docker
•
ElasticSearch
•
Kibana
•
hadoop
개발그룹 공통
•
GitHub
•
Jira
•
Slack
•
(Figma)